diff options
author | Andrew Cooper <andrew.cooper3@citrix.com> | 2011-09-13 10:33:10 +0100 |
---|---|---|
committer | Andrew Cooper <andrew.cooper3@citrix.com> | 2011-09-13 10:33:10 +0100 |
commit | ac710413f6f4e63a41906b37be8f90e33e4b7e8f (patch) | |
tree | 62f44c8a2bab72aae23498d48b9316cc1476e89a /xen/include/asm-x86/io_apic.h | |
parent | 2569814496e2c7e61a06d9ddc48defd28759dd96 (diff) | |
download | xen-ac710413f6f4e63a41906b37be8f90e33e4b7e8f.tar.gz xen-ac710413f6f4e63a41906b37be8f90e33e4b7e8f.tar.bz2 xen-ac710413f6f4e63a41906b37be8f90e33e4b7e8f.zip |
IRQ: IO-APIC support End Of Interrupt for older IO-APICs
The old io_apic_eoi() function using the EOI register only works for
IO-APICs with a version of 0x20. Older IO-APICs do not have an EOI
register so line level interrupts have to be EOI'd by flipping the
mode to edge and back, which clears the IRR and Delivery Status bits.
This patch replaces the current io_apic_eoi() function with one which
takes into account the version of the IO-APIC and EOI's
appropriately.
v2: make recursive call to __io_apic_eoi() to reduce code size.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Diffstat (limited to 'xen/include/asm-x86/io_apic.h')
-rw-r--r-- | xen/include/asm-x86/io_apic.h | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/xen/include/asm-x86/io_apic.h b/xen/include/asm-x86/io_apic.h index 066a00cd07..a32daa139a 100644 --- a/xen/include/asm-x86/io_apic.h +++ b/xen/include/asm-x86/io_apic.h @@ -157,11 +157,6 @@ static inline void io_apic_write(unsigned int apic, unsigned int reg, unsigned i __io_apic_write(apic, reg, value); } -static inline void io_apic_eoi(unsigned int apic, unsigned int vector) -{ - *(IO_APIC_BASE(apic)+16) = vector; -} - /* * Re-write a value: to be used for read-modify-write * cycles where the read already set up the index register. |