diff options
author | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2006-04-21 10:44:54 +0100 |
---|---|---|
committer | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2006-04-21 10:44:54 +0100 |
commit | e1a1180660a8ac8cc27136ead1b42953db0e8540 (patch) | |
tree | b770a41e6826daca3630469cce275c85ec7a8522 /xen/include/asm-x86/io_apic.h | |
parent | 7d67a7ab23ff55d302bc10af2f9ee758668f7f2a (diff) | |
download | xen-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.h | 6 |
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) |