diff options
author | neel <neel@FreeBSD.org> | 2014-09-20 02:35:21 +0000 |
---|---|---|
committer | neel <neel@FreeBSD.org> | 2014-09-20 02:35:21 +0000 |
commit | 46721cc2c7d83b96c9c48ed0f7a7fa51d989cfaf (patch) | |
tree | 3ad2fde5e753649653c89f4a1d4cb530ee5c3775 /sys/amd64/include | |
parent | f3617deb72cbf326e4637a92017022bd0df02a58 (diff) | |
download | FreeBSD-src-46721cc2c7d83b96c9c48ed0f7a7fa51d989cfaf.zip FreeBSD-src-46721cc2c7d83b96c9c48ed0f7a7fa51d989cfaf.tar.gz |
Restructure the MSR handling so it is entirely handled by processor-specific
code. There are only a handful of MSRs common between the two so there isn't
too much duplicate functionality.
The VT-x code has the following types of MSRs:
- MSRs that are unconditionally saved/restored on every guest/host context
switch (e.g., MSR_GSBASE).
- MSRs that are restored to guest values on entry to vmx_run() and saved
before returning. This is an optimization for MSRs that are not used in
host kernel context (e.g., MSR_KGSBASE).
- MSRs that are emulated and every access by the guest causes a trap into
the hypervisor (e.g., MSR_IA32_MISC_ENABLE).
Reviewed by: grehan
Diffstat (limited to 'sys/amd64/include')
-rw-r--r-- | sys/amd64/include/vmm.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index 2529d34..b0d451d 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -195,7 +195,6 @@ void vm_nmi_clear(struct vm *vm, int vcpuid); int vm_inject_extint(struct vm *vm, int vcpu); int vm_extint_pending(struct vm *vm, int vcpuid); void vm_extint_clear(struct vm *vm, int vcpuid); -uint64_t *vm_guest_msrs(struct vm *vm, int cpu); struct vlapic *vm_lapic(struct vm *vm, int cpu); struct vioapic *vm_ioapic(struct vm *vm); struct vhpet *vm_hpet(struct vm *vm); |