Home
last modified time | relevance | path

Searched refs:sprn (Results 1 – 17 of 17) sorted by relevance

/openbmc/qemu/target/ppc/
H A Dspr_common.h81 void spr_noaccess(DisasContext *ctx, int gprn, int sprn);
88 void spr_write_PMC(DisasContext *ctx, int sprn, int gprn);
90 void spr_read_xer(DisasContext *ctx, int gprn, int sprn);
91 void spr_write_xer(DisasContext *ctx, int sprn, int gprn);
92 void spr_read_lr(DisasContext *ctx, int gprn, int sprn);
93 void spr_write_lr(DisasContext *ctx, int sprn, int gprn);
94 void spr_read_ctr(DisasContext *ctx, int gprn, int sprn);
99 void spr_read_PMC(DisasContext *ctx, int gprn, int sprn);
102 void spr_read_tbl(DisasContext *ctx, int gprn, int sprn);
103 void spr_read_tbu(DisasContext *ctx, int gprn, int sprn);
[all …]
H A Dpower8-pmu.c27 if (sprn == SPR_POWER_PMC1) { in pmc_has_overflow_enabled()
174 for (sprn = SPR_POWER_PMC1; sprn <= SPR_POWER_PMC6; sprn++) { in pmu_update_cycles()
232 int sprn; in pmu_update_overflow_timers() local
238 for (sprn = SPR_POWER_PMC1; sprn <= SPR_POWER_PMC6; sprn++) { in pmu_update_overflow_timers()
246 int sprn; in pmu_delete_timers() local
248 for (sprn = SPR_POWER_PMC1; sprn <= SPR_POWER_PMC6; sprn++) { in pmu_delete_timers()
282 return env->spr[sprn]; in helper_read_pmc()
289 env->spr[sprn] = (uint32_t)value; in helper_store_pmc()
351 int i, sprn; in cpu_ppc_pmu_init() local
353 for (sprn = SPR_POWER_PMC1; sprn <= SPR_POWER_PMC6; sprn++) { in cpu_ppc_pmu_init()
[all …]
H A Dpower8-pmu-regs.c.inc69 gen_load_spr(ret, sprn);
257 spr_read_ureg(ctx, gprn, sprn);
262 spr_noaccess(ctx, gprn, sprn);
267 spr_read_ureg(ctx, gprn, sprn);
272 spr_noaccess(ctx, gprn, sprn);
277 spr_read_ureg(ctx, gprn, sprn);
282 spr_read_ureg(ctx, gprn, sprn);
287 spr_noaccess(ctx, gprn, sprn);
292 spr_noaccess(ctx, gprn, sprn);
297 spr_write_generic(ctx, sprn, gprn);
[all …]
H A Dmisc_helper.c36 qemu_log("Read SPR %d %03x => " TARGET_FMT_lx "\n", sprn, sprn, in helper_load_dump_spr()
37 env->spr[sprn]); in helper_load_dump_spr()
42 qemu_log("Write SPR %d %03x <= " TARGET_FMT_lx "\n", sprn, sprn, in helper_store_dump_spr()
43 env->spr[sprn]); in helper_store_dump_spr()
57 env->spr[sprn] = val; in helper_spr_core_write_generic()
63 cenv->spr[sprn] = val; in helper_spr_core_write_generic()
75 assert(sprn == SPR_CTRL); in helper_spr_write_CTRL()
77 env->spr[sprn] &= ~1U; in helper_spr_write_CTRL()
78 env->spr[sprn] |= run; in helper_spr_write_CTRL()
86 cenv->spr[sprn] &= ts_mask; in helper_spr_write_CTRL()
[all …]
H A Dtranslate.c395 sprn = ((sprn >> 5) & 0x1F) | ((sprn & 0x1F) << 5); in spr_noaccess()
744 IBAT[sprn & 1][(sprn - SPR_IBAT0U) / 2])); in spr_read_ibat()
784 DBAT[sprn & 1][(sprn - SPR_DBAT0U) / 2])); in spr_read_dbat()
980 if (sprn >= SPR_BOOKE_IVOR0 && sprn <= SPR_BOOKE_IVOR15) { in spr_write_excp_vector()
982 } else if (sprn >= SPR_BOOKE_IVOR32 && sprn <= SPR_BOOKE_IVOR37) { in spr_write_excp_vector()
984 } else if (sprn >= SPR_BOOKE_IVOR38 && sprn <= SPR_BOOKE_IVOR42) { in spr_write_excp_vector()
4758 (sprn >= 808 && sprn <= 811)) { in gen_op_mfspr()
4765 TARGET_FMT_lx "\n", sprn, sprn, ctx->cia); in gen_op_mfspr()
4776 if (ctx->pr || sprn == 0 || sprn == 4 || sprn == 5 || sprn == 6) { in gen_op_mfspr()
4935 (sprn >= 808 && sprn <= 811)) { in gen_mtspr()
[all …]
H A Dinternal.h128 uint32_t sprn = _SPR(opcode); in SPR() local
130 return ((sprn >> 5) & 0x1F) | ((sprn & 0x1F) << 5); in SPR()
/openbmc/linux/arch/powerpc/kvm/
H A Demulate.c75 static int kvmppc_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs) in kvmppc_emulate_mtspr() argument
80 switch (sprn) { in kvmppc_emulate_mtspr()
115 emulated = vcpu->kvm->arch.kvm_ops->emulate_mtspr(vcpu, sprn, in kvmppc_emulate_mtspr()
119 "0x%x\n", sprn); in kvmppc_emulate_mtspr()
133 switch (sprn) { in kvmppc_emulate_mfspr()
176 emulated = vcpu->kvm->arch.kvm_ops->emulate_mfspr(vcpu, sprn, in kvmppc_emulate_mfspr()
180 "0x%x\n", sprn); in kvmppc_emulate_mfspr()
198 int rs, rt, sprn; in kvmppc_emulate_instruction() local
214 sprn = get_sprn(inst); in kvmppc_emulate_instruction()
245 emulated = kvmppc_emulate_mfspr(vcpu, sprn, rt); in kvmppc_emulate_instruction()
[all …]
H A Dbook3s_emulate.c658 switch (sprn) { in kvmppc_find_bat()
682 switch (sprn) { in kvmppc_core_emulate_mtspr_pr()
793 (sprn == SPRN_TFHAR))) { in kvmppc_core_emulate_mtspr_pr()
804 if (sprn == SPRN_TFHAR) in kvmppc_core_emulate_mtspr_pr()
847 if (sprn & 0x10) { in kvmppc_core_emulate_mtspr_pr()
868 switch (sprn) { in kvmppc_core_emulate_mfspr_pr()
876 if (sprn % 2) in kvmppc_core_emulate_mfspr_pr()
973 if (sprn == SPRN_TFHAR) in kvmppc_core_emulate_mfspr_pr()
977 else if (sprn == SPRN_TFIAR) in kvmppc_core_emulate_mfspr_pr()
1015 if (sprn & 0x10) { in kvmppc_core_emulate_mfspr_pr()
[all …]
H A Dbooke.h75 int kvmppc_booke_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, ulong *spr_val);
76 int kvmppc_booke_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, ulong spr_val);
99 extern int kvmppc_core_emulate_mtspr_e500(struct kvm_vcpu *vcpu, int sprn,
101 extern int kvmppc_core_emulate_mfspr_e500(struct kvm_vcpu *vcpu, int sprn,
103 extern int kvmppc_core_emulate_mtspr_e500(struct kvm_vcpu *vcpu, int sprn,
105 extern int kvmppc_core_emulate_mfspr_e500(struct kvm_vcpu *vcpu, int sprn,
H A De500_emulate.c204 int kvmppc_core_emulate_mtspr_e500(struct kvm_vcpu *vcpu, int sprn, ulong spr_val) in kvmppc_core_emulate_mtspr_e500() argument
209 switch (sprn) { in kvmppc_core_emulate_mtspr_e500()
315 emulated = kvmppc_booke_emulate_mtspr(vcpu, sprn, spr_val); in kvmppc_core_emulate_mtspr_e500()
321 int kvmppc_core_emulate_mfspr_e500(struct kvm_vcpu *vcpu, int sprn, ulong *spr_val) in kvmppc_core_emulate_mfspr_e500() argument
326 switch (sprn) { in kvmppc_core_emulate_mfspr_e500()
447 emulated = kvmppc_booke_emulate_mfspr(vcpu, sprn, spr_val); in kvmppc_core_emulate_mfspr_e500()
H A Dbook3s.h22 int sprn, ulong spr_val);
24 int sprn, ulong *spr_val);
H A Dbooke_emulate.c120 int kvmppc_booke_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, ulong spr_val) in kvmppc_booke_emulate_mtspr() argument
125 switch (sprn) { in kvmppc_booke_emulate_mtspr()
379 int kvmppc_booke_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, ulong *spr_val) in kvmppc_booke_emulate_mfspr() argument
383 switch (sprn) { in kvmppc_booke_emulate_mfspr()
H A Dbook3s_hv.c5599 static int kvmppc_core_emulate_mtspr_hv(struct kvm_vcpu *vcpu, int sprn, in kvmppc_core_emulate_mtspr_hv() argument
5605 static int kvmppc_core_emulate_mfspr_hv(struct kvm_vcpu *vcpu, int sprn, in kvmppc_core_emulate_mfspr_hv() argument
/openbmc/linux/arch/powerpc/kernel/
H A Dkvm.c47 #define KVM_INST_SPR(sprn, moveto) (0x7c0002a6 | \ argument
48 (((sprn) & 0x1f) << 16) | \
49 (((sprn) & 0x3e0) << 6) | \
52 #define KVM_INST_MFSPR(sprn) KVM_INST_SPR(sprn, SPR_FROM) argument
53 #define KVM_INST_MTSPR(sprn) KVM_INST_SPR(sprn, SPR_TO) argument
/openbmc/linux/drivers/cpufreq/
H A Dpowernv-cpufreq.c437 static inline unsigned long get_pmspr(unsigned long sprn) in get_pmspr() argument
439 switch (sprn) { in get_pmspr()
452 static inline void set_pmspr(unsigned long sprn, unsigned long val) in set_pmspr() argument
454 switch (sprn) { in set_pmspr()
/openbmc/linux/arch/powerpc/include/asm/
H A Dkvm_ppc.h297 int (*emulate_mtspr)(struct kvm_vcpu *vcpu, int sprn, ulong spr_val);
298 int (*emulate_mfspr)(struct kvm_vcpu *vcpu, int sprn, ulong *spr_val);
H A Dopal.h200 int64_t opal_slw_set_reg(uint64_t cpu_pir, uint64_t sprn, uint64_t val);