Anthony Liguori wrote: > Paul Brook wrote: >>> What would be really cool about this change is that we could introduce a >>> new set of commands to manipulate device state. We could save/restore >>> individual device state and that would allow us to dump device state via >>> the monitor and to manipulate individual fields of the device state. I >>> think this could be pretty useful for debugging. >>> >> >> I'd be reluctant to expose the savevm state to the user. >> >> For debugging qemu I don't see it providing any real benefit over >> firing up GDB and poking directly at the device directly. >> >> For debugging the guest there is some argument for exposing the device >> state (preferably via the gdb stub). However I think the savevm data >> tends to expose too many internal implementation details, > > That sounds like an issue with the devices. > > The savevm state should not contain internal implementation details as > that makes backwards compatibility hard to maintain. I think for a > large class of devices, the savevm state almost perfectly matches the > device register state and having a nice interface to that seems like a > useful thing. > I agree that most (but maybe not all) of the saved device states consist of register or register-like states that could nicely be presented to the user or even manipulated. To avoid illicit manipulations, we could add stricter test to loadvm handlers or define valid ranges of the fields. Or we could even mark certain fields as read-only or even internal (ie. hidden). In any case, such an interface would be a great improvement over having to debug qemu itself! If you are unfamiliar with the qemu design, this is surely no straightforward method for obtaining information about the virtual device states... Will see if I or some colleague can contribute to this effort. Jan