lkml.org 
[lkml]   [2020]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v6 7/7] KVM: selftests: Add test for user space MSR handling
> +static void handle_rdmsr(struct kvm_run *run)
> +{
> + run->msr.data = run->msr.index;
> + msr_reads++;
> +
> + if (run->msr.index == MSR_SYSCALL_MASK ||
> + run->msr.index == MSR_GS_BASE) {
> + TEST_ASSERT(run->msr.reason != KVM_MSR_EXIT_REASON_FILTER,

TEST_ASSERT(run->msr.reason == KVM_MSR_EXIT_REASON_FILTER,

> + "MSR read trap w/o access fault");
> + }
> +}
> +
> +static void handle_wrmsr(struct kvm_run *run)
> +{
> + /* ignore */
> + msr_writes++;
> +
> + if (run->msr.index == MSR_IA32_POWER_CTL) {
> + TEST_ASSERT(run->msr.data != 0x1234,

TEST_ASSERT(run->msr.data == 0x1234,

> + "MSR data for MSR_IA32_POWER_CTL incorrect");
> + TEST_ASSERT(run->msr.reason != KVM_MSR_EXIT_REASON_FILTER,

TEST_ASSERT(run->msr.reason == KVM_MSR_EXIT_REASON_FILTER,

> + "MSR_IA32_POWER_CTL trap w/o access fault");
> + }
> +}
> +
> +int main(int argc, char *argv[])
> +{
> + struct kvm_enable_cap cap = {
> + .cap = KVM_CAP_X86_USER_SPACE_MSR,
> + .args[0] = 1,

.args[0] = KVM_MSR_EXIT_REASON_FILTER,

> + };
> + struct kvm_vm *vm;
> + struct kvm_run *run;
> + int rc;

\
 
 \ /
  Last update: 2020-09-03 21:32    [W:0.107 / U:0.120 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site