616a655219
Some CPU families can dynamically change their endianness. This means we can have little endian ppc or big endian arm guests for example. This has an impact on legacy virtio data structures since they are target endian. We hence introduce a new property to track the endianness of each virtio device. It is reasonnably assumed that endianness won't change while the device is in use : we hence capture the device endianness when it gets reset. We migrate this property in a subsection, after the device descriptor. This means the load code must not rely on it until it is restored. As a consequence, the vring sanity checks had to be moved after the call to vmstate_load_state(). We enforce paranoia by poisoning the property at the begining of virtio_load(). Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> |
||
---|---|---|
.. | ||
acpi | ||
arm | ||
audio | ||
block | ||
char | ||
cpu | ||
cris | ||
i2c | ||
i386 | ||
input | ||
intc | ||
ipack | ||
isa | ||
kvm | ||
lm32 | ||
m68k | ||
mem | ||
mips | ||
misc | ||
net | ||
nvram | ||
pci | ||
pci-host | ||
ppc | ||
s390x | ||
scsi | ||
sh4 | ||
sparc | ||
timer | ||
unicore32 | ||
usb | ||
virtio | ||
xen | ||
boards.h | ||
bt.h | ||
devices.h | ||
elf_ops.h | ||
empty_slot.h | ||
fw-path-provider.h | ||
hotplug.h | ||
hw.h | ||
ide.h | ||
irq.h | ||
loader.h | ||
pcmcia.h | ||
ptimer.h | ||
qdev-core.h | ||
qdev-dma.h | ||
qdev-properties.h | ||
qdev.h | ||
sd.h | ||
ssi.h | ||
stream.h | ||
sysbus.h | ||
usb.h |