On (Wed) 18 Jun 2014 [12:44:12], Juan Quintela wrote:
> Amit Shah <[email protected]> wrote:
> > This script compares the vmstate dumps in JSON format as output by QEMU
> > with the -dump-vmstate option.
> >
> > It flags various errors, like version mismatch, sections going away,
> > size mismatches, etc.
> >
> > This script is tolerant of a few changes that do not change the on-wire
> > format, like embedding a few fields within substructs.
> >
> > The script takes -s/--src and -d/--dest parameters, to which filenames
> > are given as arguments.
> >
> > Signed-off-by: Amit Shah <[email protected]>
>
>
>
> > +def check_fields_match(s_field, d_field):
> > + if s_field == d_field:
> > + return True
> > +
> > + # Some fields changed names between qemu versions. This list
> > + # is used to whitelist such changes.
> > + changed_names = [
> > + ['d', 'dev', 'pcidev', 'pci_dev', 'parent_obj'],
> > + ['card', 'parent_obj'],
> > + ['bridge.dev', 'parent_obj'],
> > + ['br.dev', 'parent_obj.parent_obj'],
> > + ['port.br.dev', 'parent_obj.parent_obj.parent_obj'],
> > + ['port.br.dev.exp.aer_log',
> > + 'parent_obj.parent_obj.parent_obj.exp.aer_log'],
> > + ['br.dev.exp.aer_log',
> > + 'parent_obj.parent_obj.exp.aer_log'],
> > + ['shpc', 'bridge.dev.shpc'],
> > + ['pci0_status',
> > + 'acpi_pci_hotplug.acpi_pcihp_pci_status[0x0]'],
> > + ['pci_irq_levels', 'pci_irq_levels_vmstate'],
> > + ['usb-ptr-queue', 'HIDPointerEventQueue'],
> > + ['num_surfaces', 'ssd.num_surfaces'],
> > + ['timer', 'timer_expiry'],
> > + ]
>
> I expect this not to be very big, so ... could we prepend the VMState
> description name on this?
>
> "usb-ptr-queue" and "HIDPointerEventQueue" are quite descriptive, but
>
> "d" "dev" "pci_dev" ...
>
> I am not sure that we want to do this translation for any
> VMSTateDescription. In particular, we are ending that parent_obj can
> match with anything :-()
Hm; so a 1-1 mapping of stuff that changed. A similar mapping will
have to be created for all vmsds.
I'll take a look at it.
Do you want to hold off this series till that, or should I just send a
follow-up patch (series) once I get something?
> My python is rusty (to be generous with me), so I am assuming rest of
> things are idiomatic Python O:-)
Heh, I'm hoping so too -- I'm learning python on-the-go with this
script.
Amit