Documentation/Platforms/S390X

From QEMU
Revision as of 15:25, 18 July 2017 by Cohuck (talk | contribs)

QEMU s390x Guest Support

QEMU supports running s390x (aka zSystems aka mainframe) guests via the s390-virtio-ccw machine, with kvm or tcg acceleration.

Supported Devices

The s390-virtio-ccw machine emulates a virtual channel subsystem. Currently, only virtio-ccw proxy devices (for most virtio device types) are supported.

As a console device, supported types are SCLP VT220-compatible (preferred), SCLP line-mode or virtio-serial console.

Guest Operating Systems

Currently, the only supported guest operation system is Linux.

When using kvm, you should be able to use any recent distribution that you would be able to run on your host as well (RHEL, SLES, Ubuntu, Debian, Fedora). Older versions may not yet support virtio-ccw.

When using tcg, the machine emulated is at an older level not supported on any of the recent enterprise distributions. Your best bet is probably using Debian.

Build Directions

 ./configure --target-list=s390x-softmmu && make

Minimal command-line

 qemu-system-s390x -M s390-ccw-virtio -kernel <kernel file name> -initrd <initrd file name> -m 512 -nographic

This command line will start a machine with the default SCLP VT220-compatible console. If you want any actual I/O devices, you need to add the respective virtio-*-ccw devices.

If you do not have a kernel and initrd image yet, you can have a try with the latest version from Debian stable for example: http://ftp.debian.org/debian/dists/stable/main/installer-s390x/current/images/generic/

I/O devices

The virtio-ccw transport provides access to paravirtualized virtio devices. They are configured in a similar way to virtio-pci devices. For example,

 -drive file=/dev/dasdb,if=none,id=drive-virtio-disk0,format=raw,serial=ccwdasd1,cache=none \
 -device virtio-blk-ccw,devno=fe.0.0001,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1,scsi=off

will add a virtio-blk device that uses the host disk /dev/dasdb as backing and is seen in the guest as the channel device 0.0.0001.

Multiple subchannel sets are supported. For example,

 -device virtio-balloon-ccw,devno=fe.1.0101

will add a virtio-ballon device that the guest sees as the channel device 0.1.0101.

Maintainers

TCG (non-KVM)

Richard Henderson rth@twiddle.net
Alexander Graf agraf@suse.de

KVM and virtio-ccw

Christian Borntraeger borntraeger@de.ibm.com
Cornelia Huck cohuck@redhat.com
Alexander Graf agraf@suse.de

Links

Wikipedia page for the System 390
Installing Ubuntu Linux
Installing SUSE Linux
Installing s390x emulator for Ubuntu
Debian S/390 port
Fedora s390x port