]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC 258860,260167,260238,260397:
authorjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 17 Apr 2014 18:00:07 +0000 (18:00 +0000)
committerjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 17 Apr 2014 18:00:07 +0000 (18:00 +0000)
commita360631e4eb31de3b72543f393661cee9abecc81
treef0bedc2edf80d3e7d31b5cac298c69fb2d3cb74a
parent4a816ce9807a9909d3ff4728d079ee688ea3490b
MFC 258860,260167,260238,260397:
- Restructure the VMX code to enter and exit the guest. In large part this
  change hides the setjmp/longjmp semantics of VM enter/exit.
  vmx_enter_guest() is used to enter guest context and vmx_exit_guest() is
  used to transition back into host context.

  Fix a longstanding race where a vcpu interrupt notification might be
  ignored if it happens after vmx_inject_interrupts() but before host
  interrupts are disabled in vmx_resume/vmx_launch. We now call
  vmx_inject_interrupts() with host interrupts disabled to prevent this.
- The 'protection' field in the VM exit collateral for the PAGING exit is
  not used - get rid of it.

Reviewed by: grehan

git-svn-id: svn://svn.freebsd.org/base/stable/10@264619 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/amd64/include/vmm.h
sys/amd64/vmm/intel/vmx.c
sys/amd64/vmm/intel/vmx.h
sys/amd64/vmm/intel/vmx_genassym.c
sys/amd64/vmm/intel/vmx_support.S
usr.sbin/bhyve/bhyverun.c
usr.sbin/bhyvectl/bhyvectl.c