Am 17.06.2011 um 09:30 schrieb Pavel Dovgaluk:
This patch fixes save/restore vmstate of IOAPIC.
When irr member of IOAPICState is not saved and loaded,
restoring becomes non-deterministic, because irr is kept from
state of VM that was before loading.
Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@gmail.com>
---
hw/ioapic.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/hw/ioapic.c b/hw/ioapic.c
index 2109568..e583284 100644
--- a/hw/ioapic.c
+++ b/hw/ioapic.c
@@ -207,6 +207,7 @@ static const VMStateDescription vmstate_ioapic = {
.fields = (VMStateField []) {
VMSTATE_UINT8(id, IOAPICState),
VMSTATE_UINT8(ioregsel, IOAPICState),
+ VMSTATE_UINT32(irr, IOAPICState),
VMSTATE_UINT64_ARRAY(ioredtbl, IOAPICState, IOAPIC_NUM_PINS),
VMSTATE_END_OF_LIST()
}
You can't just add a field to VMState. Either the version_id must be
incremented, or a subsection must be used.
Andreas