diff options
author | Michael Walle <michael@walle.cc> | 2011-02-17 23:45:05 +0100 |
---|---|---|
committer | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2011-03-07 13:42:36 +0100 |
commit | c6af5693478caacafc58cbf454b71fa95d57db60 (patch) | |
tree | 274ae00010d7e58a641e3785bc179edfea28e2fc | |
parent | 143e8951e40c7dfcc985801ac93a7e58e2e44985 (diff) | |
download | hqemu-c6af5693478caacafc58cbf454b71fa95d57db60.zip hqemu-c6af5693478caacafc58cbf454b71fa95d57db60.tar.gz |
lm32: machine state loading/saving
This patch adds support for saving and loading the processor state.
Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
-rw-r--r-- | target-lm32/machine.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/target-lm32/machine.c b/target-lm32/machine.c new file mode 100644 index 0000000..70ca52a --- /dev/null +++ b/target-lm32/machine.c @@ -0,0 +1,33 @@ +#include "hw/hw.h" +#include "hw/boards.h" + +static const VMStateDescription vmstate_cpu = { + .name = "cpu", + .version_id = CPU_SAVE_VERSION, + .minimum_version_id = 1, + .minimum_version_id_old = 1, + .fields = (VMStateField[]) { + VMSTATE_UINT32_ARRAY(regs, CPUState, 32), + VMSTATE_UINT32(pc, CPUState), + VMSTATE_UINT32(ie, CPUState), + VMSTATE_UINT32(icc, CPUState), + VMSTATE_UINT32(dcc, CPUState), + VMSTATE_UINT32(cc, CPUState), + VMSTATE_UINT32(eba, CPUState), + VMSTATE_UINT32(dc, CPUState), + VMSTATE_UINT32(deba, CPUState), + VMSTATE_UINT32_ARRAY(bp, CPUState, 4), + VMSTATE_UINT32_ARRAY(wp, CPUState, 4), + VMSTATE_END_OF_LIST() + } +}; + +void cpu_save(QEMUFile *f, void *opaque) +{ + vmstate_save_state(f, &vmstate_cpu, opaque); +} + +int cpu_load(QEMUFile *f, void *opaque, int version_id) +{ + return vmstate_load_state(f, &vmstate_cpu, opaque, version_id); +} |