Am 16.05.2014 11:14, schrieb Fam Zheng: > On Thu, 05/15 12:08, Greg Kurz wrote: >>>> The main problem I see is that virtio sucks: as you see in patch 8, we have >>>> to be careful not to call vring or virtqueue stuff before the device knows >>>> its endianness or it breaks... I need to study how the virtio-bus gets >>>> migrated to ensure the endian section is streamed before the devices. >>> >>> There is no ordering guarantee. The state needs to be migrated in the >>> device or bus where it sits, if post-load processing is required; i.e., >>> if it's in VirtIODevice then something like this series, if it were on >>> VirtioBus exclusively (device asking bus for its endianness each time >>> and does not do post-load stuff) then endianness could be migrated as a >>> new bus section. Not sure if that would help the "broken" state though? >>> >> >> IIRW the "broken" state was proposed as a per-device property... > > Yes.
Sure, and that makes sense, but we do have a 1:1 relation of bus/device, or does virtio-mmio support more? If device doesn't work for some reason, we could (mis)use the bus as fallback then. Cheers, Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg