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>
This commit is contained in:
Michael Walle 2011-02-17 23:45:05 +01:00 committed by Edgar E. Iglesias
parent 143e8951e4
commit c6af569347
1 changed files with 33 additions and 0 deletions

33
target-lm32/machine.c Normal file
View File

@ -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);
}