2 ms·
At this point Unicorn is a hard fork with a very specific goal. It accomplishes this goal much better than upstream QEMU. I believe combined TCG / no-globals sh
by lunixbochs 11y ago
At this point Unicorn is a hard fork with a very specific goal. It accomplishes this goal much better than upstream QEMU. I believe combined TCG / no-globals should be upstreamed (I think I actually saw commits in 2.5 about supporting multiple architectures in one QEMU binary?), but I don't know if anyone working on Unicorn has talked to anyone upstream about this.
I believe Unicorn also contains QEMU bugfixes.
To me, in an ideal world, we might have something like this:
libqemu-cpu - Basically Unicorn. C library/API to easily create/hook/manipulate one or more CPUs.
libqemu-system - All hardware/peripheral support from QEMU. Attach any component(s) to a supported CPU at runtime.
libqemu-user - The current qemu-user, except as a library with syscall/whatever hooking support. There'd probably be a good amount of code generation here.