Displaying 9 results from an estimated 9 matches for "kvmi_vcpu_control_msr".
2020 Feb 07
0
[RFC PATCH v7 69/78] KVM: introspection: add KVMI_VCPU_CONTROL_MSR and KVMI_EVENT_MSR
...CR
KVMI_EVENT_DESCRIPTOR
KVMI_EVENT_HYPERCALL
+ KVMI_EVENT_MSR
KVMI_EVENT_TRAP
KVMI_EVENT_XSETBV
@@ -820,6 +821,45 @@ Returns the guest memory type for a specific physical address.
* -KVM_EINVAL - padding is not zero
* -KVM_EAGAIN - the selected vCPU can't be introspected yet
+19. KVMI_VCPU_CONTROL_MSR
+-------------------------
+
+:Architectures: x86
+:Versions: >= 1
+:Parameters:
+
+::
+
+ struct kvmi_vcpu_hdr;
+ struct kvmi_vcpu_control_msr {
+ __u8 enable;
+ __u8 padding1;
+ __u16 padding2;
+ __u32 msr;
+ };
+
+:Returns:
+
+::
+
+ struct kvmi_error_code
+
+Enables/disables introspectio...
2020 Jul 21
0
[PATCH v9 75/84] KVM: introspection: add KVMI_VCPU_CONTROL_MSR and KVMI_EVENT_MSR
...KVMI_EVENT_MSR
KVMI_EVENT_XSETBV
When an event is enabled, the introspection tool is notified and
@@ -937,6 +938,45 @@ Returns the guest memory type for a specific physical address.
* -KVM_EINVAL - the padding is not zero
* -KVM_EAGAIN - the selected vCPU can't be introspected yet
+22. KVMI_VCPU_CONTROL_MSR
+-------------------------
+
+:Architectures: x86
+:Versions: >= 1
+:Parameters:
+
+::
+
+ struct kvmi_vcpu_hdr;
+ struct kvmi_vcpu_control_msr {
+ __u8 enable;
+ __u8 padding1;
+ __u16 padding2;
+ __u32 msr;
+ };
+
+:Returns:
+
+::
+
+ struct kvmi_error_code
+
+Enables/disables introspectio...
2020 Feb 07
0
[RFC PATCH v7 74/78] KVM: introspection: add KVMI_VCPU_CONTROL_SINGLESTEP
...f --git a/virt/kvm/introspection/kvmi_int.h b/virt/kvm/introspection/kvmi_int.h
index 06b924277f37..64425ff16c7d 100644
--- a/virt/kvm/introspection/kvmi_int.h
+++ b/virt/kvm/introspection/kvmi_int.h
@@ -50,6 +50,7 @@
| BIT(KVMI_VCPU_CONTROL_CR) \
| BIT(KVMI_VCPU_CONTROL_EVENTS) \
| BIT(KVMI_VCPU_CONTROL_MSR) \
+ | BIT(KVMI_VCPU_CONTROL_SINGLESTEP) \
| BIT(KVMI_VCPU_GET_CPUID) \
| BIT(KVMI_VCPU_GET_MTRR_TYPE) \
| BIT(KVMI_VCPU_GET_REGISTERS) \
@@ -168,5 +169,7 @@ bool kvmi_arch_pf_event(struct kvm_vcpu *vcpu, gpa_t gpa, gva_t gva,
u8 access);
bool kvmi_arch_pf_of_interest(struct kvm_...
2020 Jul 21
0
[PATCH v9 77/84] KVM: introspection: add KVMI_VM_SET_PAGE_ACCESS
...ess_tree;
+ rwlock_t access_tree_lock;
};
int kvmi_version(void);
diff --git a/include/uapi/linux/kvmi.h b/include/uapi/linux/kvmi.h
index 2872f90ff092..dc82f192534c 100644
--- a/include/uapi/linux/kvmi.h
+++ b/include/uapi/linux/kvmi.h
@@ -45,6 +45,8 @@ enum {
KVMI_VCPU_GET_MTRR_TYPE = 21,
KVMI_VCPU_CONTROL_MSR = 22,
+ KVMI_VM_SET_PAGE_ACCESS = 23,
+
KVMI_NUM_MESSAGES
};
@@ -68,6 +70,12 @@ enum {
KVMI_EVENT_ACTION_CRASH = 2,
};
+enum {
+ KVMI_PAGE_ACCESS_R = 1 << 0,
+ KVMI_PAGE_ACCESS_W = 1 << 1,
+ KVMI_PAGE_ACCESS_X = 1 << 2,
+};
+
struct kvmi_msg_hdr {
__u16 id;
_...
2020 Jul 22
0
[RFC PATCH v1 13/34] KVM: introspection: add KVMI_VCPU_GET_EPT_VIEW
...u_reply(job, msg, 0, &rpl, sizeof(rpl));
+}
+
/*
* These functions are executed from the vCPU thread. The receiving thread
* passes the messages using a newly allocated 'struct kvmi_vcpu_msg_job'
@@ -675,6 +688,7 @@ static int(*const msg_vcpu[])(const struct kvmi_vcpu_msg_job *,
[KVMI_VCPU_CONTROL_MSR] = handle_vcpu_control_msr,
[KVMI_VCPU_CONTROL_SINGLESTEP] = handle_vcpu_control_singlestep,
[KVMI_VCPU_GET_CPUID] = handle_vcpu_get_cpuid,
+ [KVMI_VCPU_GET_EPT_VIEW] = handle_vcpu_get_ept_view,
[KVMI_VCPU_GET_INFO] = handle_vcpu_get_info,
[KVMI_VCPU_GET_MTRR...
2020 Feb 07
0
[RFC PATCH v7 70/78] KVM: introspection: restore the state of MSR interception on unhook
...ator(struct kvm_vcpu *vcpu)
+{
+ struct kvmi_interception *arch = vcpu->arch.kvmi;
+
+ return (arch && arch->msrw.monitor_fct == monitor_msrw_fct_kvmi);
+}
+EXPORT_SYMBOL(kvmi_msrw_intercept_originator);
int kvmi_arch_cmd_vcpu_control_msr(struct kvm_vcpu *vcpu,
const struct kvmi_vcpu_control_msr *req)
@@ -833,9 +926,7 @@ int kvmi_arch_cmd_vcpu_control_msr(struct kvm_vcpu *vcpu,
if (!kvmi_msr_valid(req->msr))
return -KVM_EINVAL;
- kvm_x86_ops->control_msr_intercept(vcpu, req->msr, MSR_TYPE_W,
- req->enable);
- msr_control(vcpu, req->msr, req->enable);
+ kvmi_...
2020 Feb 07
78
[RFC PATCH v7 00/78] VM introspection
...KVM: introspection: add KVMI_VCPU_CONTROL_CR and KVMI_EVENT_CR
KVM: introspection: add KVMI_VCPU_INJECT_EXCEPTION + KVMI_EVENT_TRAP
KVM: introspection: add KVMI_EVENT_XSETBV
KVM: introspection: add KVMI_VCPU_GET_XSAVE
KVM: introspection: add KVMI_VCPU_GET_MTRR_TYPE
KVM: introspection: add KVMI_VCPU_CONTROL_MSR and KVMI_EVENT_MSR
KVM: introspection: add KVMI_VM_SET_PAGE_ACCESS
KVM: introspection: add KVMI_EVENT_PF
KVM: introspection: emulate a guest page table walk on SPT violations
due to A/D bit updates
KVM: x86: call the page tracking code on emulation failure
Mircea C?rjaliu (2):
KVM: x...
2020 Jul 21
87
[PATCH v9 00/84] VM introspection
...KVM: introspection: add KVMI_VCPU_CONTROL_CR and KVMI_EVENT_CR
KVM: introspection: add KVMI_VCPU_INJECT_EXCEPTION + KVMI_EVENT_TRAP
KVM: introspection: add KVMI_EVENT_XSETBV
KVM: introspection: add KVMI_VCPU_GET_XSAVE
KVM: introspection: add KVMI_VCPU_GET_MTRR_TYPE
KVM: introspection: add KVMI_VCPU_CONTROL_MSR and KVMI_EVENT_MSR
KVM: introspection: add KVMI_VM_SET_PAGE_ACCESS
KVM: introspection: add KVMI_EVENT_PF
KVM: introspection: emulate a guest page table walk on SPT violations
due to A/D bit updates
KVM: x86: call the page tracking code on emulation failure
Mircea C?rjaliu (2):
KVM: x...
2020 Jul 22
34
[RFC PATCH v1 00/34] VM introspection - EPT Views and Virtualization Exceptions
This patch series is based on the VM introspection patches
(https://lore.kernel.org/kvm/20200721210922.7646-1-alazar at bitdefender.com/),
extending the introspection API with EPT Views and Virtualization
Exceptions (#VE) support.
The purpose of this series is to get an initial feedback and to see if
we are on the right track, especially because the changes made to add
the EPT views are not small