On Tue, 26 Aug 2014 14:16:59 -0700 Andy Lutomirski <l...@amacapital.net> wrote:
> This fixes virtio on Xen guests as well as on any other platform on > which physical addresses don't match bus addresses. > > This can be tested with: > > virtme-run --xen xen --kimg arch/x86/boot/bzImage --console > > using virtme from here: > > https://git.kernel.org/cgit/utils/kernel/virtme/virtme.git > > Without these patches, the guest hangs forever. With these patches, > everything works. > > There are two outstanding issues. virtio_net warns if DMA debugging > is on because it does DMA from the stack. (The warning is correct.) > This also is likely to do something unpleasant to s390. s/is likely to do something unpleasant to/breaks/ Sorry, this just won't work for s390, as Christian already explained. > (Maintainers are cc'd -- I don't know what to do about it.) > > Andy Lutomirski (3): > virtio_ring: Remove sg_next indirection > virtio_ring: Use DMA APIs > virtio_pci: Use the DMA API for virtqueues > > drivers/virtio/Kconfig | 1 + > drivers/virtio/virtio_pci.c | 25 ++++++-- > drivers/virtio/virtio_ring.c | 150 > ++++++++++++++++++++++++++++++------------- > 3 files changed, 125 insertions(+), 51 deletions(-) > Aren't you also changing some basic assumptions with the conversion to DMA apis? virtqueues currently aren't accessed via dma (or it wouldn't work on s390); if you want (say) virtio-pci to use dma, shouldn't that be something that is negotiated between guest and host? _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization