[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 03/10] docs/s390x: document the virtual css
From: |
Cornelia Huck |
Subject: |
[PULL 03/10] docs/s390x: document the virtual css |
Date: |
Fri, 5 Jun 2020 17:37:49 +0200 |
Add some hints about "devno" rules.
Message-Id: <20200515151518.83950-2-cohuck@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
docs/system/s390x/css.rst | 86 ++++++++++++++++++++++++++++++++++++
docs/system/target-s390x.rst | 1 +
2 files changed, 87 insertions(+)
create mode 100644 docs/system/s390x/css.rst
diff --git a/docs/system/s390x/css.rst b/docs/system/s390x/css.rst
new file mode 100644
index 000000000000..3b4016118423
--- /dev/null
+++ b/docs/system/s390x/css.rst
@@ -0,0 +1,86 @@
+The virtual channel subsystem
+=============================
+
+QEMU implements a virtual channel subsystem with subchannels, (mostly
+functionless) channel paths, and channel devices (virtio-ccw, 3270, and
+devices passed via vfio-ccw). It supports multiple subchannel sets (MSS) and
+multiple channel subsystems extended (MCSS-E).
+
+All channel devices support the ``devno`` property, which takes a parameter
+in the form ``<cssid>.<ssid>.<device number>``.
+
+The default channel subsystem image id (``<cssid>``) is ``0xfe``. Devices in
+there will show up in channel subsystem image ``0`` to guests that do not
+enable MCSS-E. Note that devices with a different cssid will not be visible
+if the guest OS does not enable MCSS-E (which is true for all supported guest
+operating systems today).
+
+Supported values for the subchannel set id (``<ssid>``) range from ``0-3``.
+Devices with a ssid that is not ``0`` will not be visible if the guest OS
+does not enable MSS (any Linux version that supports virtio also enables MSS).
+Any device may be put into any subchannel set, there is no restriction by
+device type.
+
+The device number can range from ``0-0xffff``.
+
+If the ``devno`` property is not specified for a device, QEMU will choose the
+next free device number in subchannel set 0, skipping to the next subchannel
+set if no more device numbers are free.
+
+QEMU places a device at the first free subchannel in the specified subchannel
+set. If a device is hotunplugged and later replugged, it may appear at a
+different subchannel. (This is similar to how z/VM works.)
+
+
+Examples
+--------
+
+* a virtio-net device, cssid/ssid/devno automatically assigned::
+
+ -device virtio-net-ccw
+
+ In a Linux guest (without default devices and no other devices specified
+ prior to this one), this will show up as ``0.0.0000`` under subchannel
+ ``0.0.0000``.
+
+ The auto-assigned-properties in QEMU (as seen via e.g. ``info qtree``)
+ would be ``dev_id = "fe.0.0000"`` and ``subch_id = "fe.0.0000"``.
+
+* a virtio-rng device in subchannel set ``0``::
+
+ -device virtio-rng-ccw,devno=fe.0.0042
+
+ If added to the same Linux guest as above, it would show up as ``0.0.0042``
+ under subchannel ``0.0.0001``.
+
+ The properties for the device would be ``dev_id = "fe.0.0042"`` and
+ ``subch_id = "fe.0.0001"``.
+
+* a virtio-gpu device in subchannel set ``2``::
+
+ -device virtio-gpu-ccw,devno=fe.2.1111
+
+ If added to the same Linux guest as above, it would show up as ``0.2.1111``
+ under subchannel ``0.2.0000``.
+
+ The properties for the device would be ``dev_id = "fe.2.1111"`` and
+ ``subch_id = "fe.2.0000"``.
+
+* a virtio-mouse device in a non-standard channel subsystem image::
+
+ -device virtio-mouse-ccw,devno=2.0.2222
+
+ This would not show up in a standard Linux guest.
+
+ The properties for the device would be ``dev_id = "2.0.2222"`` and
+ ``subch_id = "2.0.0000"``.
+
+* a virtio-keyboard device in another non-standard channel subsystem image::
+
+ -device virtio-keyboard-ccw,devno=0.0.1234
+
+ This would not show up in a standard Linux guest, either, as ``0`` is not
+ the standard channel subsystem image id.
+
+ The properties for the device would be ``dev_id = "0.0.1234"`` and
+ ``subch_id = "0.0.0000"``.
diff --git a/docs/system/target-s390x.rst b/docs/system/target-s390x.rst
index 7d76ae97b401..37ca032d98ef 100644
--- a/docs/system/target-s390x.rst
+++ b/docs/system/target-s390x.rst
@@ -23,6 +23,7 @@ or vfio-ap is also available.
.. toctree::
s390x/vfio-ap
+ s390x/css
Architectural features
======================
--
2.25.4
- [PULL 00/10] s390x update, Cornelia Huck, 2020/06/05
- [PULL 01/10] s390x/kvm: help valgrind in several places, Cornelia Huck, 2020/06/05
- [PULL 02/10] s390x: pv: Fix KVM_PV_PREP_RESET command wrapper name, Cornelia Huck, 2020/06/05
- [PULL 03/10] docs/s390x: document the virtual css,
Cornelia Huck <=
- [PULL 05/10] vfio-ccw: allow non-prefetch ORBs, Cornelia Huck, 2020/06/05
- [PULL 06/10] docs/s390x: document vfio-ccw, Cornelia Huck, 2020/06/05
- [PULL 04/10] docs/s390x: document 3270, Cornelia Huck, 2020/06/05
- [PULL 08/10] target/s390x: Only compile decode_basedisp() on system-mode, Cornelia Huck, 2020/06/05
- [PULL 07/10] MAINTAINERS: add Thomas as additional s390x maintainer, Cornelia Huck, 2020/06/05
- [PULL 09/10] target/s390x/helper: Clean ifdef'ry, Cornelia Huck, 2020/06/05
- [PULL 10/10] target/s390x: Restrict system-mode declarations, Cornelia Huck, 2020/06/05
- Re: [PULL 00/10] s390x update, Peter Maydell, 2020/06/05