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

Commit dc303408 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull more powerpc updates from Michael Ellerman:
 "Here's some more updates for powerpc for 3.18.

  They are a bit late I know, though must are actually bug fixes.  In my
  defence I nearly cut the top of my finger off last weekend in a
  gruesome bike maintenance accident, so I spent a good part of the week
  waiting around for doctors.  True story, I can send photos if you like :)

  Probably the most interesting fix is the sys_call_table one, which
  enables syscall tracing for powerpc.  There's a fix for HMI handling
  for old firmware, more endian fixes for firmware interfaces, more EEH
  fixes, Anton fixed our routine that gets the current stack pointer,
  and a few other misc bits"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (22 commits)
  powerpc: Only do dynamic DMA zone limits on platforms that need it
  powerpc: sync pseries_le_defconfig with pseries_defconfig
  powerpc: Add printk levels to setup_system output
  powerpc/vphn: NUMA node code expects big-endian
  powerpc/msi: Use WARN_ON() in msi bitmap selftests
  powerpc/msi: Fix the msi bitmap alignment tests
  powerpc/eeh: Block CFG upon frozen Shiner adapter
  powerpc/eeh: Don't collect logs on PE with blocked config space
  powerpc/eeh: Block PCI config access upon frozen PE
  powerpc/pseries: Drop config requests in EEH accessors
  powerpc/powernv: Drop config requests in EEH accessors
  powerpc/eeh: Rename flag EEH_PE_RESET to EEH_PE_CFG_BLOCKED
  powerpc/eeh: Fix condition for isolated state
  powerpc/pseries: Make CPU hotplug path endian safe
  powerpc/pseries: Use dump_stack instead of show_stack
  powerpc: Rename __get_SP() to current_stack_pointer()
  powerpc: Reimplement __get_SP() as a function not a define
  powerpc/numa: Add ability to disable and debug topology updates
  powerpc/numa: check error return from proc_create
  powerpc/powernv: Fallback to old HMI handling behavior for old firmware
  ...
parents c4301c32 e89dafb5
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -3465,6 +3465,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
			e.g. base its process migration decisions on it.
			e.g. base its process migration decisions on it.
			Default is on.
			Default is on.


	topology_updates= [KNL, PPC, NUMA]
			Format: {off}
			Specify if the kernel should ignore (off)
			topology updates sent by the hypervisor to this
			LPAR.

	tp720=		[HW,PS2]
	tp720=		[HW,PS2]


	tpm_suspend_pcr=[HW,TPM]
	tpm_suspend_pcr=[HW,TPM]
+6 −1
Original line number Original line Diff line number Diff line
@@ -48,7 +48,6 @@ CONFIG_KEXEC=y
CONFIG_IRQ_ALL_CPUS=y
CONFIG_IRQ_ALL_CPUS=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_CMA=y
CONFIG_PPC_64K_PAGES=y
CONFIG_PPC_64K_PAGES=y
CONFIG_PPC_SUBPAGE_PROT=y
CONFIG_PPC_SUBPAGE_PROT=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_SMT=y
@@ -138,6 +137,7 @@ CONFIG_NETCONSOLE=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NETPOLL_TRAP=y
CONFIG_TUN=m
CONFIG_TUN=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_NET=m
CONFIG_VHOST_NET=m
CONFIG_VORTEX=y
CONFIG_VORTEX=y
CONFIG_ACENIC=m
CONFIG_ACENIC=m
CONFIG_ACENIC_OMIT_TIGON_I=y
CONFIG_ACENIC_OMIT_TIGON_I=y
@@ -303,4 +303,9 @@ CONFIG_CRYPTO_LZO=m
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_ANSI_CPRNG is not set
CONFIG_CRYPTO_DEV_NX=y
CONFIG_CRYPTO_DEV_NX=y
CONFIG_CRYPTO_DEV_NX_ENCRYPT=m
CONFIG_CRYPTO_DEV_NX_ENCRYPT=m
CONFIG_VIRTUALIZATION=y
CONFIG_KVM_BOOK3S_64=m
CONFIG_KVM_BOOK3S_64_HV=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+2 −1
Original line number Original line Diff line number Diff line
@@ -71,9 +71,10 @@ struct device_node;


#define EEH_PE_ISOLATED		(1 << 0)	/* Isolated PE		*/
#define EEH_PE_ISOLATED		(1 << 0)	/* Isolated PE		*/
#define EEH_PE_RECOVERING	(1 << 1)	/* Recovering PE	*/
#define EEH_PE_RECOVERING	(1 << 1)	/* Recovering PE	*/
#define EEH_PE_RESET		(1 << 2)	/* PE reset in progress	*/
#define EEH_PE_CFG_BLOCKED	(1 << 2)	/* Block config access	*/


#define EEH_PE_KEEP		(1 << 8)	/* Keep PE on hotplug	*/
#define EEH_PE_KEEP		(1 << 8)	/* Keep PE on hotplug	*/
#define EEH_PE_CFG_RESTRICTED	(1 << 9)	/* Block config on error */


struct eeh_pe {
struct eeh_pe {
	int type;			/* PE type: PHB/Bus/Device	*/
	int type;			/* PE type: PHB/Bus/Device	*/
+1 −1
Original line number Original line Diff line number Diff line
@@ -34,7 +34,7 @@
	do {							\
	do {							\
		(regs)->result = 0;				\
		(regs)->result = 0;				\
		(regs)->nip = __ip;				\
		(regs)->nip = __ip;				\
		(regs)->gpr[1] = *(unsigned long *)__get_SP();	\
		(regs)->gpr[1] = current_stack_pointer();	\
		asm volatile("mfmsr %0" : "=r" ((regs)->msr));	\
		asm volatile("mfmsr %0" : "=r" ((regs)->msr));	\
	} while (0)
	} while (0)
#endif
#endif
+1 −2
Original line number Original line Diff line number Diff line
@@ -1265,8 +1265,7 @@ static inline unsigned long mfvtb (void)


#define proc_trap()	asm volatile("trap")
#define proc_trap()	asm volatile("trap")


#define __get_SP()	({unsigned long sp; \
extern unsigned long current_stack_pointer(void);
			asm volatile("mr %0,1": "=r" (sp)); sp;})


extern unsigned long scom970_read(unsigned int address);
extern unsigned long scom970_read(unsigned int address);
extern void scom970_write(unsigned int address, unsigned long value);
extern void scom970_write(unsigned int address, unsigned long value);
Loading