Skip to content
Snippets Groups Projects
Commit c0a63857 authored by Peter Maydell's avatar Peter Maydell
Browse files

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: default avatarPeter Maydell <peter.maydell@linaro.org>
Reviewed-by: default avatarCédric Le Goater <clg@kaod.org>
parent 279695a4
No related branches found
No related tags found
No related merge requests found
...@@ -136,11 +136,10 @@ static const MemoryRegionOps aspeed_rtc_ops = { ...@@ -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 { ...@@ -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;
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment