Hey guys, I’ve been messing around with DMLC (Device Modeling Language Compiler) and I’m wondering if anyone knows if it’s possible to make it work with QEMU. Right now it only works with Simics, but I heard it might be able to use other stuff too. Has anyone tried hooking it up to QEMU? Are there any big problems I should watch out for if I try? I’m pretty new to this, so any tips would be awesome. Thanks!
ooh, that’s an interesting idea! have you looked into qemu’s plugin system? maybe there’s a way to bridge dmlc and qemu through that? it might be easier than rewriting the whole backend. what kind of devices are you trying to model? i’m super curious about your project now!
hey there, i’ve played around with dmlc a bit. expanding it to qemu sounds tricky but cool! have u checked out tcg (tiny code generator) in qemu? might be a good starting point. also, the qom (qemu object model) could be useful for device stuff. good luck with ur project!
Expanding DMLC to work with QEMU is an intriguing idea, but it’s not a straightforward task. The primary challenge lies in the architectural differences between Simics and QEMU. DMLC was specifically designed for Simics’ simulation environment, so adapting it to QEMU would require significant modifications to the compiler’s backend.
That said, it’s not impossible. You’d need to develop a new code generation target for QEMU’s device model framework. This would involve mapping DMLC’s abstractions to QEMU’s device API, which is quite different from Simics’. You’d also need to handle QEMU-specific features like its event loop and memory management.
If you’re serious about this project, I’d recommend starting by thoroughly studying QEMU’s device model implementation and comparing it with Simics’. This will give you a clearer picture of the work involved. It’s a complex undertaking, but could be very rewarding if successful.