Both series in one piece as (most probably) most reviewing is done. Wire up some io instructions and implement new facilitites. Make sure to take care of MTTCG when it comes to atomic operations. Make CCW hotplug work.
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). Avilable at: https://github.com/davidhildenbrand/qemu.git s390x-queue v2 -> v3: - squashed the ASI/ASGI and ALSI/ALSGI patches. - Both now emulate old behavior. - "s390x/tcg: implement Interlocked-Access Facility 2" - now also emulates old behavior. - "s390x/tcg: implement SET CLOCK PROGRAMMABLE FIELD" - now forwards r1 into the helper. - "s390x/tcg: implement extract-CPU-time facility" - takes care of user-only - "s390x: change the QEMU cpu model to a stripped down z12" - const -> static const for two feature bitmaps David Hildenbrand (14): s390x/kvm: factor out build_channel_report_mcic() into cpu.h s390x/tcg: fix and cleanup mcck injection s390x/tcg: implement SET CLOCK PROGRAMMABLE FIELD s390x/tcg: indicate value of TODPR in STCKE s390x/tcg: wire up STORE CHANNEL REPORT WORD s390x/tcg: ASI/ASGI/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 SIGNAL ADAPTER 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 | 8 +++ target/s390x/cpu.h | 26 +++++++ target/s390x/cpu_models.c | 97 +++++++++++--------------- target/s390x/cpu_models.h | 1 + target/s390x/excp_helper.c | 12 ++-- target/s390x/gen-features.c | 87 +++++++++++++++++++++++ target/s390x/helper.h | 6 +- target/s390x/insn-data.def | 29 +++++--- target/s390x/internal.h | 6 +- target/s390x/kvm.c | 25 +------ target/s390x/misc_helper.c | 59 ++++++++++++++-- target/s390x/translate.c | 164 ++++++++++++++++++++++++++++++++++++++++++++ 12 files changed, 415 insertions(+), 105 deletions(-) -- 2.14.3