On 6 August 2018 at 13:13, Dr. David Alan Gilbert (git) <dgilb...@redhat.com> wrote: > From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > > Clarify that the pre_load function in a subsection is only called if > the subsection is found; to handle a missing subsection you may > set values in the pre_load of the parent vmsd.
NB: I did a quick audit of all the uses of pre_load in the tree: These uses rely on the hook not being called unless the subsection is found: hw/acpi/ich9.c hw/acpi/piix4.c hw/net/vmxnet3.c These are buggy (and I have a patch I'm testing to fix it) hw/intc/arm_gicv3_common.c: .pre_load = vmstate_gicv3_cpu_pre_load, hw/intc/arm_gicv3_common.c: .pre_load = gicv3_pre_load, and all the rest are not in VMSDs for subsections. (I didn't audit the post_load uses; gicv3 has a wrong use of that too.) thanks -- PMM