Am Mi., 18. März 2026 um 00:23 Uhr schrieb Peter Xu <peterx@redhat.com>:
>
> Passing in a pointer almost never helps. Convert it to pass in struct for
> further refactoring on VMS_ARRAY_OF_POINTER.
>
> Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@futurfusion.io>
> ---
> include/hw/intc/riscv_aclint.h | 6 +++---
> include/migration/vmstate.h | 4 ++--
> 2 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/include/hw/intc/riscv_aclint.h b/include/hw/intc/riscv_aclint.h
> index 5310615cbf..0e0b98acb0 100644
> --- a/include/hw/intc/riscv_aclint.h
> +++ b/include/hw/intc/riscv_aclint.h
> @@ -80,8 +80,8 @@ enum {
> RISCV_ACLINT_SWI_SIZE = 0x4000
> };
>
> -#define VMSTATE_TIMER_PTR_VARRAY(_f, _s, _f_n) \
> -VMSTATE_VARRAY_OF_POINTER_UINT32(_f, _s, _f_n, 0, vmstate_info_timer, \
> - QEMUTimer *)
> +#define VMSTATE_TIMER_PTR_VARRAY(_f, _s, _f_n) \
> + VMSTATE_VARRAY_OF_POINTER_UINT32(_f, _s, _f_n, 0, vmstate_info_timer, \
> + QEMUTimer)
>
> #endif
> diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
> index 8992fba57d..68fd954411 100644
> --- a/include/migration/vmstate.h
> +++ b/include/migration/vmstate.h
> @@ -567,9 +567,9 @@ extern const VMStateInfo vmstate_info_qlist;
> .version_id = (_version), \
> .num_offset = vmstate_offset_value(_state, _field_num, uint32_t), \
> .info = &(_info), \
> - .size = sizeof(_type), \
> + .size = sizeof(_type *), \
> .flags = VMS_VARRAY_UINT32 | VMS_ARRAY_OF_POINTER | VMS_POINTER, \
> - .offset = vmstate_offset_pointer(_state, _field, _type), \
> + .offset = vmstate_offset_pointer(_state, _field, _type *), \
> }
>
> #define VMSTATE_STRUCT_SUB_ARRAY(_field, _state, _start, _num, _version, _vmsd, _type) { \
> --
> 2.50.1
>