mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 09:13:55 -06:00
migration: Replace migration's JSON writer by the general one
Commit8118f0950f
"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 commit190c882ce2
"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>
This commit is contained in:
parent
998da0b158
commit
3ddba9a9e9
29 changed files with 114 additions and 253 deletions
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue