From 40897fdfae4c5ff5702333d9f9ef7d4cfab2e0a3 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 27 Jun 2024 13:29:47 +0200 Subject: [PATCH] drop a efi 6.6 patch that caused build problems --- ...rectly-position-the-loaded-image-fil.patch | 44 +--- ...-move-screen_info-into-efi-init-code.patch | 228 ------------------ queue-6.6/series | 1 - 3 files changed, 13 insertions(+), 260 deletions(-) delete mode 100644 queue-6.6/efi-move-screen_info-into-efi-init-code.patch diff --git a/queue-6.6/efi-loongarch-directly-position-the-loaded-image-fil.patch b/queue-6.6/efi-loongarch-directly-position-the-loaded-image-fil.patch index 401bfc7e5e2..c49cf2987fb 100644 --- a/queue-6.6/efi-loongarch-directly-position-the-loaded-image-fil.patch +++ b/queue-6.6/efi-loongarch-directly-position-the-loaded-image-fil.patch @@ -20,29 +20,25 @@ Signed-off-by: Ard Biesheuvel Stable-dep-of: beb2800074c1 ("LoongArch: Fix entry point in kernel image header") Signed-off-by: Sasha Levin --- - arch/loongarch/include/asm/efi.h | 2 -- - arch/loongarch/kernel/head.S | 1 - - arch/loongarch/kernel/image-vars.h | 1 - - arch/loongarch/kernel/vmlinux.lds.S | 1 - - drivers/firmware/efi/libstub/loongarch-stub.c | 9 +++++---- - drivers/firmware/efi/libstub/loongarch-stub.h | 4 ++++ - drivers/firmware/efi/libstub/loongarch.c | 6 ++++-- + arch/loongarch/include/asm/efi.h | 2 -- + arch/loongarch/kernel/head.S | 1 - + arch/loongarch/kernel/image-vars.h | 1 - + arch/loongarch/kernel/vmlinux.lds.S | 1 - + drivers/firmware/efi/libstub/loongarch-stub.c | 9 +++++---- + drivers/firmware/efi/libstub/loongarch-stub.h | 4 ++++ + drivers/firmware/efi/libstub/loongarch.c | 6 ++++-- 7 files changed, 13 insertions(+), 11 deletions(-) create mode 100644 drivers/firmware/efi/libstub/loongarch-stub.h -diff --git a/arch/loongarch/include/asm/efi.h b/arch/loongarch/include/asm/efi.h -index 91d81f9730ab3..eddc8e79b3fae 100644 --- a/arch/loongarch/include/asm/efi.h +++ b/arch/loongarch/include/asm/efi.h -@@ -32,6 +32,4 @@ static inline unsigned long efi_get_kimg_min_align(void) +@@ -32,6 +32,4 @@ static inline unsigned long efi_get_kimg #define EFI_KIMG_PREFERRED_ADDRESS PHYSADDR(VMLINUX_LOAD_ADDRESS) -unsigned long kernel_entry_address(unsigned long kernel_addr); - #endif /* _ASM_LOONGARCH_EFI_H */ -diff --git a/arch/loongarch/kernel/head.S b/arch/loongarch/kernel/head.S -index 53b883db07862..0ecab42163928 100644 --- a/arch/loongarch/kernel/head.S +++ b/arch/loongarch/kernel/head.S @@ -34,7 +34,6 @@ pe_header: @@ -53,8 +49,6 @@ index 53b883db07862..0ecab42163928 100644 #endif -diff --git a/arch/loongarch/kernel/image-vars.h b/arch/loongarch/kernel/image-vars.h -index 5087416b9678d..41ddcf56d21c7 100644 --- a/arch/loongarch/kernel/image-vars.h +++ b/arch/loongarch/kernel/image-vars.h @@ -11,7 +11,6 @@ __efistub_strcmp = strcmp; @@ -62,11 +56,9 @@ index 5087416b9678d..41ddcf56d21c7 100644 __efistub_kernel_asize = kernel_asize; __efistub_kernel_fsize = kernel_fsize; -__efistub_kernel_offset = kernel_offset; - #if defined(CONFIG_EFI_EARLYCON) || defined(CONFIG_SYSFB) __efistub_screen_info = screen_info; + #endif -diff --git a/arch/loongarch/kernel/vmlinux.lds.S b/arch/loongarch/kernel/vmlinux.lds.S -index bb2ec86f37a8e..a5d0cd2035da0 100644 --- a/arch/loongarch/kernel/vmlinux.lds.S +++ b/arch/loongarch/kernel/vmlinux.lds.S @@ -143,7 +143,6 @@ SECTIONS @@ -77,8 +69,6 @@ index bb2ec86f37a8e..a5d0cd2035da0 100644 #endif .gptab.sdata : { -diff --git a/drivers/firmware/efi/libstub/loongarch-stub.c b/drivers/firmware/efi/libstub/loongarch-stub.c -index d6ec5d4b8dbe0..736b6aae323d3 100644 --- a/drivers/firmware/efi/libstub/loongarch-stub.c +++ b/drivers/firmware/efi/libstub/loongarch-stub.c @@ -8,10 +8,10 @@ @@ -93,7 +83,7 @@ index d6ec5d4b8dbe0..736b6aae323d3 100644 extern int kernel_entry; efi_status_t handle_kernel_image(unsigned long *image_addr, -@@ -24,7 +24,7 @@ efi_status_t handle_kernel_image(unsigned long *image_addr, +@@ -24,7 +24,7 @@ efi_status_t handle_kernel_image(unsigne efi_status_t status; unsigned long kernel_addr = 0; @@ -102,7 +92,7 @@ index d6ec5d4b8dbe0..736b6aae323d3 100644 status = efi_relocate_kernel(&kernel_addr, kernel_fsize, kernel_asize, EFI_KIMG_PREFERRED_ADDRESS, efi_get_kimg_min_align(), 0x0); -@@ -35,9 +35,10 @@ efi_status_t handle_kernel_image(unsigned long *image_addr, +@@ -35,9 +35,10 @@ efi_status_t handle_kernel_image(unsigne return status; } @@ -115,9 +105,6 @@ index d6ec5d4b8dbe0..736b6aae323d3 100644 return (unsigned long)&kernel_entry - base + kernel_addr; } -diff --git a/drivers/firmware/efi/libstub/loongarch-stub.h b/drivers/firmware/efi/libstub/loongarch-stub.h -new file mode 100644 -index 0000000000000..cd015955a0152 --- /dev/null +++ b/drivers/firmware/efi/libstub/loongarch-stub.h @@ -0,0 +1,4 @@ @@ -125,8 +112,6 @@ index 0000000000000..cd015955a0152 + +unsigned long kernel_entry_address(unsigned long kernel_addr, + efi_loaded_image_t *image); -diff --git a/drivers/firmware/efi/libstub/loongarch.c b/drivers/firmware/efi/libstub/loongarch.c -index 0e0aa6cda73f7..684c9354637c6 100644 --- a/drivers/firmware/efi/libstub/loongarch.c +++ b/drivers/firmware/efi/libstub/loongarch.c @@ -8,6 +8,7 @@ @@ -137,7 +122,7 @@ index 0e0aa6cda73f7..684c9354637c6 100644 typedef void __noreturn (*kernel_entry_t)(bool efi, unsigned long cmdline, unsigned long systab); -@@ -37,7 +38,8 @@ static efi_status_t exit_boot_func(struct efi_boot_memmap *map, void *priv) +@@ -37,7 +38,8 @@ static efi_status_t exit_boot_func(struc return EFI_SUCCESS; } @@ -147,7 +132,7 @@ index 0e0aa6cda73f7..684c9354637c6 100644 { return *(unsigned long *)(kernel_addr + 8) - VMLINUX_LOAD_ADDRESS + kernel_addr; } -@@ -73,7 +75,7 @@ efi_status_t efi_boot_kernel(void *handle, efi_loaded_image_t *image, +@@ -73,7 +75,7 @@ efi_status_t efi_boot_kernel(void *handl csr_write64(CSR_DMW0_INIT, LOONGARCH_CSR_DMWIN0); csr_write64(CSR_DMW1_INIT, LOONGARCH_CSR_DMWIN1); @@ -156,6 +141,3 @@ index 0e0aa6cda73f7..684c9354637c6 100644 real_kernel_entry(true, (unsigned long)cmdline_ptr, (unsigned long)efi_system_table); --- -2.43.0 - diff --git a/queue-6.6/efi-move-screen_info-into-efi-init-code.patch b/queue-6.6/efi-move-screen_info-into-efi-init-code.patch deleted file mode 100644 index 0ff696828b9..00000000000 --- a/queue-6.6/efi-move-screen_info-into-efi-init-code.patch +++ /dev/null @@ -1,228 +0,0 @@ -From febffe2fbf0547a71e8f44c3a54ae7a8dd546015 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 17 Oct 2023 11:39:46 +0200 -Subject: efi: move screen_info into efi init code - -From: Arnd Bergmann - -[ Upstream commit b8466fe82b79215b9ae28623a87c9a937ebd4f80 ] - -After the vga console no longer relies on global screen_info, there are -only two remaining use cases: - - - on the x86 architecture, it is used for multiple boot methods - (bzImage, EFI, Xen, kexec) to commucate the initial VGA or framebuffer - settings to a number of device drivers. - - - on other architectures, it is only used as part of the EFI stub, - and only for the three sysfb framebuffers (simpledrm, simplefb, efifb). - -Remove the duplicate data structure definitions by moving it into the -efi-init.c file that sets it up initially for the EFI case, leaving x86 -as an exception that retains its own definition for non-EFI boots. - -The added #ifdefs here are optional, I added them to further limit the -reach of screen_info to configurations that have at least one of the -users enabled. - -Reviewed-by: Ard Biesheuvel -Reviewed-by: Javier Martinez Canillas -Acked-by: Helge Deller -Signed-off-by: Arnd Bergmann -Link: https://lore.kernel.org/r/20231017093947.3627976-1-arnd@kernel.org -Signed-off-by: Greg Kroah-Hartman -Stable-dep-of: beb2800074c1 ("LoongArch: Fix entry point in kernel image header") -Signed-off-by: Sasha Levin ---- - arch/arm64/kernel/efi.c | 4 ---- - arch/arm64/kernel/image-vars.h | 2 ++ - arch/loongarch/kernel/efi.c | 8 +++++++- - arch/loongarch/kernel/image-vars.h | 2 ++ - arch/loongarch/kernel/setup.c | 5 ----- - arch/riscv/kernel/image-vars.h | 2 ++ - arch/riscv/kernel/setup.c | 5 ----- - drivers/firmware/efi/efi-init.c | 14 +++++++++++++- - drivers/firmware/efi/libstub/efi-stub-entry.c | 8 +++++++- - 9 files changed, 33 insertions(+), 17 deletions(-) - -diff --git a/arch/arm64/kernel/efi.c b/arch/arm64/kernel/efi.c -index 2b478ca356b00..52089f111c8db 100644 ---- a/arch/arm64/kernel/efi.c -+++ b/arch/arm64/kernel/efi.c -@@ -71,10 +71,6 @@ static __init pteval_t create_mapping_protection(efi_memory_desc_t *md) - return pgprot_val(PAGE_KERNEL_EXEC); - } - --/* we will fill this structure from the stub, so don't put it in .bss */ --struct screen_info screen_info __section(".data"); --EXPORT_SYMBOL(screen_info); -- - int __init efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md) - { - pteval_t prot_val = create_mapping_protection(md); -diff --git a/arch/arm64/kernel/image-vars.h b/arch/arm64/kernel/image-vars.h -index 35f3c79595137..5e4dc72ab1bda 100644 ---- a/arch/arm64/kernel/image-vars.h -+++ b/arch/arm64/kernel/image-vars.h -@@ -27,7 +27,9 @@ PROVIDE(__efistub__text = _text); - PROVIDE(__efistub__end = _end); - PROVIDE(__efistub___inittext_end = __inittext_end); - PROVIDE(__efistub__edata = _edata); -+#if defined(CONFIG_EFI_EARLYCON) || defined(CONFIG_SYSFB) - PROVIDE(__efistub_screen_info = screen_info); -+#endif - PROVIDE(__efistub__ctype = _ctype); - - PROVIDE(__pi___memcpy = __pi_memcpy); -diff --git a/arch/loongarch/kernel/efi.c b/arch/loongarch/kernel/efi.c -index 9fc10cea21e10..acb5d3385675c 100644 ---- a/arch/loongarch/kernel/efi.c -+++ b/arch/loongarch/kernel/efi.c -@@ -68,6 +68,11 @@ void __init efi_runtime_init(void) - - unsigned long __initdata screen_info_table = EFI_INVALID_TABLE_ADDR; - -+#if defined(CONFIG_SYSFB) || defined(CONFIG_EFI_EARLYCON) -+struct screen_info screen_info __section(".data"); -+EXPORT_SYMBOL_GPL(screen_info); -+#endif -+ - static void __init init_screen_info(void) - { - struct screen_info *si; -@@ -115,7 +120,8 @@ void __init efi_init(void) - - set_bit(EFI_CONFIG_TABLES, &efi.flags); - -- init_screen_info(); -+ if (IS_ENABLED(CONFIG_EFI_EARLYCON) || IS_ENABLED(CONFIG_SYSFB)) -+ init_screen_info(); - - if (boot_memmap == EFI_INVALID_TABLE_ADDR) - return; -diff --git a/arch/loongarch/kernel/image-vars.h b/arch/loongarch/kernel/image-vars.h -index e561989d02de9..5087416b9678d 100644 ---- a/arch/loongarch/kernel/image-vars.h -+++ b/arch/loongarch/kernel/image-vars.h -@@ -12,7 +12,9 @@ __efistub_kernel_entry = kernel_entry; - __efistub_kernel_asize = kernel_asize; - __efistub_kernel_fsize = kernel_fsize; - __efistub_kernel_offset = kernel_offset; -+#if defined(CONFIG_EFI_EARLYCON) || defined(CONFIG_SYSFB) - __efistub_screen_info = screen_info; -+#endif - - #endif - -diff --git a/arch/loongarch/kernel/setup.c b/arch/loongarch/kernel/setup.c -index 6748d7f3f2219..6464e1eac4cbd 100644 ---- a/arch/loongarch/kernel/setup.c -+++ b/arch/loongarch/kernel/setup.c -@@ -16,7 +16,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -57,10 +56,6 @@ - #define SMBIOS_CORE_PACKAGE_OFFSET 0x23 - #define LOONGSON_EFI_ENABLE (1 << 3) - --#ifdef CONFIG_EFI --struct screen_info screen_info __section(".data"); --#endif -- - unsigned long fw_arg0, fw_arg1, fw_arg2; - DEFINE_PER_CPU(unsigned long, kernelsp); - struct cpuinfo_loongarch cpu_data[NR_CPUS] __read_mostly; -diff --git a/arch/riscv/kernel/image-vars.h b/arch/riscv/kernel/image-vars.h -index ea1a10355ce90..3df30dd1c458b 100644 ---- a/arch/riscv/kernel/image-vars.h -+++ b/arch/riscv/kernel/image-vars.h -@@ -28,7 +28,9 @@ __efistub__start_kernel = _start_kernel; - __efistub__end = _end; - __efistub__edata = _edata; - __efistub___init_text_end = __init_text_end; -+#if defined(CONFIG_EFI_EARLYCON) || defined(CONFIG_SYSFB) - __efistub_screen_info = screen_info; -+#endif - - #endif - -diff --git a/arch/riscv/kernel/setup.c b/arch/riscv/kernel/setup.c -index ddadee6621f0d..1befd73a12505 100644 ---- a/arch/riscv/kernel/setup.c -+++ b/arch/riscv/kernel/setup.c -@@ -15,7 +15,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -40,10 +39,6 @@ - - #include "head.h" - --#if defined(CONFIG_EFI) --struct screen_info screen_info __section(".data"); --#endif -- - /* - * The lucky hart to first increment this variable will boot the other cores. - * This is used before the kernel initializes the BSS so it can't be in the -diff --git a/drivers/firmware/efi/efi-init.c b/drivers/firmware/efi/efi-init.c -index 59b0d7197b685..a00e07b853f22 100644 ---- a/drivers/firmware/efi/efi-init.c -+++ b/drivers/firmware/efi/efi-init.c -@@ -55,6 +55,15 @@ static phys_addr_t __init efi_to_phys(unsigned long addr) - - extern __weak const efi_config_table_type_t efi_arch_tables[]; - -+/* -+ * x86 defines its own screen_info and uses it even without EFI, -+ * everything else can get it from here. -+ */ -+#if !defined(CONFIG_X86) && (defined(CONFIG_SYSFB) || defined(CONFIG_EFI_EARLYCON)) -+struct screen_info screen_info __section(".data"); -+EXPORT_SYMBOL_GPL(screen_info); -+#endif -+ - static void __init init_screen_info(void) - { - struct screen_info *si; -@@ -241,5 +250,8 @@ void __init efi_init(void) - memblock_reserve(data.phys_map & PAGE_MASK, - PAGE_ALIGN(data.size + (data.phys_map & ~PAGE_MASK))); - -- init_screen_info(); -+ if (IS_ENABLED(CONFIG_X86) || -+ IS_ENABLED(CONFIG_SYSFB) || -+ IS_ENABLED(CONFIG_EFI_EARLYCON)) -+ init_screen_info(); - } -diff --git a/drivers/firmware/efi/libstub/efi-stub-entry.c b/drivers/firmware/efi/libstub/efi-stub-entry.c -index 2f1902e5d4075..a6c0498351905 100644 ---- a/drivers/firmware/efi/libstub/efi-stub-entry.c -+++ b/drivers/firmware/efi/libstub/efi-stub-entry.c -@@ -13,7 +13,13 @@ struct screen_info *alloc_screen_info(void) - { - if (IS_ENABLED(CONFIG_ARM)) - return __alloc_screen_info(); -- return (void *)&screen_info + screen_info_offset; -+ -+ if (IS_ENABLED(CONFIG_X86) || -+ IS_ENABLED(CONFIG_EFI_EARLYCON) || -+ IS_ENABLED(CONFIG_SYSFB)) -+ return (void *)&screen_info + screen_info_offset; -+ -+ return NULL; - } - - /* --- -2.43.0 - diff --git a/queue-6.6/series b/queue-6.6/series index bbfb5067fd9..0bf58dae3f3 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -181,7 +181,6 @@ x86-cpu-fix-x86_match_cpu-to-match-just-x86_vendor_i.patch riscv-don-t-use-pgd-entries-for-the-linear-mapping.patch riscv-force-page_size-linear-mapping-if-debug_pageal.patch vgacon-rework-screen_info-ifdef-checks.patch -efi-move-screen_info-into-efi-init-code.patch efi-loongarch-directly-position-the-loaded-image-fil.patch loongarch-fix-entry-point-in-kernel-image-header.patch drm-amd-display-revert-exit-idle-optimizations-before-hdcp-execution.patch -- 2.47.3