[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 3 of 4] VIOAPIC: Emulate a version 0x20 IOAPIC
Currently, hvm emulates a version 0x11 IOAPIC. However, depending on the HVM guests {IO,L}APIC setup, it may take fewer traps into Xen by directly using the VIOAPIC EOI register present in version 0x20, rather than resorting to the legacy method of flipping the trigger mode for the relevent RTE. Currently, all required functionality is already present in the code, except that it is covered by VIOAPIC_IS_IOSAPIC which is never defined. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> diff -r 957b5ac44e32 -r 79bc45a90933 xen/arch/x86/hvm/vioapic.c --- a/xen/arch/x86/hvm/vioapic.c +++ b/xen/arch/x86/hvm/vioapic.c @@ -227,11 +227,9 @@ static int vioapic_write( vioapic_write_indirect(vioapic, length, val); break; -#if VIOAPIC_IS_IOSAPIC case VIOAPIC_REG_EOI: vioapic_update_EOI(v->domain, val); break; -#endif default: break; diff -r 957b5ac44e32 -r 79bc45a90933 xen/include/asm-x86/hvm/vioapic.h --- a/xen/include/asm-x86/hvm/vioapic.h +++ b/xen/include/asm-x86/hvm/vioapic.h @@ -31,7 +31,7 @@ #include <public/hvm/save.h> #if !VIOAPIC_IS_IOSAPIC -#define VIOAPIC_VERSION_ID 0x11 /* IOAPIC version */ +#define VIOAPIC_VERSION_ID 0x20 /* IOAPIC version */ #else #define VIOAPIC_VERSION_ID 0x21 /* IOSAPIC version */ #endif @@ -45,7 +45,7 @@ /* Direct registers. */ #define VIOAPIC_REG_SELECT 0x00 #define VIOAPIC_REG_WINDOW 0x10 -#define VIOAPIC_REG_EOI 0x40 /* IA64 IOSAPIC only */ +#define VIOAPIC_REG_EOI 0x40 /* Indirect registers. */ #define VIOAPIC_REG_APIC_ID 0x00 /* x86 IOAPIC only */ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |