mirror of https://github.com/xemu-project/xemu.git
hw/rtc/aspeed_rtc: Use 64-bit offset for holding time_t difference
In the aspeed_rtc device we store a difference between two time_t values in an 'int'. This is not really correct when time_t could be 64 bits. Enlarge the field to 'int64_t'. This is a migration compatibility break for the aspeed boards. While we are changing the vmstate, remove the accidental duplicate of the offset field. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Cédric Le Goater <clg@kaod.org>
This commit is contained in:
parent
279695a4a4
commit
c0a6385728
|
@ -136,11 +136,10 @@ static const MemoryRegionOps aspeed_rtc_ops = {
|
||||||
|
|
||||||
static const VMStateDescription vmstate_aspeed_rtc = {
|
static const VMStateDescription vmstate_aspeed_rtc = {
|
||||||
.name = TYPE_ASPEED_RTC,
|
.name = TYPE_ASPEED_RTC,
|
||||||
.version_id = 1,
|
.version_id = 2,
|
||||||
.fields = (VMStateField[]) {
|
.fields = (VMStateField[]) {
|
||||||
VMSTATE_UINT32_ARRAY(reg, AspeedRtcState, 0x18),
|
VMSTATE_UINT32_ARRAY(reg, AspeedRtcState, 0x18),
|
||||||
VMSTATE_INT32(offset, AspeedRtcState),
|
VMSTATE_INT64(offset, AspeedRtcState),
|
||||||
VMSTATE_INT32(offset, AspeedRtcState),
|
|
||||||
VMSTATE_END_OF_LIST()
|
VMSTATE_END_OF_LIST()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -18,7 +18,7 @@ struct AspeedRtcState {
|
||||||
qemu_irq irq;
|
qemu_irq irq;
|
||||||
|
|
||||||
uint32_t reg[0x18];
|
uint32_t reg[0x18];
|
||||||
int offset;
|
int64_t offset;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue