Lines Matching refs:vcpu

60 static void test_one_reg(struct kvm_vcpu *vcpu, uint64_t id, uint64_t value)  in test_one_reg()  argument
64 eval_reg = vcpu_get_reg(vcpu, id); in test_one_reg()
68 static void assert_noirq(struct kvm_vcpu *vcpu) in assert_noirq() argument
75 irqs = __vcpu_ioctl(vcpu, KVM_S390_GET_IRQ_STATE, &irq_state); in assert_noirq()
85 static void assert_clear(struct kvm_vcpu *vcpu) in assert_clear() argument
87 struct kvm_sync_regs *sync_regs = &vcpu->run->s.regs; in assert_clear()
92 vcpu_regs_get(vcpu, &regs); in assert_clear()
95 vcpu_sregs_get(vcpu, &sregs); in assert_clear()
98 vcpu_fpu_get(vcpu, &fpu); in assert_clear()
112 static void assert_initial_noclear(struct kvm_vcpu *vcpu) in assert_initial_noclear() argument
114 struct kvm_sync_regs *sync_regs = &vcpu->run->s.regs; in assert_initial_noclear()
129 static void assert_initial(struct kvm_vcpu *vcpu) in assert_initial() argument
131 struct kvm_sync_regs *sync_regs = &vcpu->run->s.regs; in assert_initial()
136 vcpu_sregs_get(vcpu, &sregs); in assert_initial()
159 TEST_ASSERT(vcpu->run->psw_addr == 0, "psw_addr == 0 (kvm_run)"); in assert_initial()
160 TEST_ASSERT(vcpu->run->psw_mask == 0, "psw_mask == 0 (kvm_run)"); in assert_initial()
162 vcpu_fpu_get(vcpu, &fpu); in assert_initial()
165 test_one_reg(vcpu, KVM_REG_S390_GBEA, 1); in assert_initial()
166 test_one_reg(vcpu, KVM_REG_S390_PP, 0); in assert_initial()
167 test_one_reg(vcpu, KVM_REG_S390_TODPR, 0); in assert_initial()
168 test_one_reg(vcpu, KVM_REG_S390_CPU_TIMER, 0); in assert_initial()
169 test_one_reg(vcpu, KVM_REG_S390_CLOCK_COMP, 0); in assert_initial()
172 static void assert_normal_noclear(struct kvm_vcpu *vcpu) in assert_normal_noclear() argument
174 struct kvm_sync_regs *sync_regs = &vcpu->run->s.regs; in assert_normal_noclear()
182 static void assert_normal(struct kvm_vcpu *vcpu) in assert_normal() argument
184 test_one_reg(vcpu, KVM_REG_S390_PFTOKEN, KVM_S390_PFAULT_TOKEN_INVALID); in assert_normal()
185 TEST_ASSERT(vcpu->run->s.regs.pft == KVM_S390_PFAULT_TOKEN_INVALID, in assert_normal()
187 assert_noirq(vcpu); in assert_normal()
190 static void inject_irq(struct kvm_vcpu *vcpu) in inject_irq() argument
200 irq->u.emerg.code = vcpu->id; in inject_irq()
201 irqs = __vcpu_ioctl(vcpu, KVM_S390_SET_IRQ_STATE, &irq_state); in inject_irq()
205 static struct kvm_vm *create_vm(struct kvm_vcpu **vcpu) in create_vm() argument
211 *vcpu = vm_vcpu_add(vm, ARBITRARY_NON_ZERO_VCPU_ID, guest_code_initial); in create_vm()
218 struct kvm_vcpu *vcpu; in test_normal() local
222 vm = create_vm(&vcpu); in test_normal()
224 vcpu_run(vcpu); in test_normal()
226 inject_irq(vcpu); in test_normal()
228 vcpu_ioctl(vcpu, KVM_S390_NORMAL_RESET, NULL); in test_normal()
231 assert_normal(vcpu); in test_normal()
233 assert_normal_noclear(vcpu); in test_normal()
234 assert_initial_noclear(vcpu); in test_normal()
241 struct kvm_vcpu *vcpu; in test_initial() local
245 vm = create_vm(&vcpu); in test_initial()
247 vcpu_run(vcpu); in test_initial()
249 inject_irq(vcpu); in test_initial()
251 vcpu_ioctl(vcpu, KVM_S390_INITIAL_RESET, NULL); in test_initial()
254 assert_normal(vcpu); in test_initial()
255 assert_initial(vcpu); in test_initial()
257 assert_initial_noclear(vcpu); in test_initial()
264 struct kvm_vcpu *vcpu; in test_clear() local
268 vm = create_vm(&vcpu); in test_clear()
270 vcpu_run(vcpu); in test_clear()
272 inject_irq(vcpu); in test_clear()
274 vcpu_ioctl(vcpu, KVM_S390_CLEAR_RESET, NULL); in test_clear()
277 assert_normal(vcpu); in test_clear()
278 assert_initial(vcpu); in test_clear()
279 assert_clear(vcpu); in test_clear()