@samitouri / QOSamiQemu / commits / 028d4ec43d

migration: Remove duplicate vmstate macros

Now that type-checking is not being done per integer size anymore, various macros have duplicated bodies. Remove them. The original names are left the same so the device code can be altered per-subsystem in the next patches. Acked-by: Peter Xu <peterx@redhat.com> Signed-off-by: Fabiano Rosas <farosas@suse.de>

Fabiano Rosas committed Aug 18, 2026 at 15:24 UTC 028d4ec43de6e9b165e98cd35853b6a623faeb9f
1 file changed +44 -91
include/migration/vmstate.h
+44 -91
@@ -506,7 +506,7 @@ extern const VMStateInfo vmstate_info_g_byte_array;
506 .offset = vmstate_offset_sub_array(_state, _field, _type, _start), \
507 }
508
509 -#define VMSTATE_VARRAY_INT32(_field, _state, _field_num, _version, _info, _type) {\
509 +#define VMSTATE_VARRAY(_field, _state, _field_num, _version, _info, _type) {\
510 .name = (stringify(_field)), \
511 .version_id = (_version), \
512 .num_indirect = vmstate_field_offset(_state, _field_num), \
@@ -516,27 +516,11 @@ extern const VMStateInfo vmstate_info_g_byte_array;
516 .offset = vmstate_offset_pointer(_state, _field, _type), \
517 }
518
519 -#define VMSTATE_VARRAY_UINT32(_field, _state, _field_num, _version, _info, _type) {\
520 - .name = (stringify(_field)), \
521 - .version_id = (_version), \
522 - .num_indirect = vmstate_field_offset(_state, _field_num), \
523 - .info = &(_info), \
524 - .size = sizeof(_type), \
525 - .flags = VMS_VARRAY | VMS_POINTER, \
526 - .offset = vmstate_offset_pointer(_state, _field, _type), \
527 -}
528 -
529 -#define VMSTATE_VARRAY_INT32_ALLOC(_field, _state, _field_num, _version, _info, _type) {\
530 - .name = (stringify(_field)), \
531 - .version_id = (_version), \
532 - .num_indirect = vmstate_field_offset(_state, _field_num), \
533 - .info = &(_info), \
534 - .size = sizeof(_type), \
535 - .flags = VMS_VARRAY | VMS_POINTER | VMS_ALLOC, \
536 - .offset = vmstate_offset_pointer(_state, _field, _type), \
537 -}
519 +#define VMSTATE_VARRAY_INT32 VMSTATE_VARRAY
520 +#define VMSTATE_VARRAY_UINT32 VMSTATE_VARRAY
521
539 -#define VMSTATE_VARRAY_UINT32_ALLOC(_field, _state, _field_num, _version, _info, _type) {\
522 +#define VMSTATE_VARRAY_ALLOC(_field, _state, _field_num, _version, _info, \
523 + _type) { \
524 .name = (stringify(_field)), \
525 .version_id = (_version), \
526 .num_indirect = vmstate_field_offset(_state, _field_num), \
@@ -546,17 +530,12 @@ extern const VMStateInfo vmstate_info_g_byte_array;
530 .offset = vmstate_offset_pointer(_state, _field, _type), \
531 }
532
549 -#define VMSTATE_VARRAY_UINT16_ALLOC(_field, _state, _field_num, _version, _info, _type) {\
550 - .name = (stringify(_field)), \
551 - .version_id = (_version), \
552 - .num_indirect = vmstate_field_offset(_state, _field_num), \
553 - .info = &(_info), \
554 - .size = sizeof(_type), \
555 - .flags = VMS_VARRAY | VMS_POINTER | VMS_ALLOC, \
556 - .offset = vmstate_offset_pointer(_state, _field, _type), \
557 -}
533 +#define VMSTATE_VARRAY_INT32_ALLOC VMSTATE_VARRAY_ALLOC
534 +#define VMSTATE_VARRAY_UINT32_ALLOC VMSTATE_VARRAY_ALLOC
535 +#define VMSTATE_VARRAY_UINT16_ALLOC VMSTATE_VARRAY_ALLOC
536
559 -#define VMSTATE_VARRAY_UINT16_UNSAFE(_field, _state, _field_num, _version, _info, _type) {\
537 +#define VMSTATE_VARRAY_UNSAFE(_field, _state, _field_num, _version, _info, \
538 + _type) { \
539 .name = (stringify(_field)), \
540 .version_id = (_version), \
541 .num_indirect = vmstate_field_offset(_state, _field_num), \
@@ -566,6 +545,8 @@ extern const VMStateInfo vmstate_info_g_byte_array;
545 .offset = vmstate_offset_varray(_state, _field, _type), \
546 }
547
548 +#define VMSTATE_VARRAY_UINT16_UNSAFE VMSTATE_VARRAY_UNSAFE
549 +
550 #define VMSTATE_VSTRUCT_TEST(_field, _state, _test, _version, _vmsd, _type, _struct_version) { \
551 .name = (stringify(_field)), \
552 .version_id = (_version), \
@@ -634,7 +615,7 @@ extern const VMStateInfo vmstate_info_g_byte_array;
615 * _info: VMStateInfo for _type (when VMS_STRUCT is not set)
616 * start: size of (_type) pointed to (for auto memory allocation)
617 */
637 -#define VMSTATE_VARRAY_OF_POINTER_TO_STRUCT_UINT8_ALLOC(\
618 +#define VMSTATE_VARRAY_OF_POINTER_TO_STRUCT_ALLOC( \
619 _field, _state, _field_num, _version, _vmsd, _type) { \
620 .name = (stringify(_field)), \
621 .version_id = (_version), \
@@ -647,20 +628,13 @@ extern const VMStateInfo vmstate_info_g_byte_array;
628 .offset = vmstate_offset_pointer(_state, _field, _type *), \
629 }
630
650 -#define VMSTATE_VARRAY_OF_POINTER_TO_STRUCT_UINT32_ALLOC(\
651 - _field, _state, _field_num, _version, _vmsd, _type) { \
652 - .name = (stringify(_field)), \
653 - .version_id = (_version), \
654 - .num_indirect = vmstate_field_offset(_state, _field_num), \
655 - .vmsd = &(_vmsd), \
656 - .size = sizeof(_type), \
657 - .flags = VMS_POINTER | VMS_VARRAY | \
658 - VMS_ARRAY_OF_POINTER | VMS_STRUCT | \
659 - VMS_ARRAY_OF_POINTER_AUTO_ALLOC, \
660 - .offset = vmstate_offset_pointer(_state, _field, _type *), \
661 -}
631 +#define VMSTATE_VARRAY_OF_POINTER_TO_STRUCT_UINT8_ALLOC \
632 + VMSTATE_VARRAY_OF_POINTER_TO_STRUCT_ALLOC
633 +#define VMSTATE_VARRAY_OF_POINTER_TO_STRUCT_UINT32_ALLOC \
634 + VMSTATE_VARRAY_OF_POINTER_TO_STRUCT_ALLOC
635
663 -#define VMSTATE_VARRAY_OF_POINTER_UINT32(_field, _state, _field_num, _version, _info, _type) { \
636 +#define VMSTATE_VARRAY_OF_POINTER(_field, _state, _field_num, _version, _info, \
637 + _type) { \
638 .name = (stringify(_field)), \
639 .version_id = (_version), \
640 .num_indirect = vmstate_field_offset(_state, _field_num), \
@@ -669,6 +643,8 @@ extern const VMStateInfo vmstate_info_g_byte_array;
643 .offset = vmstate_offset_pointer(_state, _field, _type *), \
644 }
645
646 +#define VMSTATE_VARRAY_OF_POINTER_UINT32 VMSTATE_VARRAY_OF_POINTER
647 +
648 #define VMSTATE_STRUCT_SUB_ARRAY(_field, _state, _start, _num, _version, _vmsd, _type) { \
649 .name = (stringify(_field)), \
650 .version_id = (_version), \
@@ -703,7 +679,8 @@ extern const VMStateInfo vmstate_info_g_byte_array;
679 _n1, _n2), \
680 }
681
706 -#define VMSTATE_STRUCT_VARRAY_UINT8(_field, _state, _field_num, _version, _vmsd, _type) { \
682 +#define VMSTATE_STRUCT_VARRAY(_field, _state, _field_num, _version, _vmsd, \
683 + _type) { \
684 .name = (stringify(_field)), \
685 .num_indirect = vmstate_field_offset(_state, _field_num), \
686 .version_id = (_version), \
@@ -712,6 +689,7 @@ extern const VMStateInfo vmstate_info_g_byte_array;
689 .flags = VMS_STRUCT | VMS_VARRAY, \
690 .offset = vmstate_offset_varray(_state, _field, _type), \
691 }
692 +#define VMSTATE_STRUCT_VARRAY_UINT8 VMSTATE_STRUCT_VARRAY
693
694 /* a variable length array (i.e. _type *_field) but we know the
695 * length
@@ -726,27 +704,8 @@ extern const VMStateInfo vmstate_info_g_byte_array;
704 .offset = offsetof(_state, _field), \
705 }
706
729 -#define VMSTATE_STRUCT_VARRAY_POINTER_INT32(_field, _state, _field_num, _vmsd, _type) { \
730 - .name = (stringify(_field)), \
731 - .version_id = 0, \
732 - .num_indirect = vmstate_field_offset(_state, _field_num), \
733 - .size = sizeof(_type), \
734 - .vmsd = &(_vmsd), \
735 - .flags = VMS_POINTER | VMS_VARRAY | VMS_STRUCT, \
736 - .offset = vmstate_offset_pointer(_state, _field, _type), \
737 -}
738 -
739 -#define VMSTATE_STRUCT_VARRAY_POINTER_UINT32(_field, _state, _field_num, _vmsd, _type) { \
740 - .name = (stringify(_field)), \
741 - .version_id = 0, \
742 - .num_indirect = vmstate_field_offset(_state, _field_num), \
743 - .size = sizeof(_type), \
744 - .vmsd = &(_vmsd), \
745 - .flags = VMS_POINTER | VMS_VARRAY | VMS_STRUCT, \
746 - .offset = vmstate_offset_pointer(_state, _field, _type), \
747 -}
748 -
749 -#define VMSTATE_STRUCT_VARRAY_POINTER_UINT16(_field, _state, _field_num, _vmsd, _type) { \
707 +#define VMSTATE_STRUCT_VARRAY_POINTER(_field, _state, _field_num, _vmsd, \
708 + _type) { \
709 .name = (stringify(_field)), \
710 .version_id = 0, \
711 .num_indirect = vmstate_field_offset(_state, _field_num), \
@@ -755,8 +714,12 @@ extern const VMStateInfo vmstate_info_g_byte_array;
714 .flags = VMS_POINTER | VMS_VARRAY | VMS_STRUCT, \
715 .offset = vmstate_offset_pointer(_state, _field, _type), \
716 }
717 +#define VMSTATE_STRUCT_VARRAY_POINTER_INT32 VMSTATE_STRUCT_VARRAY_POINTER
718 +#define VMSTATE_STRUCT_VARRAY_POINTER_UINT32 VMSTATE_STRUCT_VARRAY_POINTER
719 +#define VMSTATE_STRUCT_VARRAY_POINTER_UINT16 VMSTATE_STRUCT_VARRAY_POINTER
720
759 -#define VMSTATE_STRUCT_VARRAY_UINT32(_field, _state, _field_num, _version, _vmsd, _type) { \
721 +#define VMSTATE_STRUCT_VARRAY(_field, _state, _field_num, _version, _vmsd, \
722 + _type) { \
723 .name = (stringify(_field)), \
724 .num_indirect = vmstate_field_offset(_state, _field_num), \
725 .version_id = (_version), \
@@ -765,8 +728,11 @@ extern const VMStateInfo vmstate_info_g_byte_array;
728 .flags = VMS_STRUCT | VMS_VARRAY, \
729 .offset = vmstate_offset_varray(_state, _field, _type), \
730 }
731 +#define VMSTATE_STRUCT_VARRAY_INT32 VMSTATE_STRUCT_VARRAY
732 +#define VMSTATE_STRUCT_VARRAY_UINT32 VMSTATE_STRUCT_VARRAY
733
769 -#define VMSTATE_STRUCT_VARRAY_ALLOC(_field, _state, _field_num, _version, _vmsd, _type) {\
734 +#define VMSTATE_STRUCT_VARRAY_ALLOC(_field, _state, _field_num, _version, \
735 + _vmsd, _type) { \
736 .name = (stringify(_field)), \
737 .version_id = (_version), \
738 .vmsd = &(_vmsd), \
@@ -808,28 +774,11 @@ extern const VMStateInfo vmstate_info_g_byte_array;
774 .offset = offsetof(_state, _field), \
775 }
776
811 -#define VMSTATE_VBUFFER_UINT32(_field, _state, _version, _test, _field_size) { \
812 - .name = (stringify(_field)), \
813 - .version_id = (_version), \
814 - .field_exists = (_test), \
815 - .size_indirect = vmstate_field_offset(_state, _field_size), \
816 - .info = &vmstate_info_buffer, \
817 - .flags = VMS_VBUFFER|VMS_POINTER, \
818 - .offset = offsetof(_state, _field), \
819 -}
820 -
821 -#define VMSTATE_VBUFFER_UINT64(_field, _state, _version, _test, _field_size) { \
822 - .name = (stringify(_field)), \
823 - .version_id = (_version), \
824 - .field_exists = (_test), \
825 - .size_indirect = vmstate_field_offset(_state, _field_size), \
826 - .info = &vmstate_info_buffer, \
827 - .flags = VMS_VBUFFER | VMS_POINTER, \
828 - .offset = offsetof(_state, _field), \
829 -}
777 +#define VMSTATE_VBUFFER_UINT32 VMSTATE_VBUFFER
778 +#define VMSTATE_VBUFFER_UINT64 VMSTATE_VBUFFER
779
831 -#define VMSTATE_VBUFFER_ALLOC_UINT32(_field, _state, _version, \
832 - _test, _field_size) { \
780 +#define VMSTATE_VBUFFER_ALLOC(_field, _state, _version, \
781 + _test, _field_size) { \
782 .name = (stringify(_field)), \
783 .version_id = (_version), \
784 .field_exists = (_test), \
@@ -839,6 +788,8 @@ extern const VMStateInfo vmstate_info_g_byte_array;
788 .offset = offsetof(_state, _field), \
789 }
790
791 +#define VMSTATE_VBUFFER_ALLOC_UINT32 VMSTATE_VBUFFER_ALLOC
792 +
793 #define VMSTATE_BUFFER_UNSAFE_INFO_TEST(_field, _state, _test, _version, _info, _size) { \
794 .name = (stringify(_field)), \
795 .version_id = (_version), \
@@ -890,7 +841,7 @@ extern const VMStateInfo vmstate_info_g_byte_array;
841 }
842
843 /* Discard size * field_num bytes, where field_num is a uint32 member */
893 -#define VMSTATE_UNUSED_VARRAY_UINT32(_state, _test, _version, _field_num, _size) {\
844 +#define VMSTATE_UNUSED_VARRAY(_state, _test, _version, _field_num, _size) {\
845 .name = "unused", \
846 .field_exists = (_test), \
847 .num_indirect = vmstate_field_offset(_state, _field_num), \
@@ -900,6 +851,8 @@ extern const VMStateInfo vmstate_info_g_byte_array;
851 .flags = VMS_VARRAY | VMS_BUFFER, \
852 }
853
854 +#define VMSTATE_UNUSED_VARRAY_UINT32 VMSTATE_UNUSED_VARRAY
855 +
856 /* _field_size should be a int32_t field in the _state struct giving the
857 * size of the bitmap _field in bits.
858 */