ISACaller: fix syscall emulation
authorJacob Lifshay <programmerjake@gmail.com>
Fri, 1 Dec 2023 07:15:45 +0000 (23:15 -0800)
committerJacob Lifshay <programmerjake@gmail.com>
Fri, 1 Dec 2023 07:24:45 +0000 (23:24 -0800)
commitcdd445a72085ee3faa35826a2c0449907a0504f7
tree9bf294c4346c4ce75b4b763db4651ffa9129bc27
parentdcd540c1055af5cabb2c18c67bbe5d6d1b70b744
ISACaller: fix syscall emulation

there were two bugs fixed:
1. sc emulation was missing a `return`, so it tried to run sc
   again after running sc and rfid, giving the wrong CIA and
   MSR values.
2. the code to replace and restore the instruction with rfid
   had the wrong endian on the load, so it was corrupting the
   instruction for the next time it was used. I just deleted
   the save/replace/restore code since it isn't needed anymore.

I then changed the syscall tests to ensure both the
bugs above don't happen again.
src/openpower/decoder/isa/caller.py
src/openpower/decoder/isa/test_syscall.py