[<prev] [next>] [day] [month] [year] [list]
Message-ID: <175044206817.406.15116962193585235583.tip-bot2@tip-bot2>
Date: Fri, 20 Jun 2025 17:54:28 -0000
From: "tip-bot2 for Alexander Shishkin" <tip-bot2@...utronix.de>
To: linux-tip-commits@...r.kernel.org
Cc: "Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Sohil Mehta <sohil.mehta@...el.com>, Ard Biesheuvel <ardb@...nel.org>,
x86@...nel.org, linux-kernel@...r.kernel.org
Subject:
[tip: x86/boot] x86/efi: Move runtime service initialization to arch/x86
The following commit has been merged into the x86/boot branch of tip:
Commit-ID: ce2c403c26c1ed0e28fc541ab30fe13ff50236be
Gitweb: https://git.kernel.org/tip/ce2c403c26c1ed0e28fc541ab30fe13ff50236be
Author: Alexander Shishkin <alexander.shishkin@...ux.intel.com>
AuthorDate: Fri, 20 Jun 2025 16:53:12 +03:00
Committer: Dave Hansen <dave.hansen@...ux.intel.com>
CommitterDate: Fri, 20 Jun 2025 10:48:50 -07:00
x86/efi: Move runtime service initialization to arch/x86
The EFI call in start_kernel() is guarded by #ifdef CONFIG_X86. Move
the thing to the arch_cpu_finalize_init() path on x86 and get rid of
the #ifdef in start_kernel().
No functional change intended.
Suggested-by: Kirill A. Shutemov <kirill.shutemov@...ux.intel.com>
Signed-off-by: Alexander Shishkin <alexander.shishkin@...ux.intel.com>
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@...ux.intel.com>
Signed-off-by: Dave Hansen <dave.hansen@...ux.intel.com>
Reviewed-by: Sohil Mehta <sohil.mehta@...el.com>
Acked-by: Ard Biesheuvel <ardb@...nel.org>
Link: https://lore.kernel.org/all/20250620135325.3300848-5-kirill.shutemov%40linux.intel.com
---
arch/x86/kernel/cpu/common.c | 7 +++++++
init/main.c | 5 -----
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 8feb8fd..4f430be 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -26,6 +26,7 @@
#include <linux/pgtable.h>
#include <linux/stackprotector.h>
#include <linux/utsname.h>
+#include <linux/efi.h>
#include <asm/alternative.h>
#include <asm/cmdline.h>
@@ -2530,6 +2531,12 @@ void __init arch_cpu_finalize_init(void)
fpu__init_cpu();
/*
+ * This needs to follow the FPU initializtion, since EFI depends on it.
+ */
+ if (efi_enabled(EFI_RUNTIME_SERVICES))
+ efi_enter_virtual_mode();
+
+ /*
* Ensure that access to the per CPU representation has the initial
* boot CPU configuration.
*/
diff --git a/init/main.c b/init/main.c
index 225a582..f9f401b 100644
--- a/init/main.c
+++ b/init/main.c
@@ -53,7 +53,6 @@
#include <linux/cpuset.h>
#include <linux/memcontrol.h>
#include <linux/cgroup.h>
-#include <linux/efi.h>
#include <linux/tick.h>
#include <linux/sched/isolation.h>
#include <linux/interrupt.h>
@@ -1068,10 +1067,6 @@ void start_kernel(void)
pid_idr_init();
anon_vma_init();
-#ifdef CONFIG_X86
- if (efi_enabled(EFI_RUNTIME_SERVICES))
- efi_enter_virtual_mode();
-#endif
thread_stack_cache_init();
cred_init();
fork_init();
Powered by blists - more mailing lists