Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2227468/?format=api
{ "id": 2227468, "url": "http://patchwork.ozlabs.org/api/patches/2227468/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260423191958.1440-20-farosas@suse.de/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260423191958.1440-20-farosas@suse.de>", "list_archive_url": null, "date": "2026-04-23T19:19:33", "name": "[PULL,19/43] migration: drop VMStateField.err_hint", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "03cc35d85cc4ac7dbc9772499218e89c4f103fa8", "submitter": { "id": 85343, "url": "http://patchwork.ozlabs.org/api/people/85343/?format=api", "name": "Fabiano Rosas", "email": "farosas@suse.de" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260423191958.1440-20-farosas@suse.de/mbox/", "series": [ { "id": 501236, "url": "http://patchwork.ozlabs.org/api/series/501236/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=501236", "date": "2026-04-23T19:19:14", "name": "[PULL,01/43] checkpatch: Allow spaces after all coroutine annotations", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/501236/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2227468/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2227468/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256\n header.s=susede2_rsa header.b=xb6yACTe;\n\tdkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=9Gw/GePn;\n\tdkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de\n header.a=rsa-sha256 header.s=susede2_rsa header.b=xb6yACTe;\n\tdkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=9Gw/GePn;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)", "smtp-out1.suse.de;\n dkim=pass header.d=suse.de header.s=susede2_rsa header.b=xb6yACTe;\n dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=\"9Gw/GePn\"" ], "Received": [ "from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g1mH74VVhz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 05:24:03 +1000 (AEST)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wFzcb-00048P-VH; Thu, 23 Apr 2026 15:21:58 -0400", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <farosas@suse.de>) id 1wFzcN-0003P8-Sy\n for qemu-devel@nongnu.org; Thu, 23 Apr 2026 15:21:45 -0400", "from smtp-out1.suse.de ([2a07:de40:b251:101:10:150:64:1])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <farosas@suse.de>) id 1wFzcJ-00027L-BG\n for qemu-devel@nongnu.org; Thu, 23 Apr 2026 15:21:43 -0400", "from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org\n [IPv6:2a07:de40:b281:104:10:150:64:97])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n (No client certificate requested)\n by smtp-out1.suse.de (Postfix) with ESMTPS id 4F6F16A8AA;\n Thu, 23 Apr 2026 19:20:29 +0000 (UTC)", "from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n (No client certificate requested)\n by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id DBEE1593A3;\n Thu, 23 Apr 2026 19:20:27 +0000 (UTC)", "from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])\n by imap1.dmz-prg2.suse.org with ESMTPSA id AIa+Kftw6mlJCwAAD6G6ig\n (envelope-from <farosas@suse.de>); Thu, 23 Apr 2026 19:20:27 +0000" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_rsa;\n t=1776972029;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=ueTjPgmSW7EvLie0P/K66Rj7p5HsTRZ1DFjF4HaBNKE=;\n b=xb6yACTeFWMGD5IrtZ0Qqe2l3Y/BoZCfJzwXIRRvWtuQdkcyrnFsqxEGL38J5OZuLODZIL\n 1s4ZIg2LaJfWwGLGEVP2BFaM1x8Yc+W7I+h2foBbFdvT98NBymX6u34DrfxRYPBPrcge2A\n f2b7tUP0xkJPV/Dn4jUaWjlA5fuorc4=", "v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_ed25519; t=1776972029;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=ueTjPgmSW7EvLie0P/K66Rj7p5HsTRZ1DFjF4HaBNKE=;\n b=9Gw/GePneQPoIEMQTpcAh2pYt7gnW/JZ+YzMUllr6l0xEDLP+EOlII6kelY4BdS47eE4CP\n 6xYDLFvWDkG1DFAA==", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_rsa;\n t=1776972029;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=ueTjPgmSW7EvLie0P/K66Rj7p5HsTRZ1DFjF4HaBNKE=;\n b=xb6yACTeFWMGD5IrtZ0Qqe2l3Y/BoZCfJzwXIRRvWtuQdkcyrnFsqxEGL38J5OZuLODZIL\n 1s4ZIg2LaJfWwGLGEVP2BFaM1x8Yc+W7I+h2foBbFdvT98NBymX6u34DrfxRYPBPrcge2A\n f2b7tUP0xkJPV/Dn4jUaWjlA5fuorc4=", "v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_ed25519; t=1776972029;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=ueTjPgmSW7EvLie0P/K66Rj7p5HsTRZ1DFjF4HaBNKE=;\n b=9Gw/GePneQPoIEMQTpcAh2pYt7gnW/JZ+YzMUllr6l0xEDLP+EOlII6kelY4BdS47eE4CP\n 6xYDLFvWDkG1DFAA==" ], "From": "Fabiano Rosas <farosas@suse.de>", "To": "qemu-devel@nongnu.org", "Cc": "Peter Xu <peterx@redhat.com>,\n Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,\n Eric Farman <farman@linux.ibm.com>,\n Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>", "Subject": "[PULL 19/43] migration: drop VMStateField.err_hint", "Date": "Thu, 23 Apr 2026 16:19:33 -0300", "Message-ID": "<20260423191958.1440-20-farosas@suse.de>", "X-Mailer": "git-send-email 2.51.0", "In-Reply-To": "<20260423191958.1440-1-farosas@suse.de>", "References": "<20260423191958.1440-1-farosas@suse.de>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-Rspamd-Action": "no action", "X-Rspamd-Server": "rspamd2.dmz-prg2.suse.org", "X-Spamd-Result": "default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[100.00%];\n NEURAL_HAM_LONG(-1.00)[-1.000]; MID_CONTAINS_FROM(1.00)[];\n R_MISSING_CHARSET(0.50)[];\n R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];\n NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain];\n MX_GOOD(-0.01)[]; ARC_NA(0.00)[];\n FUZZY_RATELIMITED(0.00)[rspamd.com]; RCVD_COUNT_TWO(0.00)[2];\n MIME_TRACE(0.00)[0:+]; RCVD_VIA_SMTP_AUTH(0.00)[];\n SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];\n TO_DN_SOME(0.00)[];\n RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];\n RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];\n FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[];\n DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:dkim,suse.de:mid,suse.de:email,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns];\n RCVD_TLS_ALL(0.00)[]; FROM_EQ_ENVFROM(0.00)[];\n RCPT_COUNT_FIVE(0.00)[5];\n DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];\n DKIM_TRACE(0.00)[suse.de:+]", "X-Rspamd-Queue-Id": "4F6F16A8AA", "X-Spam-Score": "-3.01", "Received-SPF": "pass client-ip=2a07:de40:b251:101:10:150:64:1;\n envelope-from=farosas@suse.de; helo=smtp-out1.suse.de", "X-Spam_score_int": "-20", "X-Spam_score": "-2.1", "X-Spam_bar": "--", "X-Spam_report": "(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no", "X-Spam_action": "no action", "X-BeenThere": "qemu-devel@nongnu.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "qemu development <qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org" }, "content": "From: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>\n\nThe field is unused, all users of VMSTATE_*_EQUAL pass _err_hint=NULL.\n\nSigned-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>\nAcked-by: Eric Farman <farman@linux.ibm.com> # s390\nReviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>\nReviewed-by: Peter Xu <peterx@redhat.com>\nLink: https://lore.kernel.org/qemu-devel/20260304212303.667141-18-vsementsov@yandex-team.ru\nSigned-off-by: Fabiano Rosas <farosas@suse.de>\n---\n hw/block/fdc.c | 2 +-\n hw/display/qxl.c | 4 ++--\n hw/display/vga.c | 2 +-\n hw/display/virtio-gpu.c | 2 +-\n hw/display/vmware_vga.c | 2 +-\n hw/i386/vmmouse.c | 2 +-\n hw/ide/ahci.c | 2 +-\n hw/intc/openpic.c | 2 +-\n hw/intc/spapr_xive.c | 2 +-\n hw/intc/xics.c | 2 +-\n hw/intc/xive.c | 2 +-\n hw/nvram/eeprom93xx.c | 2 +-\n hw/pci/pci.c | 2 +-\n hw/pci/pcie_aer.c | 2 +-\n hw/ppc/spapr_iommu.c | 2 +-\n hw/ppc/spapr_pci.c | 4 ++--\n hw/ppc/spapr_vio.c | 4 ++--\n hw/s390x/css.c | 6 +++---\n hw/usb/hcd-uhci.c | 2 +-\n include/migration/vmstate.h | 36 +++++++++++++++++-------------------\n migration/vmstate-types.c | 15 ---------------\n target/ppc/machine.c | 6 +++---\n 22 files changed, 44 insertions(+), 61 deletions(-)", "diff": "diff --git a/hw/block/fdc.c b/hw/block/fdc.c\nindex 4585640af9..2c1681b7d0 100644\n--- a/hw/block/fdc.c\n+++ b/hw/block/fdc.c\n@@ -1051,7 +1051,7 @@ const VMStateDescription vmstate_fdc = {\n VMSTATE_UINT8(config, FDCtrl),\n VMSTATE_UINT8(lock, FDCtrl),\n VMSTATE_UINT8(pwrd, FDCtrl),\n- VMSTATE_UINT8_EQUAL(num_floppies, FDCtrl, NULL),\n+ VMSTATE_UINT8_EQUAL(num_floppies, FDCtrl),\n VMSTATE_STRUCT_ARRAY(drives, FDCtrl, MAX_FD, 1,\n vmstate_fdrive, FDrive),\n VMSTATE_END_OF_LIST()\ndiff --git a/hw/display/qxl.c b/hw/display/qxl.c\nindex 3d4b563556..f8fd7ee069 100644\n--- a/hw/display/qxl.c\n+++ b/hw/display/qxl.c\n@@ -2442,12 +2442,12 @@ static const VMStateDescription qxl_vmstate = {\n VMSTATE_UINT32(last_release_offset, PCIQXLDevice),\n VMSTATE_UINT32(mode, PCIQXLDevice),\n VMSTATE_UINT32(ssd.unique, PCIQXLDevice),\n- VMSTATE_INT32_EQUAL(num_memslots, PCIQXLDevice, NULL),\n+ VMSTATE_INT32_EQUAL(num_memslots, PCIQXLDevice),\n VMSTATE_STRUCT_ARRAY(guest_slots, PCIQXLDevice, NUM_MEMSLOTS, 0,\n qxl_memslot, struct guest_slots),\n VMSTATE_STRUCT(guest_primary.surface, PCIQXLDevice, 0,\n qxl_surface, QXLSurfaceCreate),\n- VMSTATE_INT32_EQUAL(ssd.num_surfaces, PCIQXLDevice, NULL),\n+ VMSTATE_INT32_EQUAL(ssd.num_surfaces, PCIQXLDevice),\n VMSTATE_VARRAY_INT32(guest_surfaces.cmds, PCIQXLDevice,\n ssd.num_surfaces, 0,\n vmstate_info_uint64, uint64_t),\ndiff --git a/hw/display/vga.c b/hw/display/vga.c\nindex ee7d97b5c2..0d69a53f27 100644\n--- a/hw/display/vga.c\n+++ b/hw/display/vga.c\n@@ -2160,7 +2160,7 @@ const VMStateDescription vmstate_vga_common = {\n VMSTATE_BUFFER(palette, VGACommonState),\n \n VMSTATE_INT32(bank_offset, VGACommonState),\n- VMSTATE_UINT8_EQUAL(is_vbe_vmstate, VGACommonState, NULL),\n+ VMSTATE_UINT8_EQUAL(is_vbe_vmstate, VGACommonState),\n VMSTATE_UINT16(vbe_index, VGACommonState),\n VMSTATE_UINT16_ARRAY(vbe_regs, VGACommonState, VBE_DISPI_INDEX_NB),\n VMSTATE_UINT32(vbe_start_addr, VGACommonState),\ndiff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c\nindex b998ce8324..dbb72bbb22 100644\n--- a/hw/display/virtio-gpu.c\n+++ b/hw/display/virtio-gpu.c\n@@ -1223,7 +1223,7 @@ static const VMStateDescription vmstate_virtio_gpu_scanouts = {\n .fields = (const VMStateField[]) {\n VMSTATE_INT32(parent_obj.enable, struct VirtIOGPU),\n VMSTATE_UINT32_EQUAL(parent_obj.conf.max_outputs,\n- struct VirtIOGPU, NULL),\n+ struct VirtIOGPU),\n VMSTATE_STRUCT_VARRAY_UINT32(parent_obj.scanout, struct VirtIOGPU,\n parent_obj.conf.max_outputs, 1,\n vmstate_virtio_gpu_scanout,\ndiff --git a/hw/display/vmware_vga.c b/hw/display/vmware_vga.c\nindex c2c6bc76e9..2b95787ddf 100644\n--- a/hw/display/vmware_vga.c\n+++ b/hw/display/vmware_vga.c\n@@ -1209,7 +1209,7 @@ static const VMStateDescription vmstate_vmware_vga_internal = {\n .minimum_version_id = 0,\n .post_load = vmsvga_post_load,\n .fields = (const VMStateField[]) {\n- VMSTATE_INT32_EQUAL(new_depth, struct vmsvga_state_s, NULL),\n+ VMSTATE_INT32_EQUAL(new_depth, struct vmsvga_state_s),\n VMSTATE_INT32(enable, struct vmsvga_state_s),\n VMSTATE_INT32(config, struct vmsvga_state_s),\n VMSTATE_INT32(cursor.id, struct vmsvga_state_s),\ndiff --git a/hw/i386/vmmouse.c b/hw/i386/vmmouse.c\nindex c1aeeca0c9..417c3aecb9 100644\n--- a/hw/i386/vmmouse.c\n+++ b/hw/i386/vmmouse.c\n@@ -278,7 +278,7 @@ static const VMStateDescription vmstate_vmmouse = {\n .minimum_version_id = 0,\n .post_load = vmmouse_post_load,\n .fields = (const VMStateField[]) {\n- VMSTATE_INT32_EQUAL(queue_size, VMMouseState, NULL),\n+ VMSTATE_INT32_EQUAL(queue_size, VMMouseState),\n VMSTATE_UINT32_ARRAY(queue, VMMouseState, VMMOUSE_QUEUE_SIZE),\n VMSTATE_UINT16(nb_queue, VMMouseState),\n VMSTATE_UINT16(status, VMMouseState),\ndiff --git a/hw/ide/ahci.c b/hw/ide/ahci.c\nindex 08f51c8e36..c2b4432b94 100644\n--- a/hw/ide/ahci.c\n+++ b/hw/ide/ahci.c\n@@ -1795,7 +1795,7 @@ const VMStateDescription vmstate_ahci = {\n VMSTATE_UINT32(control_regs.impl, AHCIState),\n VMSTATE_UINT32(control_regs.version, AHCIState),\n VMSTATE_UINT32(idp_index, AHCIState),\n- VMSTATE_UINT32_EQUAL(ports, AHCIState, NULL),\n+ VMSTATE_UINT32_EQUAL(ports, AHCIState),\n VMSTATE_END_OF_LIST()\n },\n };\ndiff --git a/hw/intc/openpic.c b/hw/intc/openpic.c\nindex cd353a04f5..99d2a1e65e 100644\n--- a/hw/intc/openpic.c\n+++ b/hw/intc/openpic.c\n@@ -1477,7 +1477,7 @@ static const VMStateDescription vmstate_openpic = {\n VMSTATE_UINT32(max_irq, OpenPICState),\n VMSTATE_STRUCT_VARRAY_UINT32(src, OpenPICState, max_irq, 0,\n vmstate_openpic_irqsource, IRQSource),\n- VMSTATE_UINT32_EQUAL(nb_cpus, OpenPICState, NULL),\n+ VMSTATE_UINT32_EQUAL(nb_cpus, OpenPICState),\n VMSTATE_STRUCT_VARRAY_UINT32(dst, OpenPICState, nb_cpus, 0,\n vmstate_openpic_irqdest, IRQDest),\n VMSTATE_STRUCT_ARRAY(timers, OpenPICState, OPENPIC_MAX_TMR, 0,\ndiff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c\nindex 76ab476f59..c30dace4e2 100644\n--- a/hw/intc/spapr_xive.c\n+++ b/hw/intc/spapr_xive.c\n@@ -578,7 +578,7 @@ static const VMStateDescription vmstate_spapr_xive = {\n .pre_save = vmstate_spapr_xive_pre_save,\n .post_load = NULL, /* handled at the machine level */\n .fields = (const VMStateField[]) {\n- VMSTATE_UINT32_EQUAL(nr_irqs, SpaprXive, NULL),\n+ VMSTATE_UINT32_EQUAL(nr_irqs, SpaprXive),\n VMSTATE_STRUCT_VARRAY_POINTER_UINT32(eat, SpaprXive, nr_irqs,\n vmstate_spapr_xive_eas, XiveEAS),\n VMSTATE_STRUCT_VARRAY_POINTER_UINT32(endt, SpaprXive, nr_ends,\ndiff --git a/hw/intc/xics.c b/hw/intc/xics.c\nindex 1d40c4386d..c0a252d051 100644\n--- a/hw/intc/xics.c\n+++ b/hw/intc/xics.c\n@@ -668,7 +668,7 @@ static const VMStateDescription vmstate_ics = {\n .post_load = ics_post_load,\n .fields = (const VMStateField[]) {\n /* Sanity check */\n- VMSTATE_UINT32_EQUAL(nr_irqs, ICSState, NULL),\n+ VMSTATE_UINT32_EQUAL(nr_irqs, ICSState),\n \n VMSTATE_STRUCT_VARRAY_POINTER_UINT32(irqs, ICSState, nr_irqs,\n vmstate_ics_irq,\ndiff --git a/hw/intc/xive.c b/hw/intc/xive.c\nindex d702b58bd0..f473e6ac77 100644\n--- a/hw/intc/xive.c\n+++ b/hw/intc/xive.c\n@@ -1565,7 +1565,7 @@ static const VMStateDescription vmstate_xive_source = {\n .version_id = 1,\n .minimum_version_id = 1,\n .fields = (const VMStateField[]) {\n- VMSTATE_UINT32_EQUAL(nr_irqs, XiveSource, NULL),\n+ VMSTATE_UINT32_EQUAL(nr_irqs, XiveSource),\n VMSTATE_VBUFFER_UINT32(status, XiveSource, 1, NULL, nr_irqs),\n VMSTATE_END_OF_LIST()\n },\ndiff --git a/hw/nvram/eeprom93xx.c b/hw/nvram/eeprom93xx.c\nindex a8fd60a8fb..73b3d248d4 100644\n--- a/hw/nvram/eeprom93xx.c\n+++ b/hw/nvram/eeprom93xx.c\n@@ -144,7 +144,7 @@ static const VMStateDescription vmstate_eeprom = {\n VMSTATE_UINT8(addrbits, eeprom_t),\n VMSTATE_UINT16_HACK_TEST(size, eeprom_t, is_old_eeprom_version),\n VMSTATE_UNUSED_TEST(is_old_eeprom_version, 1),\n- VMSTATE_UINT16_EQUAL_V(size, eeprom_t, EEPROM_VERSION, NULL),\n+ VMSTATE_UINT16_EQUAL_V(size, eeprom_t, EEPROM_VERSION),\n VMSTATE_UINT16(data, eeprom_t),\n VMSTATE_VARRAY_UINT16_UNSAFE(contents, eeprom_t, size, 0,\n vmstate_info_uint16, uint16_t),\ndiff --git a/hw/pci/pci.c b/hw/pci/pci.c\nindex 2c3657d00d..a0dbb81fd9 100644\n--- a/hw/pci/pci.c\n+++ b/hw/pci/pci.c\n@@ -105,7 +105,7 @@ static const VMStateDescription vmstate_pcibus = {\n .version_id = 1,\n .minimum_version_id = 1,\n .fields = (const VMStateField[]) {\n- VMSTATE_INT32_EQUAL(nirq, PCIBus, NULL),\n+ VMSTATE_INT32_EQUAL(nirq, PCIBus),\n VMSTATE_VARRAY_INT32(irq_count, PCIBus,\n nirq, 0, vmstate_info_int32,\n int32_t),\ndiff --git a/hw/pci/pcie_aer.c b/hw/pci/pcie_aer.c\nindex 2c85a78fcd..22497b1fd6 100644\n--- a/hw/pci/pcie_aer.c\n+++ b/hw/pci/pcie_aer.c\n@@ -820,7 +820,7 @@ const VMStateDescription vmstate_pcie_aer_log = {\n .minimum_version_id = 1,\n .fields = (const VMStateField[]) {\n VMSTATE_UINT16(log_num, PCIEAERLog),\n- VMSTATE_UINT16_EQUAL(log_max, PCIEAERLog, NULL),\n+ VMSTATE_UINT16_EQUAL(log_max, PCIEAERLog),\n VMSTATE_VALIDATE(\"log_num <= log_max\", pcie_aer_state_log_num_valid),\n VMSTATE_STRUCT_VARRAY_POINTER_UINT16(log, PCIEAERLog, log_num,\n vmstate_pcie_aer_err, PCIEAERErr),\ndiff --git a/hw/ppc/spapr_iommu.c b/hw/ppc/spapr_iommu.c\nindex c2432a0c00..e6264b0785 100644\n--- a/hw/ppc/spapr_iommu.c\n+++ b/hw/ppc/spapr_iommu.c\n@@ -285,7 +285,7 @@ static const VMStateDescription vmstate_spapr_tce_table = {\n .post_load = spapr_tce_table_post_load,\n .fields = (const VMStateField []) {\n /* Sanity check */\n- VMSTATE_UINT32_EQUAL(liobn, SpaprTceTable, NULL),\n+ VMSTATE_UINT32_EQUAL(liobn, SpaprTceTable),\n \n /* IOMMU state */\n VMSTATE_UINT32(mig_nb_table, SpaprTceTable),\ndiff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c\nindex 1dc3b02659..c1d4b7806e 100644\n--- a/hw/ppc/spapr_pci.c\n+++ b/hw/ppc/spapr_pci.c\n@@ -2051,7 +2051,7 @@ static const VMStateDescription vmstate_spapr_pci_lsi = {\n .version_id = 1,\n .minimum_version_id = 1,\n .fields = (const VMStateField[]) {\n- VMSTATE_UINT32_EQUAL(irq, SpaprPciLsi, NULL),\n+ VMSTATE_UINT32_EQUAL(irq, SpaprPciLsi),\n \n VMSTATE_END_OF_LIST()\n },\n@@ -2129,7 +2129,7 @@ static const VMStateDescription vmstate_spapr_pci = {\n .post_save = spapr_pci_post_save,\n .post_load = spapr_pci_post_load,\n .fields = (const VMStateField[]) {\n- VMSTATE_UINT64_EQUAL(buid, SpaprPhbState, NULL),\n+ VMSTATE_UINT64_EQUAL(buid, SpaprPhbState),\n VMSTATE_STRUCT_ARRAY(lsi_table, SpaprPhbState, PCI_NUM_PINS, 0,\n vmstate_spapr_pci_lsi, SpaprPciLsi),\n VMSTATE_INT32(msi_devs_num, SpaprPhbState),\ndiff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c\nindex 501e82a766..3f05081bad 100644\n--- a/hw/ppc/spapr_vio.c\n+++ b/hw/ppc/spapr_vio.c\n@@ -609,8 +609,8 @@ const VMStateDescription vmstate_spapr_vio = {\n .minimum_version_id = 1,\n .fields = (const VMStateField[]) {\n /* Sanity check */\n- VMSTATE_UINT32_EQUAL(reg, SpaprVioDevice, NULL),\n- VMSTATE_UINT32_EQUAL(irq, SpaprVioDevice, NULL),\n+ VMSTATE_UINT32_EQUAL(reg, SpaprVioDevice),\n+ VMSTATE_UINT32_EQUAL(irq, SpaprVioDevice),\n \n /* General VIO device state */\n VMSTATE_UINT64(signal_state, SpaprVioDevice),\ndiff --git a/hw/s390x/css.c b/hw/s390x/css.c\nindex df5f0bc27f..ecd28fed5c 100644\n--- a/hw/s390x/css.c\n+++ b/hw/s390x/css.c\n@@ -199,15 +199,15 @@ const VMStateDescription vmstate_subch_dev = {\n .post_load = subch_dev_post_load,\n .pre_save = subch_dev_pre_save,\n .fields = (const VMStateField[]) {\n- VMSTATE_UINT8_EQUAL(cssid, SubchDev, NULL),\n- VMSTATE_UINT8_EQUAL(ssid, SubchDev, NULL),\n+ VMSTATE_UINT8_EQUAL(cssid, SubchDev),\n+ VMSTATE_UINT8_EQUAL(ssid, SubchDev),\n VMSTATE_UINT16(migrated_schid, SubchDev),\n /*\n * If devno mismatch on target, it may be due to some\n * sequences of plug and unplug breaks migration for\n * machine versions prior to 2.7 (known design flaw).\n */\n- VMSTATE_UINT16_EQUAL(devno, SubchDev, NULL),\n+ VMSTATE_UINT16_EQUAL(devno, SubchDev),\n VMSTATE_BOOL(thinint_active, SubchDev),\n VMSTATE_STRUCT(curr_status, SubchDev, 0, vmstate_schib, SCHIB),\n VMSTATE_UINT8_ARRAY(sense_data, SubchDev, 32),\ndiff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c\nindex b2224c7f76..a7b9fe1317 100644\n--- a/hw/usb/hcd-uhci.c\n+++ b/hw/usb/hcd-uhci.c\n@@ -364,7 +364,7 @@ static const VMStateDescription vmstate_uhci = {\n .post_load = uhci_post_load,\n .fields = (const VMStateField[]) {\n VMSTATE_PCI_DEVICE(dev, UHCIState),\n- VMSTATE_UINT8_EQUAL(num_ports_vmstate, UHCIState, NULL),\n+ VMSTATE_UINT8_EQUAL(num_ports_vmstate, UHCIState),\n VMSTATE_STRUCT_ARRAY(ports, UHCIState, UHCI_PORTS, 1,\n vmstate_uhci_port, UHCIPort),\n VMSTATE_UINT16(cmd, UHCIState),\ndiff --git a/include/migration/vmstate.h b/include/migration/vmstate.h\nindex 66c2e87bd3..d4a39aa794 100644\n--- a/include/migration/vmstate.h\n+++ b/include/migration/vmstate.h\n@@ -182,7 +182,6 @@ typedef enum {\n \n struct VMStateField {\n const char *name;\n- const char *err_hint;\n size_t offset;\n size_t size;\n size_t start;\n@@ -358,9 +357,8 @@ extern const VMStateInfo vmstate_info_qlist;\n }\n \n #define VMSTATE_SINGLE_FULL(_field, _state, _test, _version, _info, \\\n- _type, _err_hint) { \\\n+ _type) { \\\n .name = (stringify(_field)), \\\n- .err_hint = (_err_hint), \\\n .version_id = (_version), \\\n .field_exists = (_test), \\\n .size = sizeof(_type), \\\n@@ -1022,35 +1020,35 @@ extern const VMStateInfo vmstate_info_qlist;\n \n #endif\n \n-#define VMSTATE_UINT8_EQUAL(_f, _s, _err_hint) \\\n+#define VMSTATE_UINT8_EQUAL(_f, _s) \\\n VMSTATE_SINGLE_FULL(_f, _s, 0, 0, \\\n- vmstate_info_uint8_equal, uint8_t, _err_hint)\n+ vmstate_info_uint8_equal, uint8_t)\n \n-#define VMSTATE_UINT16_EQUAL(_f, _s, _err_hint) \\\n+#define VMSTATE_UINT16_EQUAL(_f, _s) \\\n VMSTATE_SINGLE_FULL(_f, _s, 0, 0, \\\n- vmstate_info_uint16_equal, uint16_t, _err_hint)\n+ vmstate_info_uint16_equal, uint16_t)\n \n-#define VMSTATE_UINT16_EQUAL_V(_f, _s, _v, _err_hint) \\\n+#define VMSTATE_UINT16_EQUAL_V(_f, _s, _v) \\\n VMSTATE_SINGLE_FULL(_f, _s, 0, _v, \\\n- vmstate_info_uint16_equal, uint16_t, _err_hint)\n+ vmstate_info_uint16_equal, uint16_t)\n \n-#define VMSTATE_INT32_EQUAL(_f, _s, _err_hint) \\\n+#define VMSTATE_INT32_EQUAL(_f, _s) \\\n VMSTATE_SINGLE_FULL(_f, _s, 0, 0, \\\n- vmstate_info_int32_equal, int32_t, _err_hint)\n+ vmstate_info_int32_equal, int32_t)\n \n-#define VMSTATE_UINT32_EQUAL_V(_f, _s, _v, _err_hint) \\\n+#define VMSTATE_UINT32_EQUAL_V(_f, _s, _v) \\\n VMSTATE_SINGLE_FULL(_f, _s, 0, _v, \\\n- vmstate_info_uint32_equal, uint32_t, _err_hint)\n+ vmstate_info_uint32_equal, uint32_t)\n \n-#define VMSTATE_UINT32_EQUAL(_f, _s, _err_hint) \\\n- VMSTATE_UINT32_EQUAL_V(_f, _s, 0, _err_hint)\n+#define VMSTATE_UINT32_EQUAL(_f, _s) \\\n+ VMSTATE_UINT32_EQUAL_V(_f, _s, 0)\n \n-#define VMSTATE_UINT64_EQUAL_V(_f, _s, _v, _err_hint) \\\n+#define VMSTATE_UINT64_EQUAL_V(_f, _s, _v) \\\n VMSTATE_SINGLE_FULL(_f, _s, 0, _v, \\\n- vmstate_info_uint64_equal, uint64_t, _err_hint)\n+ vmstate_info_uint64_equal, uint64_t)\n \n-#define VMSTATE_UINT64_EQUAL(_f, _s, _err_hint) \\\n- VMSTATE_UINT64_EQUAL_V(_f, _s, 0, _err_hint)\n+#define VMSTATE_UINT64_EQUAL(_f, _s) \\\n+ VMSTATE_UINT64_EQUAL_V(_f, _s, 0)\n \n #define VMSTATE_INT32_POSITIVE_LE(_f, _s) \\\n VMSTATE_SINGLE(_f, _s, 0, vmstate_info_int32_le, int32_t)\ndiff --git a/migration/vmstate-types.c b/migration/vmstate-types.c\nindex 89cb211472..033a2685c8 100644\n--- a/migration/vmstate-types.c\n+++ b/migration/vmstate-types.c\n@@ -131,9 +131,6 @@ static int get_int32_equal(QEMUFile *f, void *pv, size_t size,\n return 0;\n }\n error_report(\"%\" PRIx32 \" != %\" PRIx32, *v, v2);\n- if (field->err_hint) {\n- error_printf(\"%s\\n\", field->err_hint);\n- }\n return -EINVAL;\n }\n \n@@ -280,9 +277,6 @@ static int get_uint32_equal(QEMUFile *f, void *pv, size_t size,\n return 0;\n }\n error_report(\"%\" PRIx32 \" != %\" PRIx32, *v, v2);\n- if (field->err_hint) {\n- error_printf(\"%s\\n\", field->err_hint);\n- }\n return -EINVAL;\n }\n \n@@ -391,9 +385,6 @@ static int get_uint64_equal(QEMUFile *f, void *pv, size_t size,\n return 0;\n }\n error_report(\"%\" PRIx64 \" != %\" PRIx64, *v, v2);\n- if (field->err_hint) {\n- error_printf(\"%s\\n\", field->err_hint);\n- }\n return -EINVAL;\n }\n \n@@ -417,9 +408,6 @@ static int get_uint8_equal(QEMUFile *f, void *pv, size_t size,\n return 0;\n }\n error_report(\"%x != %x\", *v, v2);\n- if (field->err_hint) {\n- error_printf(\"%s\\n\", field->err_hint);\n- }\n return -EINVAL;\n }\n \n@@ -443,9 +431,6 @@ static int get_uint16_equal(QEMUFile *f, void *pv, size_t size,\n return 0;\n }\n error_report(\"%x != %x\", *v, v2);\n- if (field->err_hint) {\n- error_printf(\"%s\\n\", field->err_hint);\n- }\n return -EINVAL;\n }\n \ndiff --git a/target/ppc/machine.c b/target/ppc/machine.c\nindex 49cfdc6d67..9eae0ff647 100644\n--- a/target/ppc/machine.c\n+++ b/target/ppc/machine.c\n@@ -564,7 +564,7 @@ static const VMStateDescription vmstate_tlb6xx = {\n .minimum_version_id = 1,\n .needed = tlb6xx_needed,\n .fields = (const VMStateField[]) {\n- VMSTATE_INT32_EQUAL(env.nb_tlb, PowerPCCPU, NULL),\n+ VMSTATE_INT32_EQUAL(env.nb_tlb, PowerPCCPU),\n VMSTATE_STRUCT_VARRAY_POINTER_INT32(env.tlb.tlb6, PowerPCCPU,\n env.nb_tlb,\n vmstate_tlb6xx_entry,\n@@ -603,7 +603,7 @@ static const VMStateDescription vmstate_tlbemb = {\n .minimum_version_id = 1,\n .needed = tlbemb_needed,\n .fields = (const VMStateField[]) {\n- VMSTATE_INT32_EQUAL(env.nb_tlb, PowerPCCPU, NULL),\n+ VMSTATE_INT32_EQUAL(env.nb_tlb, PowerPCCPU),\n VMSTATE_STRUCT_VARRAY_POINTER_INT32(env.tlb.tlbe, PowerPCCPU,\n env.nb_tlb,\n vmstate_tlbemb_entry,\n@@ -639,7 +639,7 @@ static const VMStateDescription vmstate_tlbmas = {\n .minimum_version_id = 1,\n .needed = tlbmas_needed,\n .fields = (const VMStateField[]) {\n- VMSTATE_INT32_EQUAL(env.nb_tlb, PowerPCCPU, NULL),\n+ VMSTATE_INT32_EQUAL(env.nb_tlb, PowerPCCPU),\n VMSTATE_STRUCT_VARRAY_POINTER_INT32(env.tlb.tlbm, PowerPCCPU,\n env.nb_tlb,\n vmstate_tlbmas_entry,\n", "prefixes": [ "PULL", "19/43" ] }