Lines Matching refs:run
108 struct kvm_run *run;
145 self->run = (struct kvm_run *)mmap(NULL, self->kvm_run_size,
147 ASSERT_NE(self->run, MAP_FAILED);
159 TH_LOG("VM created %p %p", self->run, self->sie_block);
190 munmap(self->run, self->kvm_run_size);
308 struct kvm_run *run = self->run;
312 TEST_ASSERT_EQ(KVM_EXIT_S390_UCONTROL, run->exit_reason);
313 switch (run->s390_ucontrol.pgm_code) {
315 seg_addr = run->s390_ucontrol.trans_exc_code & ~(SZ_1M - 1);
317 run->s390_ucontrol.trans_exc_code, seg_addr);
323 TEST_FAIL("UNEXPECTED PGM CODE %d", run->s390_ucontrol.pgm_code);
350 struct kvm_run *run = self->run;
352 switch (run->s390_sieic.ipa) {
359 run->psw_addr = run->psw_addr - ilen;
360 pr_info("rewind guest addr to 0x%.16llx\n", run->psw_addr);
375 struct kvm_run *run = self->run;
379 run->s390_sieic.icptcode,
380 run->s390_sieic.ipa,
381 run->s390_sieic.ipb);
382 switch (run->s390_sieic.icptcode) {
394 TEST_FAIL("UNEXPECTED SIEIC CODE %d", run->s390_sieic.icptcode);
402 struct kvm_run *run = self->run;
404 switch (run->exit_reason) {
414 pr_info("exit_reason %2d not handled\n", run->exit_reason);
419 /* run the VM until interrupted */
425 print_run(self->run, self->sie_block);
426 print_regs(self->run);
427 pr_debug("run %d / %d %s\n", rc, errno, strerror(errno));
436 TEST_ASSERT_EQ(KVM_EXIT_S390_SIEIC, self->run->exit_reason);
470 struct kvm_sync_regs *sync_regs = &self->run->s.regs;
471 struct kvm_run *run = self->run;
481 run->psw_mask = 0x0000000180000000ULL;
482 run->psw_addr = self->code_gpa;
488 run->kvm_dirty_regs |= KVM_SYNC_GPRS;
490 /* run and expect to fail with ucontrol pic segment translation */
493 ASSERT_EQ(KVM_EXIT_S390_UCONTROL, run->exit_reason);
495 ASSERT_EQ(PGM_SEGMENT_TRANSLATION, run->s390_ucontrol.pgm_code);
496 ASSERT_EQ(self->base_gpa + VM_MEM_SIZE, run->s390_ucontrol.trans_exc_code);
517 /* unmap and run loop again */
523 ASSERT_EQ(KVM_EXIT_S390_UCONTROL, run->exit_reason);
524 ASSERT_EQ(PGM_SEGMENT_TRANSLATION, run->s390_ucontrol.pgm_code);
531 struct kvm_sync_regs *sync_regs = &self->run->s.regs;
532 struct kvm_run *run = self->run;
538 run->kvm_dirty_regs |= KVM_SYNC_GPRS;
546 run->psw_mask = 0x0000000180000000ULL;
547 run->psw_addr = self->code_gpa;
549 /* run and expect interception of diag 44 */
561 /* run and expect interception of diag 44 again */
575 struct kvm_sync_regs *sync_regs = &self->run->s.regs;
577 struct kvm_run *run = self->run;
589 run->kvm_dirty_regs |= KVM_SYNC_GPRS;
592 run->psw_mask = 0x0000000180000000ULL;
593 run->psw_addr = self->code_gpa;
601 run->kvm_dirty_regs |= KVM_SYNC_GPRS;
611 TEST_ASSERT_EQ(KVM_EXIT_S390_SIEIC, self->run->exit_reason);
623 run->kvm_dirty_regs |= KVM_SYNC_GPRS;