Wire up some io instructions and implement new facilitites. Make sure to take care of MTTCG when it comes to atomic operations.
As we are now able to install/boot a Fedora 26/27 as well as an upstream kernel compiled for z12, let's bump up the QEMU cpu model to a very stripped down version of a z12 (with missing base features). Take care of backwards compatibility (as we defined the QEMU model as migration-safe). Try it yourself: https://github.com/davidhildenbrand/qemu.git s390x-queue This branch is based on https://github.com/cohuck/qemu.git s390x-next and contains other patches sent previously, especially - s390x/tcg: CCW hotplug support - cpus: make pause_all_cpus() play with SMP on single threaded TCG - cpu-exec: fix missed CPU kick during interrupt injection $ baseurl=https://ftp-stud.hs-esslingen.de/pub/fedora-secondary/releases/27/Server/s390x/os/ $ wget ${baseurl}/images/kernel.img $ wget ${baseurl}/images/initrd.img $ qemu-img create -f qcow2 guest-tcg.qcow2 8G $ qemu-system-s390x \ -nographic -machine s390-ccw-virtio -m 2048 \ --accel tcg,thread=multi -smp 4,maxcpus=4 \ -hda guest-tcg.qcow2 \ -kernel kernel.img \ -initrd initrd.img \ --append "TERM=linux inst.repo=${baseurl}/ ip=dhcp inst.geoloc=0" Please note that we still have problems with floating interrupts. I have already patches and will send them out soon, once the current set of patches have been reviewed and picked up. So if you run into problems, try with -smp 1. David Hildenbrand (9): s390x/tcg: ALSI/ALSGI are atomic with interlocked-acccess facility 1 s390x/tcg: implement Interlocked-Access Facility 2 s390x/tcg: wire up SET ADDRESS LIMIT s390x/tcg: wire up SET CHANNEL MONITOR s390x/tcg: Implement STORE CHANNEL PATH STATUS s390x/tcg: Implement SIGA instruction s390x/tcg: implement extract-CPU-time facility s390x/tcg: we already implement the Set-Program-Parameter facility s390x: change the QEMU cpu model to a stripped down z12 hw/s390x/s390-virtio-ccw.c | 6 +++ target/s390x/cpu.h | 3 ++ target/s390x/cpu_models.c | 97 +++++++++++++++++++------------------------- target/s390x/cpu_models.h | 1 + target/s390x/gen-features.c | 87 ++++++++++++++++++++++++++++++++++++++++ target/s390x/helper.h | 2 + target/s390x/insn-data.def | 22 ++++++---- target/s390x/misc_helper.c | 18 +++++++++ target/s390x/translate.c | 98 +++++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 270 insertions(+), 64 deletions(-) -- 2.14.3