[Libosinfo] [PATCH osinfo-db 3/3] os: linux: Add q35/ich9/e1000e alongside virtio1.0 <device>

Daniel P. Berrangé berrange at redhat.com
Wed Oct 10 15:46:14 UTC 2018


On Tue, Oct 09, 2018 at 11:13:34AM -0400, Cole Robinson wrote:
> q35 is from 2007, so older OS versions definitely support it,
> however combining q35 with non-1.0 virtio can cause issues due to
> 'I/O port space PCIe limitations'

That is correct, but I don't think we should be restricting
where we report q35 based on that.

Management applications should decide whether or not that
scenario matters. It is valid to use Q35 without virtio
at all, even using Q35 with virtio-0.9 is valid if you
decide that the i/o port space limit is not important.

Apps already need knowledge about what Q35 is & how it
works, in order to ensure they do stuff like adding enough
root ports to allow later hotplug. So the recommendation
to avoid Q35 unless using virtio-1.0 is not unreasonable
to encode in applications

So I think should stick to reporting what's functionally
possible at a technical level at the OS level.

We do have a separate "deployment" concept in libosinfo
which we've never used. This was intended to provide a
more restrictive "best" set of configs for each OS. That
would be the kind of place where it would be reasonable
to express q35 if-only-if virtio-1.0 is supported.

