[PATCH 12/15] x86, x2apic: Don't map lapic addr for preenabled x2apic

Previous thread: [PATCH 11/15] x86, ioapic: Only print mapping for ioapic in right place by Yinghai Lu on Saturday, October 23, 2010 - 6:02 pm. (3 messages)

Next thread: [PATCH 00/15] x86: APIC related clean up by Yinghai Lu on Saturday, October 23, 2010 - 6:02 pm. (16 messages)
From: Yinghai Lu
Date: Saturday, October 23, 2010 - 6:02 pm

If x2apic is reenabled, and used in kernel, We don't need to map that lapic
address. That mapping will never be used.

So just skip that in smp_register_lapic_address()

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
---
 arch/x86/kernel/apic/apic.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index 2cfa622..d286db1 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -1687,9 +1687,11 @@ void __init smp_register_lapic_address(unsigned long address)
 
 	mp_lapic_addr = address;
 
-	set_fixmap_nocache(FIX_APIC_BASE, address);
-	apic_printk(APIC_VERBOSE, "mapped APIC to %16lx (%16lx)\n",
-		    APIC_BASE, mp_lapic_addr);
+	if (!x2apic_mode) {
+		set_fixmap_nocache(FIX_APIC_BASE, address);
+		apic_printk(APIC_VERBOSE, "mapped APIC to %16lx (%16lx)\n",
+			    APIC_BASE, mp_lapic_addr);
+	}
 	if (boot_cpu_physical_apicid == -1U) {
 		boot_cpu_physical_apicid  = read_apic_id();
 		apic_version[boot_cpu_physical_apicid] =
-- 
1.7.1

--

Previous thread: [PATCH 11/15] x86, ioapic: Only print mapping for ioapic in right place by Yinghai Lu on Saturday, October 23, 2010 - 6:02 pm. (3 messages)

Next thread: [PATCH 00/15] x86: APIC related clean up by Yinghai Lu on Saturday, October 23, 2010 - 6:02 pm. (16 messages)