> @@ -1016,16 +1016,16 @@ impl ObjectImpl for HPETState {
> static VMSTATE_HPET: VMStateDescription = VMStateDescription {
> name: c"hpet".as_ptr(),
> version_id: 2,
> - minimum_version_id: 1,
> + minimum_version_id: 2,
> pre_save: Some(hpet_pre_save),
> post_load: Some(hpet_post_load),
> fields: vmstate_fields! {
> vmstate_of!(HPETState, config),
> vmstate_of!(HPETState, int_status),
> vmstate_of!(HPETState, counter),
> - vmstate_of!(HPETState, num_timers_save).with_version_id(2),
> + vmstate_of!(HPETState, num_timers_save),
> vmstate_validate!(HPETState, VALIDATE_TIMERS_NAME,
> HPETState::validate_num_timers),
> - vmstate_struct!(HPETState, timers[0 .. num_timers],
> &VMSTATE_HPET_TIMER, BqlRefCell<HPETTimer>,
> HPETState::validate_num_timers).with_version_id(0),
> + vmstate_struct!(HPETState, timers[0 .. num_timers_save],
> &VMSTATE_HPET_TIMER, BqlRefCell<HPETTimer>,
> HPETState::validate_num_timers).with_version_id(0),
> },
Here Rust and C take slightly different paths.
Either changes should be made in the C version as well, or the
"functional\ [#issues]_ replacements" issue note in docs/devel/rust.rst
needs to be updated as well. I think the former is simpler!
Otherwise,
Reviewed-by: Zhao Liu <[email protected]>