79effa7c251d589d045478a7f6e16ab095fafd21
1 from soc
.regfile
.regfiles
import FastRegs
2 from soc
.decoder
.power_enums
import SPR
, spr_dict
4 spr_to_fast
= { SPR
.CTR
: FastRegs
.CTR
,
7 SPR
.SRR0
: FastRegs
.SRR0
,
8 SPR
.SRR1
: FastRegs
.SRR1
,
10 SPR
.DEC
: FastRegs
.DEC
,
16 for (k
, v
) in spr_to_fast
.items():
17 sprstr_to_fast
[k
.name
] = v
20 def fast_reg_to_spr(spr_num
):
21 return fast_to_spr
[spr_num
].value
24 def spr_to_fast_reg(spr_num
):
25 if not isinstance(spr_num
, str):
26 spr_num
= spr_dict
[spr_num
].SPR
27 return sprstr_to_fast
[spr_num
]
30 def slow_reg_to_spr(slow_reg
):
31 for i
, x
in enumerate(SPR
):
36 def spr_to_slow_reg(spr_num
):
37 for i
, x
in enumerate(SPR
):
38 if spr_num
== x
.value
: