diff options
author | Markus Armbruster | 2020-12-11 18:11:48 +0100 |
---|---|---|
committer | Markus Armbruster | 2020-12-19 10:39:16 +0100 |
commit | 3ddba9a9e9bedd20a0b60dcdbe86f16223555555 (patch) | |
tree | e3cd42f824ee34ca81533a4c83026038048f27d3 /hw/pci | |
parent | qobject: Factor JSON writer out of qobject_to_json() (diff) | |
download | qemu-3ddba9a9e9bedd20a0b60dcdbe86f16223555555.tar.gz qemu-3ddba9a9e9bedd20a0b60dcdbe86f16223555555.tar.xz qemu-3ddba9a9e9bedd20a0b60dcdbe86f16223555555.zip |
migration: Replace migration's JSON writer by the general one
Commit 8118f0950f "migration: Append JSON description of migration
stream" needs a JSON writer. The existing qobject_to_json() wasn't a
good fit, because it requires building a QObject to convert. Instead,
migration got its very own JSON writer, in commit 190c882ce2 "QJSON:
Add JSON writer". It tacitly limits numbers to int64_t, and strings
contents to characters that don't need escaping, unlike
qobject_to_json().
The previous commit factored the JSON writer out of qobject_to_json().
Replace migration's JSON writer by it.
Cc: Juan Quintela <quintela@redhat.com>
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201211171152.146877-17-armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'hw/pci')
-rw-r--r-- | hw/pci/msix.c | 2 | ||||
-rw-r--r-- | hw/pci/pci.c | 4 | ||||
-rw-r--r-- | hw/pci/shpc.c | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/hw/pci/msix.c b/hw/pci/msix.c index 36491ee52b..ae9331cd0b 100644 --- a/hw/pci/msix.c +++ b/hw/pci/msix.c @@ -634,7 +634,7 @@ void msix_unset_vector_notifiers(PCIDevice *dev) } static int put_msix_state(QEMUFile *f, void *pv, size_t size, - const VMStateField *field, QJSON *vmdesc) + const VMStateField *field, JSONWriter *vmdesc) { msix_save(pv, f); diff --git a/hw/pci/pci.c b/hw/pci/pci.c index d4349ea577..dd589cd7c7 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -559,7 +559,7 @@ static int get_pci_config_device(QEMUFile *f, void *pv, size_t size, /* just put buffer */ static int put_pci_config_device(QEMUFile *f, void *pv, size_t size, - const VMStateField *field, QJSON *vmdesc) + const VMStateField *field, JSONWriter *vmdesc) { const uint8_t **v = pv; assert(size == pci_config_size(container_of(pv, PCIDevice, config))); @@ -597,7 +597,7 @@ static int get_pci_irq_state(QEMUFile *f, void *pv, size_t size, } static int put_pci_irq_state(QEMUFile *f, void *pv, size_t size, - const VMStateField *field, QJSON *vmdesc) + const VMStateField *field, JSONWriter *vmdesc) { int i; PCIDevice *s = container_of(pv, PCIDevice, irq_state); diff --git a/hw/pci/shpc.c b/hw/pci/shpc.c index b00dce629c..4786a44996 100644 --- a/hw/pci/shpc.c +++ b/hw/pci/shpc.c @@ -699,7 +699,7 @@ void shpc_cap_write_config(PCIDevice *d, uint32_t addr, uint32_t val, int l) } static int shpc_save(QEMUFile *f, void *pv, size_t size, - const VMStateField *field, QJSON *vmdesc) + const VMStateField *field, JSONWriter *vmdesc) { PCIDevice *d = container_of(pv, PCIDevice, shpc); qemu_put_buffer(f, d->shpc->config, SHPC_SIZEOF(d)); |