Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7c3ae25 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull powerpc fixes from Ben Herrenschmidt:
 "Here are a few more powerpc fixes for 3.16

  There's a small series of 3 patches that fix saving/restoring MMUCR2
  when using KVM without which perf goes completely bonkers in the host
  system.  Another perf fix from Anton that's been rotting away in
  patchwork due to my poor eyesight, a couple of compile fixes, a little
  addition to the WSP removal by Michael (removing a bit more dead
  stuff) and a fix for an embarassing regression with our soft irq
  masking"

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
  powerpc/perf: Never program book3s PMCs with values >= 0x80000000
  powerpc: Disable RELOCATABLE for COMPILE_TEST with PPC64
  powerpc/perf: Clear MMCR2 when enabling PMU
  powerpc/perf: Add PPMU_ARCH_207S define
  powerpc/kvm: Remove redundant save of SIER AND MMCR2
  powerpc/powernv: Check for IRQHAPPENED before sleeping
  powerpc: Clean up MMU_FTRS_A2 and MMU_FTR_TYPE_3E
  powerpc/cell: Fix compilation with CONFIG_COREDUMP=n
parents 85d90fae f5602941
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -414,7 +414,7 @@ config KEXEC
config CRASH_DUMP
	bool "Build a kdump crash kernel"
	depends on PPC64 || 6xx || FSL_BOOKE || (44x && !SMP)
	select RELOCATABLE if PPC64 || 44x || FSL_BOOKE
	select RELOCATABLE if (PPC64 && !COMPILE_TEST) || 44x || FSL_BOOKE
	help
	  Build a kernel suitable for use as a kdump capture kernel.
	  The same kernel binary can be used as production kernel and dump
@@ -1017,6 +1017,7 @@ endmenu
if PPC64
config RELOCATABLE
	bool "Build a relocatable kernel"
	depends on !COMPILE_TEST
	select NONSTATIC_KERNEL
	help
	  This builds a kernel image that is capable of running anywhere
+1 −9
Original line number Diff line number Diff line
@@ -19,8 +19,7 @@
#define MMU_FTR_TYPE_40x		ASM_CONST(0x00000004)
#define MMU_FTR_TYPE_44x		ASM_CONST(0x00000008)
#define MMU_FTR_TYPE_FSL_E		ASM_CONST(0x00000010)
#define MMU_FTR_TYPE_3E			ASM_CONST(0x00000020)
#define MMU_FTR_TYPE_47x		ASM_CONST(0x00000040)
#define MMU_FTR_TYPE_47x		ASM_CONST(0x00000020)

/*
 * This is individual features
@@ -106,13 +105,6 @@
				MMU_FTR_CI_LARGE_PAGE
#define MMU_FTRS_PA6T		MMU_FTRS_DEFAULT_HPTE_ARCH_V2 | \
				MMU_FTR_CI_LARGE_PAGE | MMU_FTR_NO_SLBIE_B
#define MMU_FTRS_A2		MMU_FTR_TYPE_3E | MMU_FTR_USE_TLBILX | \
				MMU_FTR_USE_TLBIVAX_BCAST | \
				MMU_FTR_LOCK_BCAST_INVAL | \
				MMU_FTR_USE_TLBRSRV | \
				MMU_FTR_USE_PAIRED_MAS | \
				MMU_FTR_TLBIEL | \
				MMU_FTR_16M_PAGE
#ifndef __ASSEMBLY__
#include <asm/cputable.h>

+1 −2
Original line number Diff line number Diff line
@@ -61,8 +61,7 @@ struct power_pmu {
#define PPMU_SIAR_VALID		0x00000010 /* Processor has SIAR Valid bit */
#define PPMU_HAS_SSLOT		0x00000020 /* Has sampled slot in MMCRA */
#define PPMU_HAS_SIER		0x00000040 /* Has SIER */
#define PPMU_BHRB		0x00000080 /* has BHRB feature enabled */
#define PPMU_EBB		0x00000100 /* supports event based branch */
#define PPMU_ARCH_207S		0x00000080 /* PMC is architecture v2.07S */

/*
 * Values for flags to get_alternatives()
+1 −1
Original line number Diff line number Diff line
@@ -131,7 +131,7 @@ _GLOBAL(power7_nap)

_GLOBAL(power7_sleep)
	li	r3,1
	li	r4,0
	li	r4,1
	b	power7_powersave_common
	/* No return */

+0 −5
Original line number Diff line number Diff line
@@ -127,11 +127,6 @@ BEGIN_FTR_SECTION
	stw	r10, HSTATE_PMC + 24(r13)
	stw	r11, HSTATE_PMC + 28(r13)
END_FTR_SECTION_IFSET(CPU_FTR_ARCH_201)
BEGIN_FTR_SECTION
	mfspr	r9, SPRN_SIER
	std	r8, HSTATE_MMCR + 40(r13)
	std	r9, HSTATE_MMCR + 48(r13)
END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S)
31:

	/*
Loading