/openbmc/qemu/target/ppc/ |
H A D | spr_common.h | 81 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 D | power8-pmu.c | 27 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 D | power8-pmu-regs.c.inc | 69 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 D | misc_helper.c | 36 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 D | translate.c | 395 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 D | internal.h | 128 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 D | emulate.c | 75 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 D | book3s_emulate.c | 658 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 D | booke.h | 75 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 D | e500_emulate.c | 204 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 D | book3s.h | 22 int sprn, ulong spr_val); 24 int sprn, ulong *spr_val);
|
H A D | booke_emulate.c | 120 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 D | book3s_hv.c | 5599 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 D | kvm.c | 47 #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 D | powernv-cpufreq.c | 437 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 D | kvm_ppc.h | 297 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 D | opal.h | 200 int64_t opal_slw_set_reg(uint64_t cpu_pir, uint64_t sprn, uint64_t val);
|