Home
last modified time | relevance | path

Searched refs:lpcr (Results 1 – 25 of 35) sorted by relevance

12

/openbmc/linux/arch/powerpc/kernel/
H A Ddt_cpu_ftrs.c70 u64 lpcr; member
80 mtspr(SPRN_LPCR, system_registers.lpcr); in __restore_cpu_cpufeatures()
211 u64 lpcr; in feat_enable_hv() local
221 lpcr = mfspr(SPRN_LPCR); in feat_enable_hv()
222 lpcr &= ~LPCR_LPES0; /* HV external interrupts */ in feat_enable_hv()
223 mtspr(SPRN_LPCR, lpcr); in feat_enable_hv()
245 u64 lpcr; in feat_enable_idle_nap() local
248 lpcr = mfspr(SPRN_LPCR); in feat_enable_idle_nap()
249 lpcr |= LPCR_PECE0; in feat_enable_idle_nap()
250 lpcr |= LPCR_PECE1; in feat_enable_idle_nap()
[all …]
H A Dcpu_setup_power.c29 static void init_LPCR_ISA300(u64 lpcr, u64 lpes) in init_LPCR_ISA300() argument
32 lpcr |= (lpes << LPCR_LPES_SH) & LPCR_LPES; in init_LPCR_ISA300()
33 lpcr |= LPCR_PECE0|LPCR_PECE1|LPCR_PECE2; in init_LPCR_ISA300()
34 lpcr |= (4ull << LPCR_DPFD_SH) & LPCR_DPFD; in init_LPCR_ISA300()
35 lpcr &= ~LPCR_HDICE; /* clear HDICE */ in init_LPCR_ISA300()
36 lpcr |= (4ull << LPCR_VC_SH); in init_LPCR_ISA300()
37 mtspr(SPRN_LPCR, lpcr); in init_LPCR_ISA300()
54 static void init_LPCR_ISA206(u64 lpcr, u64 lpes) in init_LPCR_ISA206() argument
56 lpcr |= (0x10ull << LPCR_VRMASD_SH) & LPCR_VRMASD; in init_LPCR_ISA206()
57 init_LPCR_ISA300(lpcr, lpes); in init_LPCR_ISA206()
H A Dsetup_64.c276 unsigned long lpcr = mfspr(SPRN_LPCR); in cpu_ready_for_interrupts() local
277 unsigned long new_lpcr = lpcr; in cpu_ready_for_interrupts()
290 if (new_lpcr != lpcr) in cpu_ready_for_interrupts()
/openbmc/qemu/target/ppc/
H A Dexcp_helper.c1681 target_ulong lpcr) in p7_interrupt_powersave() argument
1684 (lpcr & LPCR_P7_PECE0)) { in p7_interrupt_powersave()
1688 (lpcr & LPCR_P7_PECE1)) { in p7_interrupt_powersave()
1692 (lpcr & LPCR_P7_PECE2)) { in p7_interrupt_powersave()
1696 (lpcr & LPCR_P7_PECE2)) { in p7_interrupt_powersave()
1707 target_ulong lpcr) in p7_next_unmasked_interrupt() argument
1718 return p7_interrupt_powersave(pending_interrupts, lpcr); in p7_next_unmasked_interrupt()
1738 bool lpes0 = !!(lpcr & LPCR_LPES0); in p7_next_unmasked_interrupt()
1739 bool heic = !!(lpcr & LPCR_HEIC); in p7_next_unmasked_interrupt()
1766 target_ulong lpcr) in p8_interrupt_powersave() argument
[all …]
H A Dkvm.c2569 uint64_t lpcr = 0; in kvmppc_enable_cap_large_decr() local
2571 kvm_get_one_reg(cs, KVM_REG_PPC_LPCR_64, &lpcr); in kvmppc_enable_cap_large_decr()
2573 if (!!(lpcr & LPCR_LD) != !!enable) { in kvmppc_enable_cap_large_decr()
2575 lpcr |= LPCR_LD; in kvmppc_enable_cap_large_decr()
2577 lpcr &= ~LPCR_LD; in kvmppc_enable_cap_large_decr()
2579 kvm_set_one_reg(cs, KVM_REG_PPC_LPCR_64, &lpcr); in kvmppc_enable_cap_large_decr()
2580 kvm_get_one_reg(cs, KVM_REG_PPC_LPCR_64, &lpcr); in kvmppc_enable_cap_large_decr()
2582 if (!!(lpcr & LPCR_LD) != !!enable) { in kvmppc_enable_cap_large_decr()
/openbmc/qemu/hw/misc/
H A Dimx7_snvs.c35 VMSTATE_UINT64(lpcr, IMX7SNVSState),
60 ret = s->lpcr; in imx7_snvs_read()
73 s->lpcr = 0; in imx7_snvs_reset()
97 s->lpcr = v; in imx7_snvs_write()
/openbmc/linux/arch/powerpc/kvm/
H A Dbook3s_hv.c481 vcpu->arch.vcore->lpcr, vcpu->kvm->arch.sdr1, in kvmppc_dump_regs()
2104 unsigned long kvmppc_filter_lpcr_hv(struct kvm *kvm, unsigned long lpcr) in kvmppc_filter_lpcr_hv() argument
2108 lpcr &= ~LPCR_TC; in kvmppc_filter_lpcr_hv()
2112 lpcr &= ~LPCR_AIL; in kvmppc_filter_lpcr_hv()
2113 if ((lpcr & LPCR_AIL) != LPCR_AIL_3) in kvmppc_filter_lpcr_hv()
2114 lpcr &= ~LPCR_AIL; /* LPCR[AIL]=1/2 is disallowed */ in kvmppc_filter_lpcr_hv()
2122 lpcr &= ~LPCR_AIL; in kvmppc_filter_lpcr_hv()
2129 lpcr &= ~LPCR_LD; in kvmppc_filter_lpcr_hv()
2131 return lpcr; in kvmppc_filter_lpcr_hv()
2134 static void verify_lpcr(struct kvm *kvm, unsigned long lpcr) in verify_lpcr() argument
[all …]
H A Dbook3s_hv_builtin.c543 (vcpu->arch.vcore->lpcr & LPCR_AIL) == LPCR_AIL_3 && in inject_interrupt()
569 unsigned long lpcr; in kvmppc_guest_entry_inject_int() local
575 lpcr = mfspr(SPRN_LPCR); in kvmppc_guest_entry_inject_int()
576 lpcr |= ext << LPCR_MER_SH; in kvmppc_guest_entry_inject_int()
577 mtspr(SPRN_LPCR, lpcr); in kvmppc_guest_entry_inject_int()
585 if (!(lpcr & LPCR_LD)) in kvmppc_guest_entry_inject_int()
H A Dbook3s_hv_p9_entry.c301 static void switch_mmu_to_guest_radix(struct kvm *kvm, struct kvm_vcpu *vcpu, u64 lpcr) in switch_mmu_to_guest_radix() argument
318 mtspr(SPRN_LPCR, lpcr); in switch_mmu_to_guest_radix()
326 static void switch_mmu_to_guest_hpt(struct kvm *kvm, struct kvm_vcpu *vcpu, u64 lpcr) in switch_mmu_to_guest_hpt() argument
343 mtspr(SPRN_LPCR, lpcr); in switch_mmu_to_guest_hpt()
356 u64 lpcr = kvm->arch.host_lpcr; in switch_mmu_to_host() local
368 mtspr(SPRN_LPCR, lpcr); in switch_mmu_to_host()
532 int kvmhv_vcpu_entry_p9(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr, u64 *tb) in kvmhv_vcpu_entry_p9() argument
698 switch_mmu_to_guest_radix(kvm, vcpu, lpcr); in kvmhv_vcpu_entry_p9()
700 switch_mmu_to_guest_hpt(kvm, vcpu, lpcr); in kvmhv_vcpu_entry_p9()
846 if (!(lpcr & LPCR_LD)) /* Sign extend if not using large decrementer */ in kvmhv_vcpu_entry_p9()
H A Dbook3s_hv_nested.c72 hr->lpcr = swab64(hr->lpcr); in byteswap_hv_regs()
261 const struct hv_guest_state *l1_hv, u64 *lpcr) in load_l2_hv_regs() argument
277 *lpcr = kvmppc_filter_lpcr_hv(vcpu->kvm, in load_l2_hv_regs()
278 (vc->lpcr & ~mask) | (*lpcr & mask)); in load_l2_hv_regs()
303 u64 hdec_exp, lpcr; in kvmhv_enter_nested_guest() local
378 lpcr = l2_hv.lpcr; in kvmhv_enter_nested_guest()
379 load_l2_hv_regs(vcpu, &l2_hv, &saved_l1_hv, &lpcr); in kvmhv_enter_nested_guest()
384 r = kvmhv_run_single_vcpu(vcpu, hdec_exp, lpcr); in kvmhv_enter_nested_guest()
/openbmc/qemu/hw/ppc/
H A Dspapr_rtas.c135 target_ulong lpcr; in rtas_start_cpu() local
167 lpcr = env->spr[SPR_LPCR]; in rtas_start_cpu()
170 lpcr = (lpcr & ~LPCR_ILE) | (caller_lpcr & LPCR_ILE); in rtas_start_cpu()
173 lpcr = (lpcr & ~LPCR_AIL) | (caller_lpcr & LPCR_AIL); in rtas_start_cpu()
181 lpcr |= LPCR_UPRT | LPCR_GTSE | LPCR_HR; in rtas_start_cpu()
183 lpcr &= ~(LPCR_UPRT | LPCR_GTSE | LPCR_HR); in rtas_start_cpu()
187 ppc_store_lpcr(newcpu, lpcr); in rtas_start_cpu()
H A Dspapr_cpu_core.c35 target_ulong lpcr; in spapr_reset_vcpu() local
51 lpcr = env->spr[SPR_LPCR]; in spapr_reset_vcpu()
62 lpcr &= ~(LPCR_VPM1 | LPCR_ISL | LPCR_KBV | pcc->lpcr_pm); in spapr_reset_vcpu()
63 lpcr |= LPCR_LPES0 | LPCR_LPES1; in spapr_reset_vcpu()
66 ppc_store_lpcr(cpu, lpcr); in spapr_reset_vcpu()
H A Dspapr_nested.c152 save->lpcr = env->spr[SPR_LPCR]; in nested_save_state()
251 env->spr[SPR_LPCR] = load->lpcr; in nested_load_state()
337 target_ulong lpcr, lpcr_mask; in h_enter_nested() local
406 lpcr = (env->spr[SPR_LPCR] & ~lpcr_mask) | (hv_state.lpcr & lpcr_mask); in h_enter_nested()
407 lpcr |= LPCR_HR | LPCR_UPRT | LPCR_GTSE | LPCR_HVICE | LPCR_HDICE; in h_enter_nested()
408 lpcr &= ~LPCR_LPES0; in h_enter_nested()
409 l2_state.lpcr = lpcr & pcc->lpcr_mask; in h_enter_nested()
504 hvstate->lpcr = l2_state.lpcr; in spapr_exit_nested_hv()
882 GSE_ENV_DWM(GSB_VCPU_SPR_LPCR, lpcr, HVMASK_LPCR),
1743 target_ulong lpcr, lpcr_mask, hdec; in nested_papr_load_l2() local
[all …]
H A Dspapr_caps.c575 target_ulong lpcr = env->spr[SPR_LPCR]; in cap_large_decr_cpu_apply() local
586 lpcr |= LPCR_LD; in cap_large_decr_cpu_apply()
588 lpcr &= ~LPCR_LD; in cap_large_decr_cpu_apply()
590 ppc_store_lpcr(cpu, lpcr); in cap_large_decr_cpu_apply()
/openbmc/linux/drivers/rtc/
H A Drtc-snvs.c137 u32 lpcr; in snvs_rtc_enable() local
143 regmap_read(data->regmap, data->offset + SNVS_LPCR, &lpcr); in snvs_rtc_enable()
146 if (lpcr & SNVS_LPCR_SRTC_ENV) in snvs_rtc_enable()
149 if (!(lpcr & SNVS_LPCR_SRTC_ENV)) in snvs_rtc_enable()
/openbmc/linux/drivers/gpu/drm/imx/lcdc/
H A Dimx-lcdc.c144 u32 lpcr, lvcr, lhcr; in imx_lcdc_update_hw_registers() local
176 lpcr = readl(lcdc->base + IMX21LCDC_LPCR); in imx_lcdc_update_hw_registers()
177 lpcr &= ~IMX21LCDC_LPCR_BPIX; in imx_lcdc_update_hw_registers()
178 lpcr |= FIELD_PREP(IMX21LCDC_LPCR_BPIX, imx_lcdc_get_format(fb->format->format)); in imx_lcdc_update_hw_registers()
179 writel(lpcr, lcdc->base + IMX21LCDC_LPCR); in imx_lcdc_update_hw_registers()
/openbmc/qemu/include/hw/misc/
H A Dimx7_snvs.h38 uint64_t lpcr; member
/openbmc/linux/arch/powerpc/include/asm/
H A Dkvm_book3s.h89 ulong lpcr; member
262 unsigned long lpcr);
263 extern void kvmppc_update_lpcr(struct kvm *kvm, unsigned long lpcr,
311 u64 time_limit, unsigned long lpcr);
H A Dpnv-ocxl.h79 uint64_t lpcr, void __iomem **arva);
/openbmc/linux/arch/powerpc/mm/book3s64/
H A Dradix_pgtable.c532 unsigned long lpcr; in radix__early_init_mmu() local
578 lpcr = mfspr(SPRN_LPCR); in radix__early_init_mmu()
579 mtspr(SPRN_LPCR, lpcr | LPCR_UPRT | LPCR_HR); in radix__early_init_mmu()
594 unsigned long lpcr; in radix__early_init_mmu_secondary() local
599 lpcr = mfspr(SPRN_LPCR); in radix__early_init_mmu_secondary()
600 mtspr(SPRN_LPCR, lpcr | LPCR_UPRT | LPCR_HR); in radix__early_init_mmu_secondary()
616 unsigned long lpcr; in radix__mmu_cleanup_all() local
619 lpcr = mfspr(SPRN_LPCR); in radix__mmu_cleanup_all()
620 mtspr(SPRN_LPCR, lpcr & ~LPCR_UPRT); in radix__mmu_cleanup_all()
/openbmc/linux/arch/powerpc/platforms/powernv/
H A Didle.c299 u64 lpcr; member
349 sprs.lpcr = mfspr(SPRN_LPCR); in power7_idle_insn()
483 mtspr(SPRN_LPCR, sprs.lpcr); in power7_idle_insn()
587 u64 lpcr; member
664 sprs.lpcr = mfspr(SPRN_LPCR); in power9_idle_stop()
780 mtspr(SPRN_LPCR, sprs.lpcr); in power9_idle_stop()
H A Docxl.c487 uint64_t lpcr, void __iomem **arva) in pnv_ocxl_map_lpar() argument
509 lparid, lpcr); in pnv_ocxl_map_lpar()
H A Dvas-window.c276 u64 lpcr, val; in init_xlate_regs() local
291 lpcr = mfspr(SPRN_LPCR); in init_xlate_regs()
301 val = SET_FIELD(VAS_XLATE_LPCR_ISL, val, lpcr & LPCR_ISL); in init_xlate_regs()
302 val = SET_FIELD(VAS_XLATE_LPCR_TC, val, lpcr & LPCR_TC); in init_xlate_regs()
/openbmc/qemu/include/hw/ppc/
H A Dspapr_nested.h361 uint64_t lpcr; member
427 uint64_t lpcr; member
/openbmc/u-boot/arch/m68k/include/asm/
H A Dimmap_5235.h200 u16 lpcr; /* 0x06 Low-power Control register */ member

12