All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Bolognani <abologna@redhat.com>
To: Andrew Jones <drjones@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Marcel Apfelbaum <mapfelba@redhat.com>,
	Kevin Zhao <kevin.zhao@linaro.org>,
	Gema Gomez-Solano <gema.gomez-solano@linaro.org>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Thomas Hanson <thomas.hanson@linaro.org>,
	qemu-arm <qemu-arm@nongnu.org>, Laine Stump <lstump@redhat.com>
Subject: Re: [Qemu-arm] [Qemu-devel] Help: Does Qemu support virtio-pci for net-device and disk device?
Date: Fri, 19 Aug 2016 17:43:19 +0200	[thread overview]
Message-ID: <1471621399.3820.64.camel@redhat.com> (raw)
In-Reply-To: <20160818063807.mqs7jdjau5uwyswx@hawk.localdomain>

On Thu, 2016-08-18 at 08:38 +0200, Andrew Jones wrote:
> > > Finally, FWIW, with a guest kernel of 4.6.4-301.fc24.aarch64. The
> > > following qemu command line works for me.
> > > (notice the use of PCIe), and my network interface gets labeled enp0s1.
> > >  
> > > $QEMU -machine virt-2.6,accel=kvm -cpu host \
> > >   -m 1024 -smp 1 -nographic \
> > >   -bios /usr/share/AAVMF/AAVMF_CODE.fd \
> > >   -device ioh3420,bus=pcie.0,id=pcie.1,port=1,chassis=1 \
> > >   -device ioh3420,bus=pcie.0,id=pcie.2,port=2,chassis=2 \
> > >   -device virtio-scsi-pci,disable-modern=off,disable-legacy=on,bus=pcie.1,addr=00.0,id=scsi0 \
> > >   -drive file=/home/drjones/.local/libvirt/images/fedora.qcow2,format=qcow2,if=none,id=drive-scsi0-0-0-0 \
> > >   -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1 \
> > >   -netdev user,id=hostnet0 \
> > >   -device virtio-net-pci,disable-modern=off,disable-legacy=on,bus=pcie.2,addr=00.0,netdev=hostnet0,id=net0
> > >  
> > > I prefer always using virtio-scsi for the disk, but a similar command
> > > line can be used for a virtio-blk-pci disk.
> > 
> > Does the same command line work if you don't specify any of
> > the disable-* options?
> > 
> > I'm asking because I tried running a Fedora 24 guest through
> > libvirt, which doesn't support those options yet, and I get
> > 
> >   virtio_blk virtio2: virtio: device uses modern interface but
> >                               does not have VIRTIO_F_VERSION_1
> >   virtio_blk: probe of virtio2 failed with error -22
> 
> Doesn't work for me either. I can only boot with disable-modern=off,
> disable-legacy=on (at least when building my config the way I try to
> build it...) I presume that's a guest kernel issue.

I tried Fedora 24 and Debian testing, and for both of them
the result is the same: I can only boot the guest if I'm
setting up a legacy-free PCIe topology and use virt-2.7 to
obtain virtio-1.0 devices (see below); for every other
permutation of

  { PCI topology, PCIe topology } x { virt-2.6, virt-2.7 }

the guest doesn't boot at all.

On the other hand, a RHEL 7.3 guest was able to boot *every
single time*, even though the result was in some cases
quite questionable (eg. legacy PCI devices plugged into
ioh3420 ports).

> > Isn't the default for 2.6 disable-modern=off,
> > disable-legacy=off? Or was that 2.7? I tried both anyway ;)
> 
> Dunno. With the command line getting longer all the time, I just
> have a script that generates one that works for me, and haven't
> worried much about the defaults...

So I thought the default for 2.6 was supposed to be

  disable-modern=off,disable-legacy=off  [0.9+1.0]

but it turns out it's actually

  disable-modern=on,disable-legacy=off       [0.9]

whereas the default for 2.7 is

  disable-modern=off,disable-legacy=on       [1.0]

Is the idea that there would be a QEMU release with both
0.9 and 1.0 enabled by default something that I just
imagined? Or did the plan just change at some point?

-- 
Andrea Bolognani / Red Hat / Virtualization

WARNING: multiple messages have this Message-ID (diff)
From: Andrea Bolognani <abologna@redhat.com>
To: Andrew Jones <drjones@redhat.com>
Cc: Kevin Zhao <kevin.zhao@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Marcel Apfelbaum <mapfelba@redhat.com>,
	Gema Gomez-Solano <gema.gomez-solano@linaro.org>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Thomas Hanson <thomas.hanson@linaro.org>,
	qemu-arm <qemu-arm@nongnu.org>, Laine Stump <lstump@redhat.com>
Subject: Re: [Qemu-devel] Help: Does Qemu support virtio-pci for net-device and disk device?
Date: Fri, 19 Aug 2016 17:43:19 +0200	[thread overview]
Message-ID: <1471621399.3820.64.camel@redhat.com> (raw)
In-Reply-To: <20160818063807.mqs7jdjau5uwyswx@hawk.localdomain>

