aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/io_apic.h
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-04-21 10:44:54 +0100
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-04-21 10:44:54 +0100
commite1a1180660a8ac8cc27136ead1b42953db0e8540 (patch)
treeb770a41e6826daca3630469cce275c85ec7a8522 /xen/include/asm-x86/io_apic.h
parent7d67a7ab23ff55d302bc10af2f9ee758668f7f2a (diff)
downloadxen-e1a1180660a8ac8cc27136ead1b42953db0e8540.tar.gz
xen-e1a1180660a8ac8cc27136ead1b42953db0e8540.tar.bz2
xen-e1a1180660a8ac8cc27136ead1b42953db0e8540.zip
Propagate information about bad (or good) REGSEL register
of chipset IO-APICs to Xen. If REGSEL is bad (some old SiS chipsets) then we have a slower read-modify-write routine. Loosely based on an original patch from Jan Beulich. Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/include/asm-x86/io_apic.h')
-rw-r--r--xen/include/asm-x86/io_apic.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/xen/include/asm-x86/io_apic.h b/xen/include/asm-x86/io_apic.h
index 4cacb8b419..47cd148e10 100644
--- a/xen/include/asm-x86/io_apic.h
+++ b/xen/include/asm-x86/io_apic.h
@@ -139,7 +139,11 @@ static inline void io_apic_write(unsigned int apic, unsigned int reg, unsigned i
*
* Older SiS APIC requires we rewrite the index regiser
*/
-#define sis_apic_bug 0 /* This may need propagating from domain0. */
+#ifdef __i386__
+extern int sis_apic_bug;
+#else
+#define sis_apic_bug 0
+#endif
static inline void io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value)
{
if (sis_apic_bug)