> https://ladipro.wordpress.com/2016/10/17/virtio1-0-and-windows-guests/
> Signed-off-by: Cole Robinson <crobinso at redhat.com>
> ---
>  data/os/debian.org/debian-9.xml.in         | 3 +++
>  data/os/fedoraproject.org/fedora-23.xml.in | 5 ++++-
>  data/os/opensuse.org/opensuse-42.2.xml.in  | 3 +++
>  data/os/redhat.com/rhel-7.2.xml.in         | 3 +++
>  data/os/suse.com/sled-12.2.xml.in          | 3 +++
>  data/os/suse.com/sles-12.2.xml.in          | 3 +++
>  data/os/ubuntu.com/ubuntu-17.04.xml.in     | 3 +++
>  7 files changed, 22 insertions(+), 1 deletion(-)
> 
> diff --git a/data/os/debian.org/debian-9.xml.in b/data/os/debian.org/debian-9.xml.in
> index d90ceb9..043af88 100644
> --- a/data/os/debian.org/debian-9.xml.in
> +++ b/data/os/debian.org/debian-9.xml.in
> @@ -23,6 +23,9 @@
>        <device id="http://pcisig.com/pci/1af4/1048"/> <!-- virtio1.0-scsi -->
>        <device id="http://pcisig.com/pci/1af4/1049"/> <!-- virtio1.0-9p -->
>        <device id="http://pcisig.com/pci/1af4/1052"/> <!-- virtio1.0-input -->
> +      <device id="http://qemu.org/chipset/x86_64/q35"/> <!-- q35 -->
> +      <device id="http://pcisig.com/pci/8086/10d3"/> <!-- e1000e -->
> +      <device id="http://pcisig.com/pci/8086/293e"/> <!-- ich9 -->
>      </devices>
>  
>      <resources arch="all">
> diff --git a/data/os/fedoraproject.org/fedora-23.xml.in b/data/os/fedoraproject.org/fedora-23.xml.in
> index 2711620..ae6f7bf 100644
> --- a/data/os/fedoraproject.org/fedora-23.xml.in
> +++ b/data/os/fedoraproject.org/fedora-23.xml.in
> @@ -37,7 +37,10 @@
>        <device id="http://pcisig.com/pci/1af4/1049"/> <!-- virtio1.0-9p -->
>        <device id="http://pcisig.com/pci/1af4/1052"/> <!-- virtio1.0-input -->
>        <!-- virtio-1.0-gpu kmod is present, but mesa is not functional so
> -	   pretend its just not available until F24 to avoid bug reports -->
> +           pretend its just not available until F24 to avoid bug reports -->
> +      <device id="http://qemu.org/chipset/x86_64/q35"/> <!-- q35 -->
> +      <device id="http://pcisig.com/pci/8086/10d3"/> <!-- e1000e -->
> +      <device id="http://pcisig.com/pci/8086/293e"/> <!-- ich9 -->
>      </devices>
>  
>      <!-- Workstation -->
> diff --git a/data/os/opensuse.org/opensuse-42.2.xml.in b/data/os/opensuse.org/opensuse-42.2.xml.in
> index 2e77055..bd7c89d 100644
> --- a/data/os/opensuse.org/opensuse-42.2.xml.in
> +++ b/data/os/opensuse.org/opensuse-42.2.xml.in
> @@ -24,6 +24,9 @@
>        <device id="http://pcisig.com/pci/1af4/1049"/> <!-- virtio1.0-9p -->
>        <device id="http://pcisig.com/pci/1af4/1052"/> <!-- virtio1.0-input -->
>        <device id="http://pcisig.com/pci/1af4/1050"/> <!-- virtio1.0-gpu -->
> +      <device id="http://qemu.org/chipset/x86_64/q35"/> <!-- q35 -->
> +      <device id="http://pcisig.com/pci/8086/10d3"/> <!-- e1000e -->
> +      <device id="http://pcisig.com/pci/8086/293e"/> <!-- ich9 -->
>      </devices>
>  
>      <media arch="x86_64">
> diff --git a/data/os/redhat.com/rhel-7.2.xml.in b/data/os/redhat.com/rhel-7.2.xml.in
> index 5c8db2b..49a2840 100644
> --- a/data/os/redhat.com/rhel-7.2.xml.in
> +++ b/data/os/redhat.com/rhel-7.2.xml.in
> @@ -23,6 +23,9 @@
>        <device id="http://pcisig.com/pci/1af4/1048"/> <!-- virtio1.0-scsi -->
>        <device id="http://pcisig.com/pci/1af4/1049"/> <!-- virtio1.0-9p -->
>        <device id="http://pcisig.com/pci/1af4/1052"/> <!-- virtio1.0-input -->
> +      <device id="http://qemu.org/chipset/x86_64/q35"/> <!-- q35 -->
> +      <device id="http://pcisig.com/pci/8086/10d3"/> <!-- e1000e -->
> +      <device id="http://pcisig.com/pci/8086/293e"/> <!-- ich9 -->
>      </devices>
>  
>      <media arch="x86_64">
> diff --git a/data/os/suse.com/sled-12.2.xml.in b/data/os/suse.com/sled-12.2.xml.in
> index 67d2b17..714de7b 100644
> --- a/data/os/suse.com/sled-12.2.xml.in
> +++ b/data/os/suse.com/sled-12.2.xml.in
> @@ -23,6 +23,9 @@
>        <device id="http://pcisig.com/pci/1af4/1049"/> <!-- virtio1.0-9p -->
>        <device id="http://pcisig.com/pci/1af4/1052"/> <!-- virtio1.0-input -->
>        <device id="http://pcisig.com/pci/1af4/1050"/> <!-- virtio1.0-gpu -->
> +      <device id="http://qemu.org/chipset/x86_64/q35"/> <!-- q35 -->
> +      <device id="http://pcisig.com/pci/8086/10d3"/> <!-- e1000e -->
> +      <device id="http://pcisig.com/pci/8086/293e"/> <!-- ich9 -->
>      </devices>
>  
>      <media arch="x86_64">
> diff --git a/data/os/suse.com/sles-12.2.xml.in b/data/os/suse.com/sles-12.2.xml.in
> index dccc443..f1557cb 100644
> --- a/data/os/suse.com/sles-12.2.xml.in
> +++ b/data/os/suse.com/sles-12.2.xml.in
> @@ -23,6 +23,9 @@
>        <device id="http://pcisig.com/pci/1af4/1049"/> <!-- virtio1.0-9p -->
>        <device id="http://pcisig.com/pci/1af4/1052"/> <!-- virtio1.0-input -->
>        <device id="http://pcisig.com/pci/1af4/1050"/> <!-- virtio1.0-gpu -->
> +      <device id="http://qemu.org/chipset/x86_64/q35"/> <!-- q35 -->
> +      <device id="http://pcisig.com/pci/8086/10d3"/> <!-- e1000e -->
> +      <device id="http://pcisig.com/pci/8086/293e"/> <!-- ich9 -->
>      </devices>
>  
>      <media arch="x86_64">
> diff --git a/data/os/ubuntu.com/ubuntu-17.04.xml.in b/data/os/ubuntu.com/ubuntu-17.04.xml.in
> index 28e9784..569aa65 100644
> --- a/data/os/ubuntu.com/ubuntu-17.04.xml.in
> +++ b/data/os/ubuntu.com/ubuntu-17.04.xml.in
> @@ -25,6 +25,9 @@
>        <device id="http://pcisig.com/pci/1af4/1048"/> <!-- virtio1.0-scsi -->
>        <device id="http://pcisig.com/pci/1af4/1049"/> <!-- virtio1.0-9p -->
>        <device id="http://pcisig.com/pci/1af4/1052"/> <!-- virtio1.0-input -->
> +      <device id="http://qemu.org/chipset/x86_64/q35"/> <!-- q35 -->
> +      <device id="http://pcisig.com/pci/8086/10d3"/> <!-- e1000e -->
> +      <device id="http://pcisig.com/pci/8086/293e"/> <!-- ich9 -->
>      </devices>
>  
>      <resources arch="all">
> -- 
> 2.19.0
> 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the Libosinfo mailing list