Displaying 5 results from an estimated 5 matches for "cr3_write_intercepted".
2020 Feb 07
0
[RFC PATCH v7 12/78] KVM: x86: add .cr3_write_intercepted()
.....d2fe08f44084 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1070,6 +1070,7 @@ struct kvm_x86_ops {
int (*set_cr4)(struct kvm_vcpu *vcpu, unsigned long cr4);
void (*control_cr3_intercept)(struct kvm_vcpu *vcpu, int type,
bool enable);
+ bool (*cr3_write_intercepted)(struct kvm_vcpu *vcpu);
void (*set_efer)(struct kvm_vcpu *vcpu, u64 efer);
void (*get_idt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
void (*set_idt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index b6081afec926..554ad7c57a0f 100644
--...
2020 Jul 21
0
[PATCH v9 11/84] KVM: x86: add .cr3_write_intercepted()
.....ac45aacc9fc0 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1117,6 +1117,7 @@ struct kvm_x86_ops {
int (*set_cr4)(struct kvm_vcpu *vcpu, unsigned long cr4);
void (*control_cr3_intercept)(struct kvm_vcpu *vcpu, int type,
bool enable);
+ bool (*cr3_write_intercepted)(struct kvm_vcpu *vcpu);
void (*set_efer)(struct kvm_vcpu *vcpu, u64 efer);
void (*get_idt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
void (*set_idt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index f14fc940538b..7a4ec6fbffb9 1...
2020 Feb 07
0
[RFC PATCH v7 61/78] KVM: introspection: restore the state of CR3 interception on unhook
...t kvm_vcpu *vcpu)
vcpu->arch.kvmi->breakpoint.kvm_intercepted = false;
}
+static bool monitor_cr3w_fct_kvmi(struct kvm_vcpu *vcpu, bool enable)
+{
+ vcpu->arch.kvmi->cr3w.kvmi_intercepted = enable;
+
+ if (enable)
+ vcpu->arch.kvmi->cr3w.kvm_intercepted =
+ kvm_x86_ops->cr3_write_intercepted(vcpu);
+ else if (vcpu->arch.kvmi->cr3w.kvm_intercepted)
+ return true;
+
+ return false;
+}
+
+static bool monitor_cr3w_fct_kvm(struct kvm_vcpu *vcpu, bool enable)
+{
+ if (!vcpu->arch.kvmi->cr3w.kvmi_intercepted)
+ return false;
+
+ vcpu->arch.kvmi->cr3w.kvm_intercepted = enab...
2020 Feb 07
78
[RFC PATCH v7 00/78] VM introspection
...ilure
Mircea C?rjaliu (2):
KVM: x86: disable gpa_available optimization for fetch and page-walk
NPF/EPT violations
KVM: introspection: add vCPU related data
Nicu?or C??u (19):
KVM: x86: add kvm_arch_vcpu_set_regs()
KVM: x86: add .bp_intercepted() to struct kvm_x86_ops
KVM: x86: add .cr3_write_intercepted()
KVM: x86: add .desc_intercepted()
KVM: x86: export .msr_write_intercepted()
KVM: x86: use MSR_TYPE_R, MSR_TYPE_W and MSR_TYPE_RW with AMD code too
KVM: svm: pass struct kvm_vcpu to set_msr_interception()
KVM: vmx: pass struct kvm_vcpu to the intercept msr related functions
KVM: x86: a...
2020 Jul 21
87
[PATCH v9 00/84] VM introspection
...n failure
Mircea C?rjaliu (2):
KVM: x86: disable gpa_available optimization for fetch and page-walk
SPT violations
KVM: introspection: add vCPU related data
Nicu?or C??u (21):
KVM: x86: add kvm_arch_vcpu_set_regs()
KVM: x86: add .bp_intercepted() to struct kvm_x86_ops
KVM: x86: add .cr3_write_intercepted()
KVM: svm: add support for descriptor-table exits
KVM: x86: add .desc_intercepted()
KVM: x86: export .msr_write_intercepted()
KVM: x86: use MSR_TYPE_R, MSR_TYPE_W and MSR_TYPE_RW with AMD
KVM: svm: pass struct kvm_vcpu to set_msr_interception()
KVM: vmx: pass struct kvm_vcpu to the int...