freebsd-skq/sys/amd64
neel d9f07f9841 Simplify instruction restart logic in bhyve.
Keep track of the next instruction to be executed by the vcpu as 'nextrip'.
As a result the VM_RUN ioctl no longer takes the %rip where a vcpu should
start execution.

Also, instruction restart happens implicitly via 'vm_inject_exception()' or
explicitly via 'vm_restart_instruction()'. The APIs behave identically in
both kernel and userspace contexts. The main beneficiary is the instruction
emulation code that executes in both contexts.

bhyve(8) VM exit handlers now treat 'vmexit->rip' and 'vmexit->inst_length'
as readonly:
- Restarting an instruction is now done by calling 'vm_restart_instruction()'
  as opposed to setting 'vmexit->inst_length' to 0 (e.g. emulate_inout())
- Resuming vcpu at an arbitrary %rip is now done by setting VM_REG_GUEST_RIP
  as opposed to changing 'vmexit->rip' (e.g. vmexit_task_switch())

Differential Revision:	https://reviews.freebsd.org/D1526
Reviewed by:		grehan
MFC after:		2 weeks
2015-01-18 03:08:30 +00:00
..
acpica don't set CR4 PSE bit on amd64 2014-07-23 15:53:29 +00:00
amd64 Revert r263475: TDP_DEVMEMIO no longer needed, since amd64 /dev/kmem 2015-01-12 08:58:07 +00:00
conf Plug cxgbe(4) back into !powerpc && !arm builds, instead of building it 2015-01-16 01:39:24 +00:00
ia32 Change the way the lcall $7,$0 is reflected to usermode. Instead of 2014-12-27 23:19:08 +00:00
include Simplify instruction restart logic in bhyve. 2015-01-18 03:08:30 +00:00
linux32 Regen after r276508, r276509. 2015-01-01 18:43:31 +00:00
pci Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
vmm Simplify instruction restart logic in bhyve. 2015-01-18 03:08:30 +00:00
Makefile