x86/vm_event: add support for VM_EVENT_REASON_INTERRUPT
authorRazvan Cojocaru <rcojocaru@bitdefender.com>
Thu, 15 Dec 2016 10:09:03 +0000 (11:09 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 15 Dec 2016 10:09:03 +0000 (11:09 +0100)
commit9864841914c25c7028a12b81c7b61151482c1cf3
tree94ebd5fa558fc94a959b4bc65c32a3357cd5e409
parentaac1df3d03592fba5aadfcf2f496000285bab336
x86/vm_event: add support for VM_EVENT_REASON_INTERRUPT

Added support for a new event type, VM_EVENT_REASON_INTERRUPT,
which is now fired in a one-shot manner when enabled via the new
VM_EVENT_FLAG_GET_NEXT_INTERRUPT vm_event response flag.
The patch also fixes the behaviour of the xc_hvm_inject_trap()
hypercall, which would lead to non-architectural interrupts
overwriting pending (specifically reinjected) architectural ones.

Signed-off-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Kevin Tian <kevin.tian@intel.com>
Acked-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Acked-by: Julien Grall <julien.grall@arm.com>
14 files changed:
xen/arch/arm/vm_event.c
xen/arch/x86/hvm/hvm.c
xen/arch/x86/hvm/monitor.c
xen/arch/x86/hvm/svm/svm.c
xen/arch/x86/hvm/vmx/vmx.c
xen/arch/x86/vm_event.c
xen/common/vm_event.c
xen/include/asm-x86/domain.h
xen/include/asm-x86/hvm/hvm.h
xen/include/asm-x86/hvm/monitor.h
xen/include/asm-x86/monitor.h
xen/include/public/domctl.h
xen/include/public/vm_event.h
xen/include/xen/vm_event.h