1 from openpower
.decoder
.power_enums
import XER_bits
5 def __init__(self
, sim
):
11 simregval
= self
.sim
.gpr
[i
].asint()
12 self
.intregs
.append(simregval
)
17 cri
= self
.sim
.crl
[7 - i
].get_range().value
18 self
.crregs
.append(cri
)
21 self
.so
= self
.sim
.spr
['XER'][XER_bits
['SO']].value
22 self
.ov
= self
.sim
.spr
['XER'][XER_bits
['OV']].value
23 self
.ov32
= self
.sim
.spr
['XER'][XER_bits
['OV32']].value
24 self
.ca
= self
.sim
.spr
['XER'][XER_bits
['CA']].value
25 self
.ca32
= self
.sim
.spr
['XER'][XER_bits
['CA32']].value
26 self
.ov
= self
.ov |
(self
.ov32
<< 1)
27 self
.ca
= self
.ca |
(self
.ca32
<< 1)
30 self
.pc
= self
.sim
.pc
.CIA
.value
34 def __init__(self
, core
):
37 def get_intregs(self
):
40 if self
.core
.regs
.int.unary
:
41 rval
= yield self
.core
.regs
.int.regs
[i
].reg
43 rval
= yield self
.core
.regs
.int.memory_array
[i
]
44 self
.intregs
.append(rval
)
45 print("class core int regs", list(map(hex, intregs
)))