This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] [PATCH] x86/amd: don't probe for extended APIC ID if APICs a

To: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH] x86/amd: don't probe for extended APIC ID if APICs are disabled
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Date: Wed, 22 Jul 2009 09:59:35 -0700
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Andreas Herrmann <andreas.herrmann3@xxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, Bastian Blank <bastian@xxxxxxxxxxxx>, "H. Peter Anvin" <hpa@xxxxxxxxx>, Ingo Molnar <mingo@xxxxxxx>
Delivery-date: Wed, 22 Jul 2009 10:00:04 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <alpine.LFD.2.00.0907221628110.2813@xxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20090604104016.GT5736@xxxxxxxxxxxxxxxx> <20090721103642.GA10071@xxxxxxxxxxxxxxxxxxxxxxx> <4A65F34D.40506@xxxxxxxx> <20090722095436.GA9000@xxxxxxxxxxxxxxxxxxxxxxx> <alpine.LFD.2.00.0907221628110.2813@xxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1b3pre) Gecko/20090513 Fedora/3.0-2.3.beta2.fc11 Lightning/1.0pre Thunderbird/3.0b2
If we've logically disabled apics, don't probe the PCI space for the
AMD extended APIC ID.

[ Impact: prevent boot crash under Xen. ]

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>
Reported-by: Bastian Blank <bastian@xxxxxxxxxxxx>

diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 28e5f59..e2485b0 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -356,7 +356,7 @@ static void __cpuinit early_init_amd(struct cpuinfo_x86 *c)
 #if defined(CONFIG_X86_LOCAL_APIC) && defined(CONFIG_PCI)
        /* check CPU config space for extended APIC ID */
-       if (c->x86 >= 0xf) {
+       if (cpu_has_apic && c->x86 >= 0xf) {
                unsigned int val;
                val = read_pci_config(0, 24, 0, 0x68);
                if ((val & ((1 << 17) | (1 << 18))) == ((1 << 17) | (1 << 18)))

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>