|
|
|
|
|
by pjsoberoi
1013 days ago
|
|
Thanks for sharing, I enjoyed your project. I'm also interested in processor module verification. May I offer some performance suggestions: - You don't need Ghidra to use Ghidra's p-code emulator - Ghidra's p-code emulator is part of the decompiler which is cpp not Java. It's located in ~/Ghidra/Features/Decompiler/src/decompile/cpp in source. There are examples there as well - So instead of communicating back in forth with Ghidra itself, hack up your emulator to also use Ghidra's p-code emulator. At every step you can save state, run your emulator and the p-code emulator, and diff the final state. If there's any differences one (or both) emulators are wrong. This will likely be too slow to play but should be much faster than your current approach. Hope this helps. |
|
[1]: https://github.com/NationalSecurityAgency/ghidra/blob/4561e8...
[2]: https://github.com/NationalSecurityAgency/ghidra/blob/4561e8...