Issue
I am new to QEMU, but to support a system modeling project, I try to figure out how to emulate a new ARM microcontroller(M33 based) SOC which is not on the supported system list. I have checked on the QEMU documentation: https://qemu-project.gitlab.io/qemu/about/index.html but was not able to find directions to construct and add a new system model. I would appreciate very much if someone can point me to the right documentation, or suggest steps I can follow to generate the new model for emulation.
Solution
There is no documentation for how to write new machine models for QEMU. The best advice is to look at the source code for an existing machine type that seems similar to the one you want to add. Avoid looking at machine types that have been added to QEMU a long time ago -- they are often written in an older style or using older APIs which are no longer recommended for new code.
As a very rough rule of thumb, you should assume that a new machine model is about as much effort as porting an operating system to that new hardware. (Roughly, a device model is about as much code as a device driver.) Depending on how much functionality you need, you may be able to leave some or many devices in your SoC unimplemented -- the absolute minimum is usually something like a UART and a timer. You'll need documentation of the SoC (technical reference manual or similar, with detailed descriptions of the devices down to the register level).
(Out of curiosity, what is the M33-based SoC?)
Answered By - Peter Maydell
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.