diff options
author | Halil Pasic <pasic@linux.vnet.ibm.com> | 2017-06-23 16:48:23 +0200 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2017-06-28 11:18:44 +0200 |
commit | d2164ad35c411d97abd2aa5c6f160283d215e214 (patch) | |
tree | fffb1821aade0b81089fc02cd5d6880024a265b0 /hw/pci | |
parent | 01f6e14c78f480ade5521139019fdf930a7affaa (diff) | |
download | qemu-d2164ad35c411d97abd2aa5c6f160283d215e214.zip qemu-d2164ad35c411d97abd2aa5c6f160283d215e214.tar.gz qemu-d2164ad35c411d97abd2aa5c6f160283d215e214.tar.bz2 |
vmstate: error hint for failed equal checks
In some cases a failing VMSTATE_*_EQUAL does not mean we detected a bug,
but it's actually the best we can do. Especially in these cases a verbose
error message is required.
Let's introduce infrastructure for specifying a error hint to be used if
equal check fails. Let's do this by adding a parameter to the _EQUAL
macros called _err_hint. Also change all current users to pass NULL as
last parameter so nothing changes for them.
Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Message-Id: <20170623144823.42936-1-pasic@linux.vnet.ibm.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'hw/pci')
-rw-r--r-- | hw/pci/pci.c | 2 | ||||
-rw-r--r-- | hw/pci/pcie_aer.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/hw/pci/pci.c b/hw/pci/pci.c index 98ccc27..b7fee4b 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -74,7 +74,7 @@ static const VMStateDescription vmstate_pcibus = { .version_id = 1, .minimum_version_id = 1, .fields = (VMStateField[]) { - VMSTATE_INT32_EQUAL(nirq, PCIBus), + VMSTATE_INT32_EQUAL(nirq, PCIBus, NULL), VMSTATE_VARRAY_INT32(irq_count, PCIBus, nirq, 0, vmstate_info_int32, int32_t), diff --git a/hw/pci/pcie_aer.c b/hw/pci/pcie_aer.c index 828052b..9720074 100644 --- a/hw/pci/pcie_aer.c +++ b/hw/pci/pcie_aer.c @@ -813,7 +813,7 @@ const VMStateDescription vmstate_pcie_aer_log = { .minimum_version_id = 1, .fields = (VMStateField[]) { VMSTATE_UINT16(log_num, PCIEAERLog), - VMSTATE_UINT16_EQUAL(log_max, PCIEAERLog), + VMSTATE_UINT16_EQUAL(log_max, PCIEAERLog, NULL), VMSTATE_VALIDATE("log_num <= log_max", pcie_aer_state_log_num_valid), VMSTATE_STRUCT_VARRAY_POINTER_UINT16(log, PCIEAERLog, log_num, vmstate_pcie_aer_err, PCIEAERErr), |