summaryrefslogtreecommitdiff
path: root/kvm_mmu.c
diff options
context:
space:
mode:
authorMax Bruning <max@joyent.com>2011-08-01 07:28:04 -0700
committerMax Bruning <max@joyent.com>2011-08-01 07:29:42 -0700
commit8d3d4a53bb8de182a3686485ee6a0f6acaa8c3e4 (patch)
tree1b27676be896bb1cd8be66fac84f4c8c840815ff /kvm_mmu.c
parentd158c438dca2eb7ee01426c87daa76fc4ea2a335 (diff)
downloadillumos-kvm-8d3d4a53bb8de182a3686485ee6a0f6acaa8c3e4.tar.gz
HVM-538 Implement smp_rmb/smp_wmb in kvm
Diffstat (limited to 'kvm_mmu.c')
-rw-r--r--kvm_mmu.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/kvm_mmu.c b/kvm_mmu.c
index 6e97936..6d60ed1 100644
--- a/kvm_mmu.c
+++ b/kvm_mmu.c
@@ -1844,10 +1844,10 @@ nonpaging_map(struct kvm_vcpu *vcpu, gva_t v, int write, gfn_t gfn)
#ifdef XXX
mmu_seq = vcpu->kvm->mmu_notifier_seq;
- smp_rmb();
#else
XXX_KVM_PROBE;
#endif
+ smp_rmb();
pfn = gfn_to_pfn(vcpu->kvm, gfn);
/* mmio */
@@ -2069,11 +2069,10 @@ tdp_page_fault(struct kvm_vcpu *vcpu, gva_t gpa, uint32_t error_code)
#ifdef XXX
mmu_seq = vcpu->kvm->mmu_notifier_seq;
- smp_rmb();
#else
XXX_KVM_PROBE;
#endif
-
+ smp_rmb();
pfn = gfn_to_pfn(vcpu->kvm, gfn);
if (is_error_pfn(pfn)) {
kvm_release_pfn_clean(pfn);
@@ -2508,10 +2507,10 @@ mmu_guess_page_from_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa,
#ifdef XXX
vcpu->arch.update_pte.mmu_seq = vcpu->kvm->mmu_notifier_seq;
- smp_rmb();
#else
XXX_KVM_PROBE;
#endif
+ smp_rmb();
pfn = gfn_to_pfn(vcpu->kvm, gfn);
if (is_error_pfn(pfn)) {