Hi, The following patch introduce a mechanism to test the correctness of the vmstate's information. This is achieved by saving the device states' information to a memory buffer and then clearing the states, followed by loading the data from the saved memory buffer.
v2 --> v3 * Made the devices list generic by removing the qdevified format. But, it only supports the qdevified devices. * Extended the SaveStateEntry for the VMstate testing purpose. * Replaced DPRINTF with trace_##name functions. * Squashed all of the hmp and qmp patches into one. * Rectified some mistakes in the documentation of the hmp and qmp interface explanations (the ones which I have introduced). * Now, I am relying only on the devices that have been qdevified. I am not using the qemu_system_reset() function for resetting the devices. v1 --> v2: * Added a list containing all the devices that have been qdevified and gets registered with the SaveStateEntry. * Have provided a way to use either qemu_system_reset functionality or my own version of qdev entries untill all the devices have been qdevified. This gives us the privilege to test any device we want. * Rename some of the variables. I am very bad at naming convention, thanks to community, specially Eric, I try to improve it with every version. * On Eric's advice, I have separated all of the qmp and hmp interface patches. * Changed the DPRINTF statements as required. Dr. David Alan Gilbert (1): QEMUSizedBuffer/QEMUFile Sanidhya Kashyap (5): VMState test: get information about the registered devices VMstate test: basic VMState testing mechanism VMState test: querying the vmstate testing process VMState test: update period of vmstate testing process VMState test: cancel mechanism for an already running vmstate testing process hmp-commands.hx | 49 +++++ hmp.c | 90 +++++++++ hmp.h | 5 + include/migration/qemu-file.h | 27 +++ monitor.c | 14 ++ qapi-schema.json | 106 +++++++++++ qemu-file.c | 411 ++++++++++++++++++++++++++++++++++++++++++ qmp-commands.hx | 145 +++++++++++++++ savevm.c | 332 ++++++++++++++++++++++++++++++++++ trace-events | 2 + 10 files changed, 1181 insertions(+) -- 1.9.3