Re: booting from virtio-blk

Anthony Liguori
2008-04-01T17:09:33Z

Hollis Blanchard wrote:
>
> Thanks Anthony, you've saved me a lot of debug time! Rusty, doing 64-bit
> PCI config space accesses with ioread8() definitely violates the
> principle of least surprises, and would have taken me a long time to
> track down. :(
>

It's the unfortunate side-effect of using PCI config space without
passing it's semantics through to the virtio devices. Right now, you do
a config_get which is basically a memcpy. If we didn't do accesses with
ioread8(), you could potentially have a caller than did a config_get()
of size 4 that didn't intend on having endian conversion applied.

The other option would have been to provide config_get() and
config_get8/16/32/64() the later performing endian conversion.

Regards,

Anthony Liguori

> Attached is a boot log of a PowerPC guest booting from virtio-blk root.
>
> "ramdisk_image" is the standard ~4MB image provided with DENX Embedded
> Linux Development Kit. Booting is also *way* faster than NFS root (a few
> seconds to get to a shell :) .