Some leftover from "target/s390x: tcg improvments + MSA functions".
Implement all basic MSA (cpacf/crypto) instructions <= z13. Only provide the query subfunction (to query available subfunctions), no actual de/encryption yet. Good enough to unlock the STFL bits. I have written kvm-unit-tests for MSA functions and for SPM/IPM. Will send them out soon. I use the following cpu model to test with an upstream kernel compiled for z10: ... -cpu qemu,mvcos=on,stfle=on,ldisp=on,ldisphp=on,\ eimm=on,stckf=on,csst=on,csst2=on,ginste=on,\ exrl=on,msa-base=on,msa3-base=on,msa4-base=on,msa5-base=on ... Based on: https://github.com/cohuck/qemu.git s390-next Available on: https://github.com/davidhildenbrand/qemu.git s390x-msa v1 -> v2: - "s390x/tcg: implement spm (SET PROGRAM MASK)" -- use tcg_gen_extrl_i64_i32 + tcg_gen_extract_i32 - "s390x/tcg: move wrap_address() to internal.h" -- internal.h instead of cpu.h - "s390x/tcg: add basic MSA features" -- minor style fixes David Hildenbrand (3): s390x/tcg: implement spm (SET PROGRAM MASK) s390x/tcg: move wrap_address() to internal.h s390x/tcg: add basic MSA features target/s390x/Makefile.objs | 2 +- target/s390x/cpu.h | 2 ++ target/s390x/cpu_models.c | 4 +++ target/s390x/crypto_helper.c | 65 ++++++++++++++++++++++++++++++++++++++++++ target/s390x/helper.h | 1 + target/s390x/insn-data.def | 15 ++++++++++ target/s390x/internal.h | 14 +++++++++ target/s390x/mem_helper.c | 14 --------- target/s390x/translate.c | 67 ++++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 169 insertions(+), 15 deletions(-) create mode 100644 target/s390x/crypto_helper.c -- 2.13.5