[Libre-soc-bugs] [Bug 982] Support PowerPC ABI in ISACaller
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Sun Oct 22 23:37:38 BST 2023
https://bugs.libre-soc.org/show_bug.cgi?id=982
--- Comment #133 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
dmitry just so you know (i will look at this tomorrow):
11 * sc LEV
12
13 Pseudo-code:
14
15 SRR0 <-iea CIA + 4
16 SRR1[33:36] <- 0
17 SRR1[42:47] <- 0
18 SRR1[0:32] <- MSR[0:32]
19 SRR1[37:41] <- MSR[37:41]
20 SRR1[48:63] <- MSR[48:63]
21 TRAP(0xC00) <<<<--- this ACTUALLY calls ISACaller.TRAP(0xc00)
which you will find at... errr.... here:
1318 def TRAP(self, trap_addr=0x700, trap_bit=PIb.TRAP):
1319 """TRAP> saves PC, MSR (and TODO SVSTATE), and updates MSR
1320 ...
...
....
1339 self.spr['SRR1'][trap_bit] = 1 # change *copy* of MSR in SRR1
so yes, this is why you should find that SRR1[PIb.TRAP] has been set to 1
because that's what ISACaller.TRAP() does. whether that is the right
thing to do, if you *really* want to look at Power ISA spec around page
1070 the interrupt tables and behaviours please feel free but no bonus
points given for doing so :)
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list