de5ea6b65e
emulation. The vlapic initialization and cleanup is done via processor specific vmm_ops. This will allow the VT-x/SVM modules to layer any hardware-assist for APIC emulation or virtual interrupt delivery on top of the vlapic device model. Add a parameter to 'vcpu_notify_event()' to distinguish between vlapic interrupts versus other events (e.g. NMI). This provides an opportunity to use hardware-assists like Posted Interrupts (VT-x) or doorbell MSR (SVM) to deliver an interrupt to a guest without causing a VM-exit. Get rid of lapic_pending_intr() and lapic_intr_accepted() and use the vlapic_xxx() counterparts directly. Associate an 'Apic Page' with each vcpu and reference it from the 'vlapic'. The 'Apic Page' is intended to be referenced from the Intel VMCS as the 'virtual APIC page' or from the AMD VMCB as the 'vAPIC backing page'. |
||
---|---|---|
.. | ||
amd | ||
intel | ||
io | ||
vmm_dev.c | ||
vmm_host.c | ||
vmm_host.h | ||
vmm_instruction_emul.c | ||
vmm_ipi.c | ||
vmm_ipi.h | ||
vmm_ktr.h | ||
vmm_lapic.c | ||
vmm_lapic.h | ||
vmm_mem.c | ||
vmm_mem.h | ||
vmm_msr.c | ||
vmm_msr.h | ||
vmm_stat.c | ||
vmm_stat.h | ||
vmm_support.S | ||
vmm_util.c | ||
vmm_util.h | ||
vmm.c | ||
x86.c | ||
x86.h |