diff options
| author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2002-11-25 02:09:42 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@penguin.transmeta.com> | 2002-11-25 02:09:42 -0800 |
| commit | b431de158236846dfdd2130c136ee0cffd640289 (patch) | |
| tree | 686e5c1852de36f7339c68e38c5828bb9801b8c1 /include | |
| parent | 94db30f261952ea7db488a1a401bd0cb8de7bd0f (diff) | |
[PATCH] add sis apic workaround support
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-i386/io_apic.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/asm-i386/io_apic.h b/include/asm-i386/io_apic.h index e26ea03e7347..642e47f3c929 100644 --- a/include/asm-i386/io_apic.h +++ b/include/asm-i386/io_apic.h @@ -120,9 +120,13 @@ static inline void io_apic_write(unsigned int apic, unsigned int reg, unsigned i /* * Re-write a value: to be used for read-modify-write * cycles where the read already set up the index register. + * + * Older SiS APIC requires we rewrite the index regiser */ -static inline void io_apic_modify(unsigned int apic, unsigned int value) +static inline void io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value) { + if(apic_sis_bug) + *IO_APIC_BASE(apic) = reg; *(IO_APIC_BASE(apic)+4) = value; } |
