Commit ce2c403c authored by Alexander Shishkin's avatar Alexander Shishkin Committed by Dave Hansen
Browse files

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: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: default avatarAlexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: default avatarSohil Mehta <sohil.mehta@intel.com>
Acked-by: default avatarArd Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/all/20250620135325.3300848-5-kirill.shutemov%40linux.intel.com
parent e04c78d8
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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>
@@ -2529,6 +2530,12 @@ void __init arch_cpu_finalize_init(void)
	fpu__init_system();
	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.
+0 −5
Original line number Diff line number Diff line
@@ -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();