Dmitry Eremin-Solenikov <dbarysh...@gmail.com> wrote: > +static inline void strongarm_rtc_alarm_tick(void *opaque) > +{ > + StrongARMRTCState *s = (StrongARMRTCState *) opaque;
cast is not needed. Just a NOP in C. (lost of places) > +static const VMStateDescription vmstate_strongarm_rtc_regs = { > + .name = "strongarm-rtc", > + .version_id = 0, New devices should be added with version 0. You add them with version 1 in a several places. > +static VMStateDescription vmstate_strongarm_pic_regs = { > + .name = "strongarm_pic", > + .version_id = 0, > + .minimum_version_id = 0, > + .minimum_version_id_old = 0, > + .post_load = strongarm_pic_post_load, > + .fields = (VMStateField[]) { > +// VMSTATE_UINT32_ARRAY(int_enabled, StrongARMPICState, 2), > +// VMSTATE_UINT32_ARRAY(int_pending, StrongARMPICState, 2), > +// VMSTATE_UINT32_ARRAY(is_fiq, StrongARMPICState, 2), > +// VMSTATE_UINT32(int_idle, StrongARMPICState), > +// VMSTATE_UINT32_ARRAY(priority, StrongARMPICState, PXA2XX_PIC_SRCS), This looks fishy. You implement savevm for this device, or you don't O:-) Rest of vmstate stuff look right. (I didn't look at the other stuff, though). Later, Juan.