]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_43_of_41_2c72d93f6593f386f5760ca8e7ac7026948c31d7
Move xen patchset to new version's subdir.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.arch / x2APIC_PATCH_43_of_41_2c72d93f6593f386f5760ca8e7ac7026948c31d7
1 From: Yinghai Lu <yhlu.kernel@gmail.com>
2 Subject: x2apic: fix reserved APIC register accesses in print_local_APIC()
3 References: fate #303948 and fate #303984
4 Patch-Mainline: queued for .28
5 Commit-ID: 2c72d93f6593f386f5760ca8e7ac7026948c31d7
6
7 Signed-off-by: Thomas Renninger <trenn@suse.de>
8
9 APIC_ARBPRI is a reserved register for XAPIC and beyond.
10 APIC_RRR is a reserved register except for 82489DX, APIC for Pentium processors.
11 APIC_EOI is a write only register.
12 APIC_DFR is reserved in x2apic mode.
13
14 Access to these registers in x2apic will result in #GP fault. Fix these
15 apic register accesses.
16
17 Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
18 Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
19 Cc: Maciej W. Rozycki <macro@linux-mips.org>
20 Signed-off-by: Ingo Molnar <mingo@elte.hu>
21
22 ---
23 arch/x86/kernel/io_apic_32.c | 8 +++++---
24 1 file changed, 5 insertions(+), 3 deletions(-)
25
26 Index: linux-2.6.26/arch/x86/kernel/io_apic_32.c
27 ===================================================================
28 --- linux-2.6.26.orig/arch/x86/kernel/io_apic_32.c
29 +++ linux-2.6.26/arch/x86/kernel/io_apic_32.c
30 @@ -1500,9 +1500,11 @@ void /*__init*/ print_local_APIC(void *d
31 printk(KERN_DEBUG "... APIC TASKPRI: %08x (%02x)\n", v, v & APIC_TPRI_MASK);
32
33 if (APIC_INTEGRATED(ver)) { /* !82489DX */
34 - v = apic_read(APIC_ARBPRI);
35 - printk(KERN_DEBUG "... APIC ARBPRI: %08x (%02x)\n", v,
36 - v & APIC_ARBPRI_MASK);
37 + if (!APIC_XAPIC(ver)) {
38 + v = apic_read(APIC_ARBPRI);
39 + printk(KERN_DEBUG "... APIC ARBPRI: %08x (%02x)\n", v,
40 + v & APIC_ARBPRI_MASK);
41 + }
42 v = apic_read(APIC_PROCPRI);
43 printk(KERN_DEBUG "... APIC PROCPRI: %08x\n", v);
44 }