qemu/target/s390x
David Hildenbrand 3e7e5e0bc1 target/s390x: implement mvcos instruction
This adds support for the MOVE WITH OPTIONAL SPECIFICATIONS (MVCOS)
instruction. Allow to enable it for the qemu cpu model using

qemu-system-s390x ... -cpu qemu,mvcos=on ...

This allows to boot linux kernel that uses it for uacccess.

We are missing (as for most other part) low address protection checks,
PSW key / storage key checks and support for AR-mode.

We fake an ADDRESSING exception when called from problem state (which
seems to rely on PSW key checks to be in place) and if AR-mode is used.
user mode will always see a PRIVILEDGED exception.

This patch is based on an original patch by Miroslav Benes (thanks!).

Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20170614133819.18480-3-david@redhat.com>
Signed-off-by: Richard Henderson <rth@twiddle.net>
2017-06-23 08:40:46 -07:00
..
arch_dump.c s390x/arch_dump: pass cpuid into notes sections 2017-02-24 10:15:18 +01:00
cc_helper.c
cpu_features_def.h
cpu_features.c
cpu_features.h
cpu_models.c target/s390x: implement mvcos instruction 2017-06-23 08:40:46 -07:00
cpu_models.h s390x/cpumodel: take care of the cpuid format bit for KVM 2017-06-06 10:50:40 +02:00
cpu-qom.h
cpu.c migration: Remove unneeded includes of migration/vmstate.h 2017-06-01 18:49:22 +02:00
cpu.h target/s390x: implement mvcos instruction 2017-06-23 08:40:46 -07:00
fpu_helper.c target/s390x: implement COMPARE AND SIGNAL 2017-06-06 15:20:38 -07:00
gdbstub.c * QOM interface fix (Eduardo) 2017-01-20 16:42:07 +00:00
gen-features.c
helper.c target/s390x: rework PGM interrupt psw.addr handling 2017-06-13 11:09:39 -07:00
helper.h target/s390x: implement mvcos instruction 2017-06-23 08:40:46 -07:00
insn-data.def target/s390x: implement mvcos instruction 2017-06-23 08:40:46 -07:00
insn-format.def
int_helper.c target-s390x: Avoid a loop for popcnt 2017-01-10 08:48:57 -08:00
interrupt.c
ioinst.c s390x/css: fence off MIDA 2017-06-06 10:17:11 +02:00
kvm.c s390x/cpumodel: take care of the cpuid format bit for KVM 2017-06-06 10:50:40 +02:00
machine.c target/s390x: Implement EXECUTE via new TranslationBlock 2017-06-06 14:34:32 -07:00
Makefile.objs makefile: merge GENERATED_HEADERS & GENERATED_SOURCES variables 2017-03-16 11:51:15 +08:00
mem_helper.c target/s390x: implement mvcos instruction 2017-06-23 08:40:46 -07:00
misc_helper.c s390x/cpumodel: wire up cpu type + id for TCG 2017-06-13 11:09:39 -07:00
mmu_helper.c target/s390x: rework PGM interrupt psw.addr handling 2017-06-13 11:09:39 -07:00
trace-events
translate.c target/s390x: implement mvcos instruction 2017-06-23 08:40:46 -07:00