Lines Matching full:lpcr
436 pr_err("lpcr = %.16lx sdr1 = %.16lx last_inst = %.8x\n", in kvmppc_dump_regs()
437 vcpu->arch.vcore->lpcr, vcpu->kvm->arch.sdr1, in kvmppc_dump_regs()
1622 if ((new_lpcr & LPCR_ILE) != (vc->lpcr & LPCR_ILE)) { in kvmppc_set_lpcr()
1651 /* Broken 32-bit version of LPCR must not clear top bits */ in kvmppc_set_lpcr()
1654 vc->lpcr = (vc->lpcr & ~mask) | (new_lpcr & mask); in kvmppc_set_lpcr()
1805 *val = get_reg_val(id, vcpu->arch.vcore->lpcr); in kvmppc_get_one_reg_hv()
2176 vcore->lpcr = kvm->arch.lpcr; in kvmppc_vcore_create()
3233 /* Use the split_info for LPCR/LPIDR changes */ in kvmppc_run_core()
3234 split_info.lpcr_req = vc->lpcr; in kvmppc_run_core()
3323 * threads woken up so they can do the LPCR/LPIDR change. in kvmppc_run_core()
3450 unsigned long lpcr) in kvmhv_load_hv_regs_and_go() argument
3464 * P8 and P9 suppress the HDEC exception when LPCR[HDICE] = 0, in kvmhv_load_hv_regs_and_go()
3517 mtspr(SPRN_LPCR, lpcr); in kvmhv_load_hv_regs_and_go()
3597 unsigned long lpcr) in kvmhv_p9_guest_entry() argument
3692 hvregs.lpcr = lpcr; in kvmhv_p9_guest_entry()
3720 trap = kvmhv_load_hv_regs_and_go(vcpu, time_limit, lpcr); in kvmhv_p9_guest_entry()
3725 if (!(lpcr & LPCR_LD)) /* Sign extend if not using large decrementer */ in kvmhv_p9_guest_entry()
4139 unsigned long lpcr) in kvmhv_run_single_vcpu() argument
4198 lpcr |= LPCR_MER; in kvmhv_run_single_vcpu()
4234 trap = kvmhv_p9_guest_entry(vcpu, time_limit, lpcr); in kvmhv_run_single_vcpu()
4417 vcpu->arch.vcore->lpcr); in kvmppc_vcpu_run_hv()
4658 * Update LPCR values in kvm->arch and in vcores.
4660 * of kvm->arch.lpcr update).
4662 void kvmppc_update_lpcr(struct kvm *kvm, unsigned long lpcr, unsigned long mask) in kvmppc_update_lpcr() argument
4667 if ((kvm->arch.lpcr & mask) == lpcr) in kvmppc_update_lpcr()
4670 kvm->arch.lpcr = (kvm->arch.lpcr & ~mask) | lpcr; in kvmppc_update_lpcr()
4677 vc->lpcr = (vc->lpcr & ~mask) | lpcr; in kvmppc_update_lpcr()
4716 unsigned long lpcr = 0, senc; in kvmppc_hv_setup_htab_rma() local
4775 /* Update VRMASD field in the LPCR */ in kvmppc_hv_setup_htab_rma()
4778 lpcr = senc << (LPCR_VRMASD_SH - 4); in kvmppc_hv_setup_htab_rma()
4779 kvmppc_update_lpcr(kvm, lpcr, LPCR_VRMASD); in kvmppc_hv_setup_htab_rma()
4782 /* Order updates to kvm->arch.lpcr etc. vs. mmu_ready */ in kvmppc_hv_setup_htab_rma()
4919 unsigned long lpcr, lpid; in kvmppc_core_init_vm_hv() local
4955 /* Init LPCR for virtual RMA mode */ in kvmppc_core_init_vm_hv()
4958 kvm->arch.host_lpcr = lpcr = mfspr(SPRN_LPCR); in kvmppc_core_init_vm_hv()
4959 lpcr &= LPCR_PECE | LPCR_LPES; in kvmppc_core_init_vm_hv()
4961 lpcr = 0; in kvmppc_core_init_vm_hv()
4963 lpcr |= (4UL << LPCR_DPFD_SH) | LPCR_HDICE | in kvmppc_core_init_vm_hv()
4969 lpcr |= LPCR_ONL; in kvmppc_core_init_vm_hv()
4975 * EE in HV mode with this LPCR still set) in kvmppc_core_init_vm_hv()
4978 lpcr &= ~LPCR_VPM0; in kvmppc_core_init_vm_hv()
4979 lpcr |= LPCR_HVICE | LPCR_HEIC; in kvmppc_core_init_vm_hv()
4986 lpcr |= LPCR_LPES; in kvmppc_core_init_vm_hv()
4995 lpcr &= ~LPCR_VPM1; in kvmppc_core_init_vm_hv()
4996 lpcr |= LPCR_UPRT | LPCR_GTSE | LPCR_HR; in kvmppc_core_init_vm_hv()
5005 kvm->arch.lpcr = lpcr; in kvmppc_core_init_vm_hv()
5432 unsigned long lpcr; in kvmhv_configure_mmu() local
5484 lpcr = (cfg->flags & KVM_PPC_MMUV3_GTSE) ? LPCR_GTSE : 0; in kvmhv_configure_mmu()
5485 kvmppc_update_lpcr(kvm, lpcr, LPCR_GTSE); in kvmhv_configure_mmu()