mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Dou Liyang <douly.fnst@cn.fujitsu.com>
To: <linux-kernel@vger.kernel.org>
Cc: Dou Liyang <douly.fnst@cn.fujitsu.com>,
	<linux-acpi@vger.kernel.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	"Zheng, Lv" <lv.zheng@intel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	<x86@kernel.org>, Michael Ellerman <mpe@ellerman.id.au>,
	Will Deacon <will.deacon@arm.com>,
	<linux-arm-kernel@lists.infradead.org>,
	Tony Luck <tony.luck@intel.com>,
	Fenghua Yu <fenghua.yu@intel.com>, <linux-ia64@vger.kernel.org>,
	<yinghai@kernel.org>, <bhe@redhat.com>, <bp@alien8.de>
Subject: [PATCH v9] ACPI / init: Invoke early ACPI initialization earlier
Date: Wed, 13 Sep 2017 17:17:54 +0800	[thread overview]
Message-ID: <1505294274-441-1-git-send-email-douly.fnst@cn.fujitsu.com> (raw)
In-Reply-To: <1505293975-26005-1-git-send-email-douly.fnst@cn.fujitsu.com>

Linux uses acpi_early_init() to put the ACPI table management into the
late stage from the early stage. This two stages are different. the
mapped ACPI tables in early stage is temporary and should be unmapped,
but in late stage, it is permanent and don't need to be unmapped.

Originally, mapping and parsing the DMAR table should be in the late stage.
However, Initializing interrupt delivery mode earlier will move it into
the early stage. This causes an ACPI error warning when Linux reallocates
the ACPI root tables.

Commit b064a8fa77df ("ACPI / init: Switch over platform to the ACPI mode
later") splits the ACPI early initialization code into acpi_early_init()
and acpi_subsystem_init(). This makes acpi_early_init() more independently

So, invoke acpi_early_init() earlier before late_time_init(), Keep the DMAR
be mapped and parsed in late stage like before.

Reported-by: Xiaolong Ye <xiaolong.ye@intel.com>
Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com>
Cc: linux-acpi@vger.kernel.org
Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
Cc: Zheng, Lv <lv.zheng@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: x86@kernel.org
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: linux-ia64@vger.kernel.org
Cc: yinghai@kernel.org
Cc: bhe@redhat.com
Cc: bp@alien8.de
---
 init/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/init/main.c b/init/main.c
index 0ee9c686..2fb98a4 100644
--- a/init/main.c
+++ b/init/main.c
@@ -664,12 +664,12 @@ asmlinkage __visible void __init start_kernel(void)
 	debug_objects_mem_init();
 	setup_per_cpu_pageset();
 	numa_policy_init();
+	acpi_early_init();
 	if (late_time_init)
 		late_time_init();
 	calibrate_delay();
 	pidmap_init();
 	anon_vma_init();
-	acpi_early_init();
 #ifdef CONFIG_X86
 	if (efi_enabled(EFI_RUNTIME_SERVICES))
 		efi_enter_virtual_mode();
-- 
2.5.5

  parent reply	other threads:[~2017-09-13  9:18 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-13  9:12 [PATCH v9 00/12] Unify the interrupt delivery mode and do its setup in advance Dou Liyang
2017-09-13  9:12 ` [PATCH v9 01/12] x86/apic: Construct a selector for the interrupt delivery mode Dou Liyang
2017-09-13  9:12 ` [PATCH v9 02/12] x86/apic: Prepare for unifying the interrupt delivery modes setup Dou Liyang
2017-09-13  9:12 ` [PATCH v9 03/12] x86/apic: Split local APIC timer setup from the APIC setup Dou Liyang
2017-09-13  9:12 ` [PATCH v9 04/12] x86/apic: Move logical APIC ID away from apic_bsp_setup() Dou Liyang
2017-09-13  9:12 ` [PATCH v9 05/12] x86/apic: Unify interrupt mode setup for SMP-capable system Dou Liyang
2017-09-13  9:12 ` [PATCH v9 06/12] x86/apic: Mark the apic_intr_mode extern for sanity check cleanup Dou Liyang
2017-09-13  9:12 ` [PATCH v9 07/12] x86/apic: Unify interrupt mode setup for UP system Dou Liyang
2017-09-13  9:12 ` [PATCH v9 08/12] x86/ioapic: Refactor the delay logic in timer_irq_works() Dou Liyang
2017-09-13  9:12 ` [PATCH v9 09/12] x86/init: add intr_mode_init to x86_init_ops Dou Liyang
2017-09-13  9:12 ` [PATCH v9 10/12] x86/xen: Bypass intr mode setup in enlighten_pv system Dou Liyang
2017-09-13  9:45   ` [Xen-devel] " Juergen Gross
2017-09-13 10:09     ` Dou Liyang
2017-09-13 10:22   ` [PATCH v10 " Dou Liyang
2017-09-13  9:12 ` [PATCH v9 11/12] x86/time: Initialize interrupt mode behind timer init Dou Liyang
2017-09-13  9:12 ` [PATCH v9 12/12] x86/apic: Remove the init_bsp_APIC() Dou Liyang
2017-09-13  9:17 ` Dou Liyang [this message]
2017-09-27  1:41   ` [PATCH v9] ACPI / init: Invoke early ACPI initialization earlier Dou Liyang
2017-09-27  7:19     ` Thomas Gleixner
2017-09-27  7:33       ` Dou Liyang
2017-09-27  9:02   ` Borislav Petkov
2017-09-27 10:06     ` Dou Liyang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1505294274-441-1-git-send-email-douly.fnst@cn.fujitsu.com \
    --to=douly.fnst@cn.fujitsu.com \
    --cc=bhe@redhat.com \
    --cc=bp@alien8.de \
    --cc=fenghua.yu@intel.com \
    --cc=hpa@zytor.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lv.zheng@intel.com \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=rjw@rjwysocki.net \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=will.deacon@arm.com \
    --cc=x86@kernel.org \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®