qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] docs/s390x/pcidevices: document pci devices on s390x


From: Thomas Huth
Subject: Re: [PATCH v2] docs/s390x/pcidevices: document pci devices on s390x
Date: Fri, 27 Jan 2023 10:24:05 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.13.0

On 27/01/2023 09.46, Sebastian Mitterle wrote:
Add some documentation about the zpci device and how
to use it with pci devices on s390x.

Thanks for tackling this! ... some comments below...

Used source: Cornelia Huck's blog post
https://people.redhat.com/~cohuck/2018/02/19/notes-on-pci-on-s390x.html

Signed-off-by: Sebastian Mitterle <smitterl@redhat.com>
---
v2: move section below 'Device support'
---
  docs/system/s390x/pcidevices.rst | 34 ++++++++++++++++++++++++++++++++
  docs/system/target-s390x.rst     |  1 +
  2 files changed, 35 insertions(+)
  create mode 100644 docs/system/s390x/pcidevices.rst

diff --git a/docs/system/s390x/pcidevices.rst b/docs/system/s390x/pcidevices.rst
new file mode 100644
index 0000000000..fec905d6e6
--- /dev/null
+++ b/docs/system/s390x/pcidevices.rst
@@ -0,0 +1,34 @@
+PCI devices on s390x
+====================
+
+PCI devices on s390x work differently than on other architectures.
+
+To start with, using a PCI device requires the additional ``zpci`` device. For 
example,

Please wrap lines at 80 columns (if possible)

+in order to pass a PCI device ``0000:00:00.0`` through you'd specify::

I'd suggest to be more explicit here:

in order to pass a host PCI device ``0000:00:00.0`` through to the guest, you would specify::

+ qemu-system-s390x ... \
+                   -device zpci,uid=1,fid=0,target=hostdev0,id=zpci1 \
+                   -device vfio-pci,host=0000:00:00.0,id=hostdev0
+
+Here, the zpci device is joined with the PCI device via the ``target`` 
property.
+
+Note that we don't set bus, slot or function here for the guest as is common 
in other

"as *it* is common" ?

+PCI implementations. Topology information is not available on s390x. Instead, 
``uid``
+and ``fid`` determine how the device is presented to the guest operating 
system.
+
+In case of Linux, ``uid`` will be used in the ``domain`` part of the PCI 
identifier, and
+``fid`` identifies the physical slot, i.e.::
+
+ qemu-system-s390x ... \
+                   -device zpci,uid=7,fid=8,target=hostdev0,id=zpci1 \
+                   ...
+
+will be presented in the guest as::
+
+ # lspci -v
+ 0007:00:00.0 ...
+ Physical Slot: 00000008
+ ...
+
+Finally, note that you might have to enable the ``zpci`` feature in the cpu 
model in oder to use

s/oder/order/

(and it's a very long line again, please wrap at 80 columns)

+it.

Should we also add some information about virtio devices? (can also be added later, not necessarily in your patch already)

 Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]