From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=44083 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Pr9o6-00055P-Ky for qemu-devel@nongnu.org; Sun, 20 Feb 2011 08:58:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Pr9o4-0001iJ-W4 for qemu-devel@nongnu.org; Sun, 20 Feb 2011 08:58:38 -0500 Received: from mail-fx0-f45.google.com ([209.85.161.45]:40869) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Pr9o4-0001d9-RW for qemu-devel@nongnu.org; Sun, 20 Feb 2011 08:58:36 -0500 Received: by mail-fx0-f45.google.com with SMTP id 11so335386fxm.4 for ; Sun, 20 Feb 2011 05:58:36 -0800 (PST) From: Dmitry Eremin-Solenikov Date: Sun, 20 Feb 2011 16:50:35 +0300 Message-Id: <1298209838-27699-8-git-send-email-dbaryshkov@gmail.com> In-Reply-To: <1298209838-27699-1-git-send-email-dbaryshkov@gmail.com> References: <1298209838-27699-1-git-send-email-dbaryshkov@gmail.com> Subject: [Qemu-devel] [PATCH 07/10] vmstate: move VMSTATE_PCIE_AER_ERRS to hw/hw.h List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org VMSTATE_PCIE_AER_ERRS is indeed useful for other emulation drivers. Move it to hw/hw.h under the name of VMSTATE_STRUCT_VARRAY_POINTER_UINT16. Also add VMSTATE_STRUCT_VARRAY_POINTER_INT32 which is more or less the same as _UINT16 macro, except the fact it uses int32_t internally. Signed-off-by: Dmitry Eremin-Solenikov --- hw/hw.h | 21 +++++++++++++++++++++ hw/pcie_aer.c | 12 +----------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/hw/hw.h b/hw/hw.h index b47a7c8..eec9c6b 100644 --- a/hw/hw.h +++ b/hw/hw.h @@ -499,6 +499,27 @@ extern const VMStateInfo vmstate_info_unused_buffer; .offset = offsetof(_state, _field), \ } +#define VMSTATE_STRUCT_VARRAY_POINTER_INT32(_field, _state, _field_num, _vmsd, _type) { \ + .name = (stringify(_field)), \ + .version_id = 0, \ + .num_offset = vmstate_offset_value(_state, _field_num, int32_t), \ + .size = sizeof(_type), \ + .vmsd = &(_vmsd), \ + .flags = VMS_POINTER | VMS_VARRAY_INT32 | VMS_STRUCT, \ + .offset = vmstate_offset_pointer(_state, _field, _type), \ +} + +#define VMSTATE_STRUCT_VARRAY_POINTER_UINT16(_field, _state, _field_num, _vmsd, _type) { \ + .name = (stringify(_field)), \ + .version_id = 0, \ + .num_offset = vmstate_offset_value(_state, _field_num, uint16_t), \ + .size = sizeof(_type), \ + .vmsd = &(_vmsd), \ + .flags = VMS_POINTER | VMS_VARRAY_UINT16 | VMS_STRUCT, \ + .offset = vmstate_offset_pointer(_state, _field, _type), \ +} + + #define VMSTATE_STATIC_BUFFER(_field, _state, _version, _test, _start, _size) { \ .name = (stringify(_field)), \ .version_id = (_version), \ diff --git a/hw/pcie_aer.c b/hw/pcie_aer.c index 6e653dd..0c4e8a5 100644 --- a/hw/pcie_aer.c +++ b/hw/pcie_aer.c @@ -785,16 +785,6 @@ static const VMStateDescription vmstate_pcie_aer_err = { } }; -#define VMSTATE_PCIE_AER_ERRS(_field, _state, _field_num, _vmsd, _type) { \ - .name = (stringify(_field)), \ - .version_id = 0, \ - .num_offset = vmstate_offset_value(_state, _field_num, uint16_t), \ - .size = sizeof(_type), \ - .vmsd = &(_vmsd), \ - .flags = VMS_POINTER | VMS_VARRAY_UINT16 | VMS_STRUCT, \ - .offset = vmstate_offset_pointer(_state, _field, _type), \ -} - const VMStateDescription vmstate_pcie_aer_log = { .name = "PCIE_AER_ERROR_LOG", .version_id = 1, @@ -803,7 +793,7 @@ const VMStateDescription vmstate_pcie_aer_log = { .fields = (VMStateField[]) { VMSTATE_UINT16(log_num, PCIEAERLog), VMSTATE_UINT16(log_max, PCIEAERLog), - VMSTATE_PCIE_AER_ERRS(log, PCIEAERLog, log_num, + VMSTATE_STRUCT_VARRAY_POINTER_UINT16(log, PCIEAERLog, log_num, vmstate_pcie_aer_err, PCIEAERErr), VMSTATE_END_OF_LIST() } -- 1.7.2.3