diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-10-26 13:33:38 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-10-26 13:33:38 +0000 |
commit | f821102450a157716034bb22b45d1f8720f091f6 (patch) | |
tree | e8e253d157caff96248fff173c985886bdb1b01f /xen/include/asm-x86/io_apic.h | |
parent | 9db20f3c2b99baacbfa7f95195cdb77c37ddd81e (diff) | |
download | xen-f821102450a157716034bb22b45d1f8720f091f6.tar.gz xen-f821102450a157716034bb22b45d1f8720f091f6.tar.bz2 xen-f821102450a157716034bb22b45d1f8720f091f6.zip |
x86: IRQ Migration logic enhancement.
To programme MSI's addr/vector safely, delay irq migration
operation before acking next interrupt. In this way, it should
avoid inconsistent interrupts generation due to non-atomic writing
addr and data registers about MSI.
Port the logic from Linux and tailor it for Xen.
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
Diffstat (limited to 'xen/include/asm-x86/io_apic.h')
-rw-r--r-- | xen/include/asm-x86/io_apic.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/xen/include/asm-x86/io_apic.h b/xen/include/asm-x86/io_apic.h index e064d4a7d5..6781ac1bac 100644 --- a/xen/include/asm-x86/io_apic.h +++ b/xen/include/asm-x86/io_apic.h @@ -22,6 +22,15 @@ #define IO_APIC_ID(idx) (mp_ioapics[idx].mpc_apicid) +/* I/O Unit Redirection Table */ +#define IO_APIC_REDIR_VECTOR_MASK 0x000FF +#define IO_APIC_REDIR_DEST_LOGICAL 0x00800 +#define IO_APIC_REDIR_DEST_PHYSICAL 0x00000 +#define IO_APIC_REDIR_SEND_PENDING (1 << 12) +#define IO_APIC_REDIR_REMOTE_IRR (1 << 14) +#define IO_APIC_REDIR_LEVEL_TRIGGER (1 << 15) +#define IO_APIC_REDIR_MASKED (1 << 16) + /* * The structure of the IO-APIC: */ |