On Thu, 2016-08-18 at 08:38 +0200, Andrew Jones wrote:
> > > Finally, FWIW, with a guest kernel of 4.6.4-301.fc24.aarch64. The
> > > following qemu command line works for me.
> > > (notice the use of PCIe), and my network interface gets labeled enp0s1.
> > >  
> > > $QEMU -machine virt-2.6,accel=kvm -cpu host \
> > >   -m 1024 -smp 1 -nographic \
> > >   -bios /usr/share/AAVMF/AAVMF_CODE.fd \
> > >   -device ioh3420,bus=pcie.0,id=pcie.1,port=1,chassis=1 \
> > >   -device ioh3420,bus=pcie.0,id=pcie.2,port=2,chassis=2 \
> > >   -device virtio-scsi-pci,disable-modern=off,disable-legacy=on,bus=pcie.1,addr=00.0,id=scsi0 \
> > >   -drive file=/home/drjones/.local/libvirt/images/fedora.qcow2,format=qcow2,if=none,id=drive-scsi0-0-0-0 \
> > >   -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1 \
> > >   -netdev user,id=hostnet0 \
> > >   -device virtio-net-pci,disable-modern=off,disable-legacy=on,bus=pcie.2,addr=00.0,netdev=hostnet0,id=net0
> > >  
> > > I prefer always using virtio-scsi for the disk, but a similar command
> > > line can be used for a virtio-blk-pci disk.
> > 
> > Does the same command line work if you don't specify any of
> > the disable-* options?
> > 
> > I'm asking because I tried running a Fedora 24 guest through
> > libvirt, which doesn't support those options yet, and I get
> > 
> >   virtio_blk virtio2: virtio: device uses modern interface but
> >                               does not have VIRTIO_F_VERSION_1
> >   virtio_blk: probe of virtio2 failed with error -22
> 
> Doesn't work for me either. I can only boot with disable-modern=off,
> disable-legacy=on (at least when building my config the way I try to
> build it...) I presume that's a guest kernel issue.

I tried Fedora 24 and Debian testing, and for both of them
the result is the same: I can only boot the guest if I'm
setting up a legacy-free PCIe topology and use virt-2.7 to
obtain virtio-1.0 devices (see below); for every other
permutation of

  { PCI topology, PCIe topology } x { virt-2.6, virt-2.7 }

the guest doesn't boot at all.

On the other hand, a RHEL 7.3 guest was able to boot *every
single time*, even though the result was in some cases
quite questionable (eg. legacy PCI devices plugged into
ioh3420 ports).

> > Isn't the default for 2.6 disable-modern=off,
> > disable-legacy=off? Or was that 2.7? I tried both anyway ;)
> 
> Dunno. With the command line getting longer all the time, I just
> have a script that generates one that works for me, and haven't
> worried much about the defaults...

So I thought the default for 2.6 was supposed to be

  disable-modern=off,disable-legacy=off  [0.9+1.0]

but it turns out it's actually

  disable-modern=on,disable-legacy=off       [0.9]

whereas the default for 2.7 is

  disable-modern=off,disable-legacy=on       [1.0]

Is the idea that there would be a QEMU release with both
0.9 and 1.0 enabled by default something that I just
imagined? Or did the plan just change at some point?

-- 
Andrea Bolognani / Red Hat / Virtualization

  reply	other threads:[~2016-08-19 15:43 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-17 12:08 [Qemu-arm] Help: Does Qemu support virtio-pci for net-device and disk device? Kevin Zhao
2016-08-17 12:08 ` [Qemu-devel] " Kevin Zhao
2016-08-17 16:13 ` [Qemu-arm] " Andrew Jones
2016-08-17 16:13   ` Andrew Jones
2016-08-17 16:41   ` [Qemu-arm] " Andrea Bolognani
2016-08-17 16:41     ` Andrea Bolognani
2016-08-18  6:38     ` [Qemu-arm] " Andrew Jones
2016-08-18  6:38       ` Andrew Jones
2016-08-19 15:43       ` Andrea Bolognani [this message]
2016-08-19 15:43         ` Andrea Bolognani
2016-08-19 17:51         ` [Qemu-arm] " Laine Stump
2016-08-19 17:51           ` Laine Stump
2016-08-17 17:00   ` Laine Stump
2016-08-17 17:00     ` Laine Stump
2016-08-18  7:41     ` [Qemu-arm] " Andrew Jones
2016-08-18  7:41       ` Andrew Jones
2016-08-18 21:11       ` [Qemu-arm] " Laine Stump
2016-08-18 21:11         ` Laine Stump
2016-08-18 12:10     ` [Qemu-arm] " Marcel Apfelbaum
2016-08-18 12:10       ` Marcel Apfelbaum
2016-08-18 21:20       ` [Qemu-arm] " Laine Stump
2016-08-18 21:20         ` Laine Stump
2016-08-18 12:43     ` [Qemu-arm] " Kevin Zhao
2016-08-18 12:43       ` Kevin Zhao
2016-08-18 13:51       ` [Qemu-arm] " Andrea Bolognani
2016-08-18 13:51         ` Andrea Bolognani
2016-08-24  1:52         ` Kevin Zhao
2016-08-24  1:52           ` Kevin Zhao
2016-09-08  6:50           ` [Qemu-arm] " Kevin Zhao
2016-09-08  6:50             ` Kevin Zhao
2016-08-18 21:26       ` [Qemu-arm] " Laine Stump
2016-08-18 21:26         ` Laine Stump
2016-08-18 12:30   ` [Qemu-arm] " Kevin Zhao
2016-08-18 12:30     ` Kevin Zhao
2016-08-18 12:51     ` [Qemu-arm] " Kevin Zhao
2016-08-18 12:51       ` Kevin Zhao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1471621399.3820.64.camel@redhat.com \
    --to=abologna@redhat.com \
    --cc=drjones@redhat.com \
    --cc=gema.gomez-solano@linaro.org \
    --cc=kevin.zhao@linaro.org \
    --cc=lstump@redhat.com \
    --cc=mapfelba@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=thomas.hanson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.