Revision 4c18ce94 hw/serial.c
b/hw/serial.c | ||
---|---|---|
649 | 649 |
s->fcr_vmstate = s->fcr; |
650 | 650 |
} |
651 | 651 |
|
652 |
static int serial_pre_load(void *opaque) |
|
653 |
{ |
|
654 |
SerialState *s = opaque; |
|
655 |
s->fcr_vmstate = 0; |
|
656 |
return 0; |
|
657 |
} |
|
658 |
|
|
659 | 652 |
static int serial_post_load(void *opaque, int version_id) |
660 | 653 |
{ |
661 | 654 |
SerialState *s = opaque; |
662 | 655 |
|
656 |
if (version_id < 3) { |
|
657 |
s->fcr_vmstate = 0; |
|
658 |
} |
|
663 | 659 |
/* Initialize fcr via setter to perform essential side-effects */ |
664 | 660 |
serial_ioport_write(s, 0x02, s->fcr_vmstate); |
665 | 661 |
return 0; |
... | ... | |
670 | 666 |
.version_id = 3, |
671 | 667 |
.minimum_version_id = 2, |
672 | 668 |
.pre_save = serial_pre_save, |
673 |
.pre_load = serial_pre_load, |
|
674 | 669 |
.post_load = serial_post_load, |
675 | 670 |
.fields = (VMStateField []) { |
676 | 671 |
VMSTATE_UINT16_V(divider, SerialState, 2), |
Also available in: Unified diff