|
|
|
|
|
by garaetjjte
343 days ago
|
|
Load delay slots doesn't seem to need special fault handling support, you're not supposed to depend on old value being there in the delay slot. One more thing about branch delay slots: It seems original SuperH went for very minimal solution. It prevents interrupts being taken between branch and delay slot, and not much else. PC-relative accesses are relative to the branch target, and faults are also reported with branch target address. As far I can see this makes faults in branch delay slots unrecoverable. In SH-3 they patched that by reporting faults in delay slots for taken branches with branch address itself, so things can be fixed up in the fault handler. |
|
As for SH2, ouch! So SH2 got pretty badly screwed by delay slots, eh?