Skip to content

Implement basic MSA functions

David Hildenbrand qemu-devel 2 versions – Applied

Status from this message: Thanks, applied.

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest3 patches 4 repliesApplied
  2. v23 patches 9 repliesSuperseded

Changes in v3 from the cover letter

- "s390x/tcg: add basic MSA features"
-- drop one check (fc >= 128) that can due to masking never happen

Patches in v3 Applied

#Subject and filesSizeRepliesApplied
1/3s390x/tcg: implement spm (SET PROGRAM MASK)target/s390x/cpu.h target/s390x/insn-data.def target/s390x/translate.c+15 -00 replies
2/3s390x/tcg: move wrap_address() to internal.htarget/s390x/internal.h target/s390x/mem_helper.c+14 -140 replies
3/3s390x/tcg: add basic MSA featurestarget/s390x/Makefile.objs target/s390x/cpu_models.c target/s390x/crypto_helper.c +3 more+140 -11 reply

Reviews trailers per patch

All 3 patches have a Reviewed-by or Acked-by.

PatchRichard HendersonPhilippe Mathieu-Daudé
1/3R-b
2/3R-b R-b
3/3R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [Qemu-devel] [PATCH v3 0/3] Implement basic MSA functions

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 ...

Available on: https://github.com/davidhildenbrand/qemu.git s390x-msa

v2 -> v3:
- "s390x/tcg: add basic MSA features"
-- drop one check (fc >= 128) that can due to masking never happen

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
Signature · 1 line
2.13.5