Lines Matching refs:run

262 		 * Now run the same tests with the instruction emulator.
388 if (vcpu->run->exit_reason == KVM_EXIT_IO &&
396 struct kvm_run *run = vcpu->run;
401 TEST_ASSERT(run->msr.index == msr_index,
403 run->msr.index, msr_index);
405 switch (run->msr.index) {
407 run->msr.data = 0;
410 run->msr.error = 1;
413 run->msr.data = msr_non_existent_data;
416 run->msr.data = MSR_FS_BASE;
419 run->msr.data = MSR_GS_BASE;
422 TEST_ASSERT(false, "Unexpected MSR: 0x%04x", run->msr.index);
428 struct kvm_run *run = vcpu->run;
433 TEST_ASSERT(run->msr.index == msr_index,
435 run->msr.index, msr_index);
437 switch (run->msr.index) {
439 if (run->msr.data != 0)
440 run->msr.error = 1;
443 if (run->msr.data != 1)
444 run->msr.error = 1;
447 msr_non_existent_data = run->msr.data;
450 TEST_ASSERT(false, "Unexpected MSR: 0x%04x", run->msr.index);
571 printf("To run the instruction emulated tests set the module parameter 'kvm.force_emulation_prefix=1'\n");
595 static void handle_rdmsr(struct kvm_run *run)
597 run->msr.data = run->msr.index;
600 if (run->msr.index == MSR_SYSCALL_MASK ||
601 run->msr.index == MSR_GS_BASE) {
602 TEST_ASSERT(run->msr.reason == KVM_MSR_EXIT_REASON_FILTER,
606 if (run->msr.index == 0xdeadbeef) {
607 TEST_ASSERT(run->msr.reason == KVM_MSR_EXIT_REASON_UNKNOWN,
612 static void handle_wrmsr(struct kvm_run *run)
617 if (run->msr.index == MSR_IA32_POWER_CTL) {
618 TEST_ASSERT(run->msr.data == 0x1234,
620 TEST_ASSERT(run->msr.reason == KVM_MSR_EXIT_REASON_FILTER,
624 if (run->msr.index == 0xdeadbeef) {
625 TEST_ASSERT(run->msr.data == 0x1234,
627 TEST_ASSERT(run->msr.reason == KVM_MSR_EXIT_REASON_UNKNOWN,
635 struct kvm_run *run = vcpu->run;
653 switch (run->exit_reason) {
655 handle_rdmsr(run);
658 handle_wrmsr(run);