macaw/macaw-ppc-symbolic
Ryan Scott 98290062a7 macaw-ppc-symbolic: Add support for simulating syscalls
This adds the necessary changes to `macaw-ppc-symbolic` and `macaw-ppc` in
order to simulate system calls, similarly to how it is done when simulating
x86-64 and AArch32 code:

* In `macaw-ppc`, remove `PPCSyscall` from `TermStmt` and instead make it a
  constructor for `PPCPrimFn`. (Note that there are some minor discrepancies
  between which registers are used in PPC32 versus PPC64, which we explain in
  the Haddocks for the new `PPCSyscall` constructor.)
* Update `macaw-ppc`'s `ppcInstructionMatcher` function so that calls to the
  `sc` (system call) instruction make use of `PPCSyscall`.
* Update `macaw-ppc-symbolic`'s `ppcGenFn` function to make it possible to hook
  into PPC system calls using `MacawLookupSyscallHandle`.

Fixes #387.
2024-08-01 10:34:44 -04:00
..
src/Data/Macaw/PPC macaw-ppc-symbolic: Add support for simulating syscalls 2024-08-01 10:34:44 -04:00
tests macaw-symbolic: Test both memory model configurations in test suites 2023-03-14 13:27:07 -04:00
ChangeLog.md Start macaw-ppc-symbolic 2018-05-03 16:41:33 -07:00
LICENSE Start macaw-ppc-symbolic 2018-05-03 16:41:33 -07:00
macaw-ppc-symbolic.cabal symbolic: Make {lookup,update}Reg implementations panic rather than error 2024-07-26 15:25:29 -04:00
Setup.hs Start macaw-ppc-symbolic 2018-05-03 16:41:33 -07:00