freebsd-dev/sys/amd64/vmm
Neel Natu fafe884473 Modify handling of writes to the vlapic ICR_TIMER, DCR_TIMER, ICRLO and ESR
registers.

The handler is now called after the register value is updated in the virtual
APIC page. This will make it easier to handle APIC-write VM-exits with APIC
register virtualization turned on.

We can no longer rely on the value of 'icr_timer' on the APIC page
in the callout handler. With APIC register virtualization the value of
'icr_timer' will be updated by the processor in guest-context before an
APIC-write VM-exit.

Clear the 'delivery status' bit in the ICRLO register in the write handler.
With APIC register virtualization the write happens in guest-context and
we cannot prevent a (buggy) guest from setting this bit.
2013-12-27 20:18:19 +00:00
..
amd vlapic code restructuring to make it easy to support hardware-assist for APIC 2013-12-25 06:46:31 +00:00
intel In sys/amd64/vmm/intel/vmx.c, silence a (incorrect) gcc warning about 2013-12-27 12:15:53 +00:00
io Modify handling of writes to the vlapic ICR_TIMER, DCR_TIMER, ICRLO and ESR 2013-12-27 20:18:19 +00:00
vmm_dev.c Extend the support for local interrupts on the local APIC: 2013-12-23 19:29:07 +00:00
vmm_host.c Corral all the host state associated with the virtual machine into its own file. 2012-10-29 01:51:24 +00:00
vmm_host.h Corral all the host state associated with the virtual machine into its own file. 2012-10-29 01:51:24 +00:00
vmm_instruction_emul.c Remove unnecessary includes of <machine/pmap.h> 2013-10-29 02:25:18 +00:00
vmm_ipi.c Provide per-vcpu locks instead of relying on a single big lock. 2012-10-12 18:32:44 +00:00
vmm_ipi.h Provide per-vcpu locks instead of relying on a single big lock. 2012-10-12 18:32:44 +00:00
vmm_ktr.h Add support for level triggered interrupt pins on the vioapic. Prior to this 2013-11-27 22:18:08 +00:00
vmm_lapic.c vlapic code restructuring to make it easy to support hardware-assist for APIC 2013-12-25 06:46:31 +00:00
vmm_lapic.h vlapic code restructuring to make it easy to support hardware-assist for APIC 2013-12-25 06:46:31 +00:00
vmm_mem.c Merge projects/bhyve_npt_pmap into head. 2013-10-05 21:22:35 +00:00
vmm_mem.h Merge projects/bhyve_npt_pmap into head. 2013-10-05 21:22:35 +00:00
vmm_msr.c Fix x2apic support in bhyve. 2013-12-10 22:56:51 +00:00
vmm_msr.h Fix x2apic support in bhyve. 2013-12-10 22:56:51 +00:00
vmm_stat.c Support array-type of stats in bhyve. 2013-05-10 02:59:49 +00:00
vmm_stat.h Support array-type of stats in bhyve. 2013-05-10 02:59:49 +00:00
vmm_support.S
vmm_util.c
vmm_util.h
vmm.c vlapic code restructuring to make it easy to support hardware-assist for APIC 2013-12-25 06:46:31 +00:00
x86.c Add a new capability, VM_CAP_ENABLE_INVPCID, that can be enabled to expose 2013-10-16 18:20:27 +00:00
x86.h Allow CPUID leaf 0xD to be read as zeroes. 2013-09-06 05:16:10 +00:00