Commit 7c202575 authored by Michael Ellerman's avatar Michael Ellerman
Browse files

Merge branch 'fixes' into next

Merge our fixes branch, primarily to bring in the powernv CPU hotplug
warning fix.
parents e44ff9ea 7d647505
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -91,6 +91,7 @@

static inline void kuap_update_sr(u32 sr, u32 addr, u32 end)
{
	addr &= 0xf0000000;	/* align addr to start of segment */
	barrier();	/* make sure thread.kuap is updated before playing with SRs */
	while (addr < end) {
		mtsrin(sr, addr);
+3 −0
Original line number Diff line number Diff line
@@ -175,4 +175,7 @@ do { \
	ARCH_DLINFO_CACHE_GEOMETRY;					\
} while (0)

/* Relocate the kernel image to @final_address */
void relocate(unsigned long final_address);

#endif /* _ASM_POWERPC_ELF_H */
+13 −0
Original line number Diff line number Diff line
@@ -3249,7 +3249,20 @@ static void setup_secure_guest(unsigned long kbase, unsigned long fdt)
	/* Switch to secure mode. */
	prom_printf("Switching to secure mode.\n");

	/*
	 * The ultravisor will do an integrity check of the kernel image but we
	 * relocated it so the check will fail. Restore the original image by
	 * relocating it back to the kernel virtual base address.
	 */
	if (IS_ENABLED(CONFIG_RELOCATABLE))
		relocate(KERNELBASE);

	ret = enter_secure_mode(kbase, fdt);

	/* Relocate the kernel again. */
	if (IS_ENABLED(CONFIG_RELOCATABLE))
		relocate(kbase);

	if (ret != U_SUCCESS) {
		prom_printf("Returned %d from switching to secure mode.\n", ret);
		prom_rtas_os_term("Switch to secure mode failed.\n");
+2 −1
Original line number Diff line number Diff line
@@ -26,7 +26,8 @@ _end enter_prom $MEM_FUNCS reloc_offset __secondary_hold
__secondary_hold_acknowledge __secondary_hold_spinloop __start
logo_linux_clut224 btext_prepare_BAT
reloc_got2 kernstart_addr memstart_addr linux_banner _stext
__prom_init_toc_start __prom_init_toc_end btext_setup_display TOC."
__prom_init_toc_start __prom_init_toc_end btext_setup_display TOC.
relocate"

NM="$1"
OBJ="$2"
+1 −1
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ void pnv_pcibios_bus_add_device(struct pci_dev *pdev)
{
	struct pci_dn *pdn = pci_get_pdn(pdev);

	if (eeh_has_flag(EEH_FORCE_DISABLED))
	if (!pdn || eeh_has_flag(EEH_FORCE_DISABLED))
		return;

	dev_dbg(&pdev->dev, "EEH: Setting up device\n");
Loading