Currently, a lot of the virtio code assumes that bus (i.e. hypervisor)
addresses are the same as physical address.  This is false on Xen, so
virtio is completely broken.  I wouldn't be surprised if it also
becomes a problem the first time that someone sticks a physical
"virtio" device on a 32-bit bus on an ARM SOC with more than 4G RAM.

Would you accept patches to convert virtio_ring and virtio_pci to use
the DMA APIs?  I think that the only real catch will be that
virtio_ring's approach to freeing indirect blocks is currently
incompatible with the DMA API -- it assumes that knowing the bus
address is enough to call kfree, and I don't think that the DMA API
provides a reverse mapping like that.

--Andy

-- 
Andy Lutomirski
AMA Capital Management, LLC
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to