Lines Matching refs:kvm_run
2120 static void sync_regs(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) in sync_regs() argument
2122 vcpu->arch.sie_block->gpsw.mask = kvm_run->psw_mask; in sync_regs()
2123 vcpu->arch.sie_block->gpsw.addr = kvm_run->psw_addr; in sync_regs()
2124 if (kvm_run->kvm_dirty_regs & KVM_SYNC_PREFIX) in sync_regs()
2125 kvm_s390_set_prefix(vcpu, kvm_run->s.regs.prefix); in sync_regs()
2126 if (kvm_run->kvm_dirty_regs & KVM_SYNC_CRS) { in sync_regs()
2127 memcpy(&vcpu->arch.sie_block->gcr, &kvm_run->s.regs.crs, 128); in sync_regs()
2131 if (kvm_run->kvm_dirty_regs & KVM_SYNC_ARCH0) { in sync_regs()
2132 vcpu->arch.sie_block->cputm = kvm_run->s.regs.cputm; in sync_regs()
2133 vcpu->arch.sie_block->ckc = kvm_run->s.regs.ckc; in sync_regs()
2134 vcpu->arch.sie_block->todpr = kvm_run->s.regs.todpr; in sync_regs()
2135 vcpu->arch.sie_block->pp = kvm_run->s.regs.pp; in sync_regs()
2136 vcpu->arch.sie_block->gbea = kvm_run->s.regs.gbea; in sync_regs()
2138 if (kvm_run->kvm_dirty_regs & KVM_SYNC_PFAULT) { in sync_regs()
2139 vcpu->arch.pfault_token = kvm_run->s.regs.pft; in sync_regs()
2140 vcpu->arch.pfault_select = kvm_run->s.regs.pfs; in sync_regs()
2141 vcpu->arch.pfault_compare = kvm_run->s.regs.pfc; in sync_regs()
2145 kvm_run->kvm_dirty_regs = 0; in sync_regs()
2148 static void store_regs(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) in store_regs() argument
2150 kvm_run->psw_mask = vcpu->arch.sie_block->gpsw.mask; in store_regs()
2151 kvm_run->psw_addr = vcpu->arch.sie_block->gpsw.addr; in store_regs()
2152 kvm_run->s.regs.prefix = kvm_s390_get_prefix(vcpu); in store_regs()
2153 memcpy(&kvm_run->s.regs.crs, &vcpu->arch.sie_block->gcr, 128); in store_regs()
2154 kvm_run->s.regs.cputm = vcpu->arch.sie_block->cputm; in store_regs()
2155 kvm_run->s.regs.ckc = vcpu->arch.sie_block->ckc; in store_regs()
2156 kvm_run->s.regs.todpr = vcpu->arch.sie_block->todpr; in store_regs()
2157 kvm_run->s.regs.pp = vcpu->arch.sie_block->pp; in store_regs()
2158 kvm_run->s.regs.gbea = vcpu->arch.sie_block->gbea; in store_regs()
2159 kvm_run->s.regs.pft = vcpu->arch.pfault_token; in store_regs()
2160 kvm_run->s.regs.pfs = vcpu->arch.pfault_select; in store_regs()
2161 kvm_run->s.regs.pfc = vcpu->arch.pfault_compare; in store_regs()
2164 int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) in kvm_arch_vcpu_ioctl_run() argument
2185 sync_regs(vcpu, kvm_run); in kvm_arch_vcpu_ioctl_run()
2191 kvm_run->exit_reason = KVM_EXIT_INTR; in kvm_arch_vcpu_ioctl_run()
2202 kvm_run->exit_reason = KVM_EXIT_S390_SIEIC; in kvm_arch_vcpu_ioctl_run()
2203 kvm_run->s390_sieic.icptcode = vcpu->arch.sie_block->icptcode; in kvm_arch_vcpu_ioctl_run()
2204 kvm_run->s390_sieic.ipa = vcpu->arch.sie_block->ipa; in kvm_arch_vcpu_ioctl_run()
2205 kvm_run->s390_sieic.ipb = vcpu->arch.sie_block->ipb; in kvm_arch_vcpu_ioctl_run()
2215 store_regs(vcpu, kvm_run); in kvm_arch_vcpu_ioctl_run()