freebsd-skq/sys/amd64/vmm/amd
neel 11f176f814 Simplify register state save and restore across a VMRUN:
- Host registers are now stored on the stack instead of a per-cpu host context.

- Host %FS and %GS selectors are not saved and restored across VMRUN.
  - Restoring the %FS/%GS selectors was futile anyways since that only updates
    the low 32 bits of base address in the hidden descriptor state.
  - GS.base is properly updated via the MSR_GSBASE on return from svm_launch().
  - FS.base is not used while inside the kernel so it can be safely ignored.

- Add function prologue/epilogue so svm_launch() can be traced with Dtrace's
  FBT entry/exit probes. They also serve to save/restore the host %rbp across
  VMRUN.

Reviewed by:	grehan
Discussed with:	Anish Gupta (akgupt3@gmail.com)
2014-09-27 02:04:58 +00:00
..
amdv.c Bring (almost) up-to-date with HEAD. 2014-06-03 06:56:54 +00:00
npt.c Bring (almost) up-to-date with HEAD. 2014-06-03 06:56:54 +00:00
npt.h Bring (almost) up-to-date with HEAD. 2014-06-03 06:56:54 +00:00
svm_genassym.c Simplify register state save and restore across a VMRUN: 2014-09-27 02:04:58 +00:00
svm_msr.c IFC r271888. 2014-09-20 21:46:31 +00:00
svm_msr.h IFC r271888. 2014-09-20 21:46:31 +00:00
svm_softc.h Allow more VMCB fields to be cached: 2014-09-21 23:42:54 +00:00
svm_support.S Simplify register state save and restore across a VMRUN: 2014-09-27 02:04:58 +00:00
svm.c Simplify register state save and restore across a VMRUN: 2014-09-27 02:04:58 +00:00
svm.h Simplify register state save and restore across a VMRUN: 2014-09-27 02:04:58 +00:00
vmcb.c Allow more VMCB fields to be cached: 2014-09-21 23:42:54 +00:00
vmcb.h Allow more VMCB fields to be cached: 2014-09-21 23:42:54 +00:00