Lines Matching refs:sie_block

265 			kvm_clock_sync_scb(vcpu->arch.sie_block, *delta);  in kvm_clock_sync()
267 kvm->arch.epoch = vcpu->arch.sie_block->epoch; in kvm_clock_sync()
268 kvm->arch.epdx = vcpu->arch.sie_block->epdx; in kvm_clock_sync()
2222 free_page((unsigned long)(vcpu->arch.sie_block)); in kvm_arch_vcpu_destroy()
2295 vcpu->arch.sie_block->scaoh = (__u32)(((__u64)sca) >> 32); in sca_add_vcpu()
2296 vcpu->arch.sie_block->scaol = (__u32)(__u64)sca; in sca_add_vcpu()
2303 sca->cpu[vcpu->vcpu_id].sda = (__u64) vcpu->arch.sie_block; in sca_add_vcpu()
2304 vcpu->arch.sie_block->scaoh = (__u32)(((__u64)sca) >> 32); in sca_add_vcpu()
2305 vcpu->arch.sie_block->scaol = (__u32)(__u64)sca & ~0x3fU; in sca_add_vcpu()
2306 vcpu->arch.sie_block->ecb2 |= ECB2_ESCA; in sca_add_vcpu()
2311 sca->cpu[vcpu->vcpu_id].sda = (__u64) vcpu->arch.sie_block; in sca_add_vcpu()
2312 vcpu->arch.sie_block->scaoh = (__u32)(((__u64)sca) >> 32); in sca_add_vcpu()
2313 vcpu->arch.sie_block->scaol = (__u32)(__u64)sca; in sca_add_vcpu()
2358 vcpu->arch.sie_block->scaoh = scaoh; in sca_switch_to_extended()
2359 vcpu->arch.sie_block->scaol = scaol; in sca_switch_to_extended()
2360 vcpu->arch.sie_block->ecb2 |= ECB2_ESCA; in sca_switch_to_extended()
2443 vcpu->arch.sie_block->cputm -= get_tod_clock_fast() - vcpu->arch.cputm_start; in __stop_cpu_timer_accounting()
2485 vcpu->arch.sie_block->cputm = cputm; in kvm_s390_set_cpu_timer()
2497 return vcpu->arch.sie_block->cputm; in kvm_s390_get_cpu_timer()
2507 value = vcpu->arch.sie_block->cputm; in kvm_s390_get_cpu_timer()
2540 vcpu->arch.sie_block->gpsw.mask = 0UL; in kvm_s390_vcpu_initial_reset()
2541 vcpu->arch.sie_block->gpsw.addr = 0UL; in kvm_s390_vcpu_initial_reset()
2544 vcpu->arch.sie_block->ckc = 0UL; in kvm_s390_vcpu_initial_reset()
2545 vcpu->arch.sie_block->todpr = 0; in kvm_s390_vcpu_initial_reset()
2546 memset(vcpu->arch.sie_block->gcr, 0, 16 * sizeof(__u64)); in kvm_s390_vcpu_initial_reset()
2547 vcpu->arch.sie_block->gcr[0] = CR0_UNUSED_56 | in kvm_s390_vcpu_initial_reset()
2550 vcpu->arch.sie_block->gcr[14] = CR14_UNUSED_32 | in kvm_s390_vcpu_initial_reset()
2556 vcpu->arch.sie_block->gbea = 1; in kvm_s390_vcpu_initial_reset()
2557 vcpu->arch.sie_block->pp = 0; in kvm_s390_vcpu_initial_reset()
2558 vcpu->arch.sie_block->fpf &= ~FPF_BPBC; in kvm_s390_vcpu_initial_reset()
2570 vcpu->arch.sie_block->epoch = vcpu->kvm->arch.epoch; in kvm_arch_vcpu_postcreate()
2571 vcpu->arch.sie_block->epdx = vcpu->kvm->arch.epdx; in kvm_arch_vcpu_postcreate()
2579 vcpu->arch.sie_block->ictl |= ICTL_OPEREXC; in kvm_arch_vcpu_postcreate()
2589 vcpu->arch.sie_block->ecb3 &= ~(ECB3_AES | ECB3_DEA); in kvm_s390_vcpu_crypto_setup()
2592 vcpu->arch.sie_block->ecb3 |= ECB3_AES; in kvm_s390_vcpu_crypto_setup()
2594 vcpu->arch.sie_block->ecb3 |= ECB3_DEA; in kvm_s390_vcpu_crypto_setup()
2596 vcpu->arch.sie_block->crycbd = vcpu->kvm->arch.crypto.crycbd; in kvm_s390_vcpu_crypto_setup()
2601 free_page(vcpu->arch.sie_block->cbrlo); in kvm_s390_vcpu_unsetup_cmma()
2602 vcpu->arch.sie_block->cbrlo = 0; in kvm_s390_vcpu_unsetup_cmma()
2607 vcpu->arch.sie_block->cbrlo = get_zeroed_page(GFP_KERNEL); in kvm_s390_vcpu_setup_cmma()
2608 if (!vcpu->arch.sie_block->cbrlo) in kvm_s390_vcpu_setup_cmma()
2617 vcpu->arch.sie_block->ibc = model->ibc; in kvm_s390_vcpu_setup_model()
2619 vcpu->arch.sie_block->fac = (u32)(u64) model->fac_list; in kvm_s390_vcpu_setup_model()
2626 atomic_set(&vcpu->arch.sie_block->cpuflags, CPUSTAT_ZARCH | in kvm_arch_vcpu_setup()
2639 vcpu->arch.sie_block->ecb |= ECB_HOSTPROTINT; in kvm_arch_vcpu_setup()
2641 vcpu->arch.sie_block->ecb |= ECB_SRSI; in kvm_arch_vcpu_setup()
2643 vcpu->arch.sie_block->ecb |= ECB_TE; in kvm_arch_vcpu_setup()
2646 vcpu->arch.sie_block->ecb2 |= ECB2_PFMFI; in kvm_arch_vcpu_setup()
2648 vcpu->arch.sie_block->ecb2 |= ECB2_IEP; in kvm_arch_vcpu_setup()
2649 vcpu->arch.sie_block->eca = ECA_MVPGI | ECA_PROTEXCI; in kvm_arch_vcpu_setup()
2651 vcpu->arch.sie_block->eca |= ECA_CEI; in kvm_arch_vcpu_setup()
2653 vcpu->arch.sie_block->eca |= ECA_IB; in kvm_arch_vcpu_setup()
2655 vcpu->arch.sie_block->eca |= ECA_SII; in kvm_arch_vcpu_setup()
2657 vcpu->arch.sie_block->eca |= ECA_SIGPI; in kvm_arch_vcpu_setup()
2659 vcpu->arch.sie_block->eca |= ECA_VX; in kvm_arch_vcpu_setup()
2660 vcpu->arch.sie_block->ecd |= ECD_HOSTREGMGMT; in kvm_arch_vcpu_setup()
2663 vcpu->arch.sie_block->ecd |= ECD_MEF; in kvm_arch_vcpu_setup()
2665 vcpu->arch.sie_block->ecd |= ECD_ETOKENF; in kvm_arch_vcpu_setup()
2666 if (vcpu->arch.sie_block->gd) { in kvm_arch_vcpu_setup()
2667 vcpu->arch.sie_block->eca |= ECA_AIV; in kvm_arch_vcpu_setup()
2669 vcpu->arch.sie_block->gd & 0x3, vcpu->vcpu_id); in kvm_arch_vcpu_setup()
2671 vcpu->arch.sie_block->sdnxo = ((unsigned long) &vcpu->run->s.regs.sdnx) in kvm_arch_vcpu_setup()
2673 vcpu->arch.sie_block->riccbd = (unsigned long) &vcpu->run->s.regs.riccb; in kvm_arch_vcpu_setup()
2678 vcpu->arch.sie_block->ictl |= ICTL_ISKE | ICTL_SSKE | ICTL_RRBE; in kvm_arch_vcpu_setup()
2714 vcpu->arch.sie_block = &sie_page->sie_block; in kvm_arch_vcpu_create()
2715 vcpu->arch.sie_block->itdba = (unsigned long) &sie_page->itdb; in kvm_arch_vcpu_create()
2718 vcpu->arch.sie_block->mso = 0; in kvm_arch_vcpu_create()
2719 vcpu->arch.sie_block->msl = sclp.hamax; in kvm_arch_vcpu_create()
2721 vcpu->arch.sie_block->icpua = id; in kvm_arch_vcpu_create()
2723 vcpu->arch.sie_block->gd = (u32)(u64)kvm->arch.gisa; in kvm_arch_vcpu_create()
2724 if (vcpu->arch.sie_block->gd && sclp.has_gisaf) in kvm_arch_vcpu_create()
2725 vcpu->arch.sie_block->gd |= GISA_FORMAT1; in kvm_arch_vcpu_create()
2732 vcpu->arch.sie_block); in kvm_arch_vcpu_create()
2733 trace_kvm_s390_create_vcpu(id, vcpu, vcpu->arch.sie_block); in kvm_arch_vcpu_create()
2737 free_page((unsigned long)(vcpu->arch.sie_block)); in kvm_arch_vcpu_create()
2751 return !(vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE); in kvm_arch_vcpu_in_kernel()
2756 atomic_or(PROG_BLOCK_SIE, &vcpu->arch.sie_block->prog20); in kvm_s390_vcpu_block()
2762 atomic_andnot(PROG_BLOCK_SIE, &vcpu->arch.sie_block->prog20); in kvm_s390_vcpu_unblock()
2767 atomic_or(PROG_REQUEST, &vcpu->arch.sie_block->prog20); in kvm_s390_vcpu_request()
2773 atomic_andnot(PROG_REQUEST, &vcpu->arch.sie_block->prog20); in kvm_s390_vcpu_request_handled()
2783 while (vcpu->arch.sie_block->prog0c & PROG_IN_SIE) in exit_sie()
2832 r = put_user(vcpu->arch.sie_block->todpr, in kvm_arch_vcpu_ioctl_get_one_reg()
2836 r = put_user(vcpu->arch.sie_block->epoch, in kvm_arch_vcpu_ioctl_get_one_reg()
2844 r = put_user(vcpu->arch.sie_block->ckc, in kvm_arch_vcpu_ioctl_get_one_reg()
2860 r = put_user(vcpu->arch.sie_block->pp, in kvm_arch_vcpu_ioctl_get_one_reg()
2864 r = put_user(vcpu->arch.sie_block->gbea, in kvm_arch_vcpu_ioctl_get_one_reg()
2882 r = get_user(vcpu->arch.sie_block->todpr, in kvm_arch_vcpu_ioctl_set_one_reg()
2886 r = get_user(vcpu->arch.sie_block->epoch, in kvm_arch_vcpu_ioctl_set_one_reg()
2895 r = get_user(vcpu->arch.sie_block->ckc, in kvm_arch_vcpu_ioctl_set_one_reg()
2913 r = get_user(vcpu->arch.sie_block->pp, in kvm_arch_vcpu_ioctl_set_one_reg()
2917 r = get_user(vcpu->arch.sie_block->gbea, in kvm_arch_vcpu_ioctl_set_one_reg()
2955 memcpy(&vcpu->arch.sie_block->gcr, &sregs->crs, sizeof(sregs->crs)); in kvm_arch_vcpu_ioctl_set_sregs()
2967 memcpy(&sregs->crs, &vcpu->arch.sie_block->gcr, sizeof(sregs->crs)); in kvm_arch_vcpu_ioctl_get_sregs()
3151 vcpu->arch.sie_block->ihcpu = 0xffff; in kvm_s390_handle_requests()
3172 vcpu->arch.sie_block->ictl |= ICTL_OPEREXC; in kvm_s390_handle_requests()
3182 vcpu->arch.sie_block->ecb2 &= ~ECB2_CMMA; in kvm_s390_handle_requests()
3193 vcpu->arch.sie_block->ecb2 |= ECB2_CMMA; in kvm_s390_handle_requests()
3225 vcpu->arch.sie_block->epoch = kvm->arch.epoch; in kvm_s390_set_tod_clock()
3226 vcpu->arch.sie_block->epdx = kvm->arch.epdx; in kvm_s390_set_tod_clock()
3304 if ((vcpu->arch.sie_block->gpsw.mask & vcpu->arch.pfault_select) != in kvm_arch_setup_async_pf()
3311 if (!(vcpu->arch.sie_block->gcr[0] & CR0_SERVICE_SIGNAL_SUBMASK)) in kvm_arch_setup_async_pf()
3336 vcpu->arch.sie_block->gg14 = vcpu->run->s.regs.gprs[14]; in vcpu_pre_run()
3337 vcpu->arch.sie_block->gg15 = vcpu->run->s.regs.gprs[15]; in vcpu_pre_run()
3360 vcpu->arch.sie_block->icptcode = 0; in vcpu_pre_run()
3361 cpuflags = atomic_read(&vcpu->arch.sie_block->cpuflags); in vcpu_pre_run()
3387 rc = read_guest_instr(vcpu, vcpu->arch.sie_block->gpsw.addr, &opcode, 1); in vcpu_post_run_fault_in_sie()
3410 vcpu->arch.sie_block->icptcode); in vcpu_post_run()
3411 trace_kvm_s390_sie_exit(vcpu, vcpu->arch.sie_block->icptcode); in vcpu_post_run()
3416 vcpu->run->s.regs.gprs[14] = vcpu->arch.sie_block->gg14; in vcpu_post_run()
3417 vcpu->run->s.regs.gprs[15] = vcpu->arch.sie_block->gg15; in vcpu_post_run()
3421 sie_page = container_of(vcpu->arch.sie_block, in vcpu_post_run()
3422 struct sie_page, sie_block); in vcpu_post_run()
3428 if (vcpu->arch.sie_block->icptcode > 0) { in vcpu_post_run()
3434 vcpu->run->s390_sieic.icptcode = vcpu->arch.sie_block->icptcode; in vcpu_post_run()
3435 vcpu->run->s390_sieic.ipa = vcpu->arch.sie_block->ipa; in vcpu_post_run()
3436 vcpu->run->s390_sieic.ipb = vcpu->arch.sie_block->ipb; in vcpu_post_run()
3481 exit_reason = sie64a(vcpu->arch.sie_block, in __vcpu_run()
3503 vcpu->arch.sie_block->gpsw.mask = kvm_run->psw_mask; in sync_regs()
3504 vcpu->arch.sie_block->gpsw.addr = kvm_run->psw_addr; in sync_regs()
3508 memcpy(&vcpu->arch.sie_block->gcr, &kvm_run->s.regs.crs, 128); in sync_regs()
3514 vcpu->arch.sie_block->ckc = kvm_run->s.regs.ckc; in sync_regs()
3515 vcpu->arch.sie_block->todpr = kvm_run->s.regs.todpr; in sync_regs()
3516 vcpu->arch.sie_block->pp = kvm_run->s.regs.pp; in sync_regs()
3517 vcpu->arch.sie_block->gbea = kvm_run->s.regs.gbea; in sync_regs()
3533 !(vcpu->arch.sie_block->ecb3 & ECB3_RI)) { in sync_regs()
3535 vcpu->arch.sie_block->ecb3 |= ECB3_RI; in sync_regs()
3546 vcpu->arch.sie_block->ecb |= ECB_GS; in sync_regs()
3547 vcpu->arch.sie_block->ecd |= ECD_HOSTREGMGMT; in sync_regs()
3552 vcpu->arch.sie_block->fpf &= ~FPF_BPBC; in sync_regs()
3553 vcpu->arch.sie_block->fpf |= kvm_run->s.regs.bpbc ? FPF_BPBC : 0; in sync_regs()
3590 kvm_run->psw_mask = vcpu->arch.sie_block->gpsw.mask; in store_regs()
3591 kvm_run->psw_addr = vcpu->arch.sie_block->gpsw.addr; in store_regs()
3593 memcpy(&kvm_run->s.regs.crs, &vcpu->arch.sie_block->gcr, 128); in store_regs()
3595 kvm_run->s.regs.ckc = vcpu->arch.sie_block->ckc; in store_regs()
3596 kvm_run->s.regs.todpr = vcpu->arch.sie_block->todpr; in store_regs()
3597 kvm_run->s.regs.pp = vcpu->arch.sie_block->pp; in store_regs()
3598 kvm_run->s.regs.gbea = vcpu->arch.sie_block->gbea; in store_regs()
3602 kvm_run->s.regs.bpbc = (vcpu->arch.sie_block->fpf & FPF_BPBC) == FPF_BPBC; in store_regs()
3722 &vcpu->arch.sie_block->gpsw, 16); in kvm_s390_store_status_unloaded()
3728 &vcpu->arch.sie_block->todpr, 4); in kvm_s390_store_status_unloaded()
3732 clkcomp = vcpu->arch.sie_block->ckc >> 8; in kvm_s390_store_status_unloaded()
3738 &vcpu->arch.sie_block->gcr, 128); in kvm_s390_store_status_unloaded()
4115 vmf->page = virt_to_page(vcpu->arch.sie_block); in kvm_arch_vcpu_fault()