This will not change the qemu model, we simply allow to enable the facility for the qemu model.
A current upstream kernel (compiled for e.g. z900) can be tricked into using MVCOS for uaccess by simply enabling the facility. This will work even though the kernel is not compiled with z10+ support, as this facility is also detected and used dynamically. qemu-system-s390x ... -cpu qemu,mvcos=on ... This might not be the fastest implementation, but it seems to work and that is what we care about for now. Requires my PGM fix series: https://lists.nongnu.org/archive/html/qemu-devel/2017-06/msg02631.html Based on an original patch by Miroslav Benes David Hildenbrand (3): target/s390x: change PSW_SHIFT_KEY target/s390x: implement mvcos instruction s390x/cpumodel: allow to enable MVCOS for qemu cpu model target/s390x/cpu.h | 21 ++++++++- target/s390x/cpu_models.c | 1 + target/s390x/helper.c | 4 +- target/s390x/helper.h | 1 + target/s390x/insn-data.def | 2 + target/s390x/mem_helper.c | 107 +++++++++++++++++++++++++++++++++++++++++++++ target/s390x/translate.c | 12 ++++- 7 files changed, 143 insertions(+), 5 deletions(-) -- 2.9.3