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 20:42:15 +0000 (12:42 -0800)
commit6012b9744813c6e56ed1406bdd8036224b41417e
treedd3c414fc4929b5e7b2598b2d3c8381b1812f0c9
parentcfc88640e740fe4e0cb4c350c95f6cb2eb6b049b
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