Lines Matching refs:lpcr
478 vcpu->arch.vcore->lpcr, vcpu->kvm->arch.sdr1, in kvmppc_dump_regs()
2089 unsigned long kvmppc_filter_lpcr_hv(struct kvm *kvm, unsigned long lpcr) in kvmppc_filter_lpcr_hv() argument
2093 lpcr &= ~LPCR_TC; in kvmppc_filter_lpcr_hv()
2097 lpcr &= ~LPCR_AIL; in kvmppc_filter_lpcr_hv()
2098 if ((lpcr & LPCR_AIL) != LPCR_AIL_3) in kvmppc_filter_lpcr_hv()
2099 lpcr &= ~LPCR_AIL; /* LPCR[AIL]=1/2 is disallowed */ in kvmppc_filter_lpcr_hv()
2107 lpcr &= ~LPCR_AIL; in kvmppc_filter_lpcr_hv()
2114 lpcr &= ~LPCR_LD; in kvmppc_filter_lpcr_hv()
2116 return lpcr; in kvmppc_filter_lpcr_hv()
2119 static void verify_lpcr(struct kvm *kvm, unsigned long lpcr) in verify_lpcr() argument
2121 if (lpcr != kvmppc_filter_lpcr_hv(kvm, lpcr)) { in verify_lpcr()
2123 lpcr, kvmppc_filter_lpcr_hv(kvm, lpcr)); in verify_lpcr()
2150 (vc->lpcr & ~mask) | (new_lpcr & mask)); in kvmppc_set_lpcr()
2156 if ((new_lpcr & LPCR_ILE) != (vc->lpcr & LPCR_ILE)) { in kvmppc_set_lpcr()
2170 vc->lpcr = new_lpcr; in kvmppc_set_lpcr()
2330 *val = get_reg_val(id, vcpu->arch.vcore->lpcr); in kvmppc_get_one_reg_hv()
2722 vcore->lpcr = kvm->arch.lpcr; in kvmppc_vcore_create()
3192 if (kvm->arch.lpcr & LPCR_GTSE) in do_migrate_away_vcpu()
4019 static int kvmhv_vcpu_entry_p9_nested(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr, u6… in kvmhv_vcpu_entry_p9_nested() argument
4052 hvregs.lpcr = lpcr; in kvmhv_vcpu_entry_p9_nested()
4098 if (!(lpcr & LPCR_LD)) /* Sign extend if not using large decrementer */ in kvmhv_vcpu_entry_p9_nested()
4116 unsigned long lpcr, u64 *tb) in kvmhv_p9_guest_entry() argument
4136 trap = kvmhv_vcpu_entry_p9_nested(vcpu, time_limit, lpcr, tb); in kvmhv_p9_guest_entry()
4148 trap = kvmhv_vcpu_entry_p9(vcpu, time_limit, lpcr, tb); in kvmhv_p9_guest_entry()
4155 trap = kvmhv_vcpu_entry_p9(vcpu, time_limit, lpcr, tb); in kvmhv_p9_guest_entry()
4567 unsigned long lpcr) in kvmhv_run_single_vcpu() argument
4644 lpcr |= LPCR_MER; in kvmhv_run_single_vcpu()
4671 trap = kvmhv_p9_guest_entry(vcpu, time_limit, lpcr, &tb); in kvmhv_run_single_vcpu()
4844 vcpu->arch.vcore->lpcr); in kvmppc_vcpu_run_hv()
5094 void kvmppc_update_lpcr(struct kvm *kvm, unsigned long lpcr, unsigned long mask) in kvmppc_update_lpcr() argument
5099 if ((kvm->arch.lpcr & mask) == lpcr) in kvmppc_update_lpcr()
5102 kvm->arch.lpcr = (kvm->arch.lpcr & ~mask) | lpcr; in kvmppc_update_lpcr()
5110 vc->lpcr = (vc->lpcr & ~mask) | lpcr; in kvmppc_update_lpcr()
5111 verify_lpcr(kvm, vc->lpcr); in kvmppc_update_lpcr()
5150 unsigned long lpcr = 0, senc; in kvmppc_hv_setup_htab_rma() local
5212 lpcr = senc << (LPCR_VRMASD_SH - 4); in kvmppc_hv_setup_htab_rma()
5213 kvmppc_update_lpcr(kvm, lpcr, LPCR_VRMASD); in kvmppc_hv_setup_htab_rma()
5235 unsigned long lpcr, lpcr_mask; in kvmppc_switch_mmu_to_hpt() local
5247 lpcr = LPCR_VPM1; in kvmppc_switch_mmu_to_hpt()
5251 kvmppc_update_lpcr(kvm, lpcr, lpcr_mask); in kvmppc_switch_mmu_to_hpt()
5262 unsigned long lpcr, lpcr_mask; in kvmppc_switch_mmu_to_radix() local
5275 lpcr = LPCR_UPRT | LPCR_GTSE | LPCR_HR; in kvmppc_switch_mmu_to_radix()
5281 lpcr |= LPCR_HAIL; in kvmppc_switch_mmu_to_radix()
5283 kvmppc_update_lpcr(kvm, lpcr, lpcr_mask); in kvmppc_switch_mmu_to_radix()
5373 unsigned long lpcr, lpid; in kvmppc_core_init_vm_hv() local
5411 kvm->arch.host_lpcr = lpcr = mfspr(SPRN_LPCR); in kvmppc_core_init_vm_hv()
5412 lpcr &= LPCR_PECE | LPCR_LPES; in kvmppc_core_init_vm_hv()
5418 lpcr = 0; in kvmppc_core_init_vm_hv()
5420 lpcr |= (4UL << LPCR_DPFD_SH) | LPCR_HDICE | in kvmppc_core_init_vm_hv()
5426 lpcr |= LPCR_ONL; in kvmppc_core_init_vm_hv()
5435 lpcr &= ~LPCR_VPM0; in kvmppc_core_init_vm_hv()
5436 lpcr |= LPCR_HVICE | LPCR_HEIC; in kvmppc_core_init_vm_hv()
5443 lpcr |= LPCR_LPES; in kvmppc_core_init_vm_hv()
5452 lpcr &= ~LPCR_VPM1; in kvmppc_core_init_vm_hv()
5453 lpcr |= LPCR_UPRT | LPCR_GTSE | LPCR_HR; in kvmppc_core_init_vm_hv()
5457 lpcr |= LPCR_HAIL; in kvmppc_core_init_vm_hv()
5466 verify_lpcr(kvm, lpcr); in kvmppc_core_init_vm_hv()
5467 kvm->arch.lpcr = lpcr; in kvmppc_core_init_vm_hv()
5896 unsigned long lpcr; in kvmhv_configure_mmu() local
5948 lpcr = (cfg->flags & KVM_PPC_MMUV3_GTSE) ? LPCR_GTSE : 0; in kvmhv_configure_mmu()
5949 kvmppc_update_lpcr(kvm, lpcr, LPCR_GTSE); in kvmhv_configure_mmu()