summaryrefslogtreecommitdiffstats
path: root/init/main.c
diff options
context:
space:
mode:
authorJosh Triplett <josh@joshtriplett.org>2012-09-29 02:55:44 +0200
committerH. Peter Anvin <hpa@linux.intel.com>2012-09-29 21:21:01 +0200
commit785107923a83d8456bbd8564e288a24d84109a46 (patch)
treecda886bdf9d5f33a524b740e7807d17e079cb6b7 /init/main.c
parentMerge branch 'x86/efi/for-linus' of git://git.kernel.org/pub/scm/linux/kernel... (diff)
downloadlinux-785107923a83d8456bbd8564e288a24d84109a46.tar.xz
linux-785107923a83d8456bbd8564e288a24d84109a46.zip
efi: Defer freeing boot services memory until after ACPI init
Some new ACPI 5.0 tables reference resources stored in boot services memory, so keep that memory around until we have ACPI and can extract data from it. Signed-off-by: Josh Triplett <josh@joshtriplett.org> Link: http://lkml.kernel.org/r/baaa6d44bdc4eb0c58e5d1b4ccd2c729f854ac55.1348876882.git.josh@joshtriplett.org Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'init/main.c')
-rw-r--r--init/main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/init/main.c b/init/main.c
index b28673087ac0..d61ec542205c 100644
--- a/init/main.c
+++ b/init/main.c
@@ -631,6 +631,9 @@ asmlinkage void __init start_kernel(void)
acpi_early_init(); /* before LAPIC and SMP init */
sfi_init_late();
+ if (efi_enabled)
+ efi_free_boot_services();
+
ftrace_init();
/* Do the rest non-__init'ed, we're now alive */