All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] docs/s390x/pcidevices: document pci devices on s390x
@ 2023-01-27 12:33 Sebastian Mitterle
  2023-01-27 13:04 ` Cornelia Huck
  2023-01-30 12:45 ` Thomas Huth
  0 siblings, 2 replies; 3+ messages in thread
From: Sebastian Mitterle @ 2023-01-27 12:33 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, cohuck, clegoate, qemu-trivial, qemu-s390x

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=n, Size: 2664 bytes --]

Add some documentation about the zpci device and how
to use it with pci devices on s390x.

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>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
---
v3: add info zpci is autogenerated, fix typos and source formatting,
improve style as suggested
---
 docs/system/s390x/pcidevices.rst | 41 ++++++++++++++++++++++++++++++++
 docs/system/target-s390x.rst     |  1 +
 2 files changed, 42 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..628effa2f4
--- /dev/null
+++ b/docs/system/s390x/pcidevices.rst
@@ -0,0 +1,41 @@
+PCI devices on s390x
+====================
+
+PCI devices on s390x work differently than on other architectures and need to
+be configured in a slightly different way.
+
+Every PCI device is linked with an additional ``zpci`` device.
+While the ``zpci`` device will be autogenerated if not specified, it is
+recommended to specify it explicitly so that you can pass s390-specific
+PCI configuration.
+
+For example, in order to pass a 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 PCI implementations. Topology information is not available on s390x, and
+the guest will not see any of the bus, slot or function information specified
+on the command line.
+
+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
+ ...
diff --git a/docs/system/target-s390x.rst b/docs/system/target-s390x.rst
index c636f64113..f6f11433c7 100644
--- a/docs/system/target-s390x.rst
+++ b/docs/system/target-s390x.rst
@@ -26,6 +26,7 @@ or vfio-ap is also available.
    s390x/css
    s390x/3270
    s390x/vfio-ccw
+   s390x/pcidevices
 
 Architectural features
 ======================
-- 
2.37.3



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] docs/s390x/pcidevices: document pci devices on s390x
  2023-01-27 12:33 [PATCH v3] docs/s390x/pcidevices: document pci devices on s390x Sebastian Mitterle
@ 2023-01-27 13:04 ` Cornelia Huck
  2023-01-30 12:45 ` Thomas Huth
  1 sibling, 0 replies; 3+ messages in thread
From: Cornelia Huck @ 2023-01-27 13:04 UTC (permalink / raw)
  To: Sebastian Mitterle, qemu-devel; +Cc: thuth, clegoate, qemu-trivial, qemu-s390x

On Fri, Jan 27 2023, Sebastian Mitterle <smitterl@redhat.com> wrote:

> Add some documentation about the zpci device and how
> to use it with pci devices on s390x.
>
> 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>
> Reviewed-by: Cédric Le Goater <clg@redhat.com>
> ---
> v3: add info zpci is autogenerated, fix typos and source formatting,
> improve style as suggested
> ---
>  docs/system/s390x/pcidevices.rst | 41 ++++++++++++++++++++++++++++++++
>  docs/system/target-s390x.rst     |  1 +
>  2 files changed, 42 insertions(+)
>  create mode 100644 docs/system/s390x/pcidevices.rst

Reviewed-by: Cornelia Huck <cohuck@redhat.com>



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] docs/s390x/pcidevices: document pci devices on s390x
  2023-01-27 12:33 [PATCH v3] docs/s390x/pcidevices: document pci devices on s390x Sebastian Mitterle
  2023-01-27 13:04 ` Cornelia Huck
@ 2023-01-30 12:45 ` Thomas Huth
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Huth @ 2023-01-30 12:45 UTC (permalink / raw)
  To: Sebastian Mitterle, qemu-devel; +Cc: cohuck, clegoate, qemu-trivial, qemu-s390x

On 27/01/2023 13.33, Sebastian Mitterle wrote:
> Add some documentation about the zpci device and how
> to use it with pci devices on s390x.
> 
> 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>
> Reviewed-by: Cédric Le Goater <clg@redhat.com>
> ---
> v3: add info zpci is autogenerated, fix typos and source formatting,
> improve style as suggested
> ---
>   docs/system/s390x/pcidevices.rst | 41 ++++++++++++++++++++++++++++++++
>   docs/system/target-s390x.rst     |  1 +
>   2 files changed, 42 insertions(+)
>   create mode 100644 docs/system/s390x/pcidevices.rst

Thanks, looks fine now to me, too!

Queued it to my staging branch:

  https://gitlab.com/thuth/qemu/-/commits/staging

  Thomas




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-01-30 12:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-27 12:33 [PATCH v3] docs/s390x/pcidevices: document pci devices on s390x Sebastian Mitterle
2023-01-27 13:04 ` Cornelia Huck
2023-01-30 12:45 ` Thomas Huth

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.