logoalt Hacker News

xvilkatoday at 7:24 PM1 replyview on HN

The problem is that it's not sustainable - QEMU improved so much since the moment of fork and updating the QEMU code in Unicorn is always done manually. It is especially important for architectures that evolve quickly - ARM64, RISC-V, x86. Meanwhile, QEMU now has the notion of TCG plugins[1] that can read/write registers and memory, which is enough for most cases. You can see many examples of the plugins in contrib/plugins[2] directory of the mainline QEMU - a good starting point.

[1] https://www.qemu.org/docs/master/devel/tcg-plugins.html

[2] https://gitlab.com/qemu-project/qemu/-/tree/master/contrib/p...


Replies

Retr0idtoday at 7:42 PM

This looks useful for a lot of instrumentation use cases, but less so for building custom emulators, if I'm understanding it correctly.

show 1 reply