summaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorDou Liyang <douly.fnst@cn.fujitsu.com>2017-09-13 05:17:54 -0400
committerThomas Gleixner <tglx@linutronix.de>2017-09-27 03:37:41 -0400
commit9c71206d060d4e84896f3bd680319b29fe88b8e8 (patch)
tree85f8dd993dd810fd5afd37316aa89a278ffcbfe7 /init
parentd6ffc6ac83b1f9f12652d89b9cb5bcbfbea7796c (diff)
ACPI/init: Invoke early ACPI initialization earlier
acpi_early_init() unmaps the temporary ACPI Table mappings which are used in the early startup code and prepares for permanent table mappings. Before the consolidation of the x86 APIC setup code the invocation of acpi_early_init() happened before the interrupt remapping unit was initialized. With the rework the remapping unit initialization moved in front of acpi_early_init() which causes an ACPI warning when the ACPI root tables get reallocated afterwards. Invoke acpi_early_init() before late_time_init() which is before the access to the DMAR tables happens. Fixes: 935356cecda8 ("x86/apic: Initialize interrupt mode after timer init") Reported-by: Xiaolong Ye <xiaolong.ye@intel.com> Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com> Cc: Tony Luck <tony.luck@intel.com> Cc: linux-ia64@vger.kernel.org Cc: bhe@redhat.com Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> Cc: Will Deacon <will.deacon@arm.com> Cc: linux-acpi@vger.kernel.org Cc: bp@alien8.de Cc: Lv" <lv.zheng@intel.com> Cc: yinghai@kernel.org Cc: linux-arm-kernel@lists.infradead.org Link: https://lkml.kernel.org/r/1505294274-441-1-git-send-email-douly.fnst@cn.fujitsu.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'init')
-rw-r--r--init/main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/init/main.c b/init/main.c
index 0ee9c6866ada..2fb98a48b6ae 100644
--- a/init/main.c
+++ b/init/main.c
@@ -664,12 +664,12 @@ asmlinkage __visible void __init start_kernel(void)
664 debug_objects_mem_init(); 664 debug_objects_mem_init();
665 setup_per_cpu_pageset(); 665 setup_per_cpu_pageset();
666 numa_policy_init(); 666 numa_policy_init();
667 acpi_early_init();
667 if (late_time_init) 668 if (late_time_init)
668 late_time_init(); 669 late_time_init();
669 calibrate_delay(); 670 calibrate_delay();
670 pidmap_init(); 671 pidmap_init();
671 anon_vma_init(); 672 anon_vma_init();
672 acpi_early_init();
673#ifdef CONFIG_X86 673#ifdef CONFIG_X86
674 if (efi_enabled(EFI_RUNTIME_SERVICES)) 674 if (efi_enabled(EFI_RUNTIME_SERVICES))
675 efi_enter_virtual_mode(); 675 efi_enter_virtual_mode();