freebsd-nq/sys/amd64
Neel Natu dc50650607 Queue pending exceptions in the 'struct vcpu' instead of directly updating the
processor-specific VMCS or VMCB. The pending exception will be delivered right
before entering the guest.

The order of event injection into the guest is:
- hardware exception
- NMI
- maskable interrupt

In the Intel VT-x case, a pending NMI or interrupt will enable the interrupt
window-exiting and inject it as soon as possible after the hardware exception
is injected. Also since interrupts are inherently asynchronous, injecting
them after the hardware exception should not affect correctness from the
guest perspective.

Rename the unused ioctl VM_INJECT_EVENT to VM_INJECT_EXCEPTION and restrict
it to only deliver x86 hardware exceptions. This new ioctl is now used to
inject a protection fault when the guest accesses an unimplemented MSR.

Discussed with:	grehan, jhb
Reviewed by:	jhb
2014-02-26 00:52:05 +00:00
..
acpica Consistently use round_page(x) rather than roundup(x, PAGE_SIZE). There is 2013-02-15 22:43:08 +00:00
amd64 When the kernel is running in a virtual machine, it cannot rely upon the 2014-02-22 18:53:42 +00:00
conf Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
ia32 x86: Allow users to change PSL_RF via ptrace(PT_SETREGS...) 2013-11-14 15:37:20 +00:00
include Queue pending exceptions in the 'struct vcpu' instead of directly updating the 2014-02-26 00:52:05 +00:00
linux32 - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
pci Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this 2013-11-30 22:17:27 +00:00
vmm Queue pending exceptions in the 'struct vcpu' instead of directly updating the 2014-02-26 00:52:05 +00:00
Makefile