88c4b8d145
hardware. It is possible to turn this feature off and fall back to software emulation of the APIC by setting the tunable hw.vmm.vmx.use_apic_vid to 0. We now start handling two new types of VM-exits: APIC-access: This is a fault-like VM-exit and is triggered when the APIC register access is not accelerated (e.g. apic timer CCR). In response to this we do emulate the instruction that triggered the APIC-access exit. APIC-write: This is a trap-like VM-exit which does not require any instruction emulation but it does require the hypervisor to emulate the access to the specified register (e.g. icrlo register). Introduce 'vlapic_ops' which are function pointers to vector the various vlapic operations into processor-dependent code. The 'Virtual Interrupt Delivery' feature installs 'ops' for setting the IRR bits in the virtual APIC page and to return whether any interrupts are pending for this vcpu. Tested on an "Intel Xeon E5-2620 v2" courtesy of Allan Jude at ScaleEngine. |
||
---|---|---|
.. | ||
ept.c | ||
ept.h | ||
vmcs.c | ||
vmcs.h | ||
vmx_controls.h | ||
vmx_cpufunc.h | ||
vmx_genassym.c | ||
vmx_msr.c | ||
vmx_msr.h | ||
vmx_support.S | ||
vmx.c | ||
vmx.h | ||
vtd.c |