mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08: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@linux.intel.com> Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Reviewed-by: Sohil Mehta <sohil.mehta@intel.com> Acked-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/all/20250620135325.3300848-5-kirill.shutemov%40linux.intel.com
This commit is contained in:
parent
e04c78d86a
commit
ce2c403c26
@ -26,6 +26,7 @@
|
|||||||
#include <linux/pgtable.h>
|
#include <linux/pgtable.h>
|
||||||
#include <linux/stackprotector.h>
|
#include <linux/stackprotector.h>
|
||||||
#include <linux/utsname.h>
|
#include <linux/utsname.h>
|
||||||
|
#include <linux/efi.h>
|
||||||
|
|
||||||
#include <asm/alternative.h>
|
#include <asm/alternative.h>
|
||||||
#include <asm/cmdline.h>
|
#include <asm/cmdline.h>
|
||||||
@ -2529,6 +2530,12 @@ void __init arch_cpu_finalize_init(void)
|
|||||||
fpu__init_system();
|
fpu__init_system();
|
||||||
fpu__init_cpu();
|
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
|
* Ensure that access to the per CPU representation has the initial
|
||||||
* boot CPU configuration.
|
* boot CPU configuration.
|
||||||
|
@ -53,7 +53,6 @@
|
|||||||
#include <linux/cpuset.h>
|
#include <linux/cpuset.h>
|
||||||
#include <linux/memcontrol.h>
|
#include <linux/memcontrol.h>
|
||||||
#include <linux/cgroup.h>
|
#include <linux/cgroup.h>
|
||||||
#include <linux/efi.h>
|
|
||||||
#include <linux/tick.h>
|
#include <linux/tick.h>
|
||||||
#include <linux/sched/isolation.h>
|
#include <linux/sched/isolation.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
@ -1068,10 +1067,6 @@ void start_kernel(void)
|
|||||||
|
|
||||||
pid_idr_init();
|
pid_idr_init();
|
||||||
anon_vma_init();
|
anon_vma_init();
|
||||||
#ifdef CONFIG_X86
|
|
||||||
if (efi_enabled(EFI_RUNTIME_SERVICES))
|
|
||||||
efi_enter_virtual_mode();
|
|
||||||
#endif
|
|
||||||
thread_stack_cache_init();
|
thread_stack_cache_init();
|
||||||
cred_init();
|
cred_init();
|
||||||
fork_init();
|
fork_init();
|
||||||
|
Loading…
Reference in New Issue
Block a user