qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL 00/45] target-arm queue
@ 2022-07-11 13:57 Peter Maydell
  2022-07-11 13:57 ` [PULL 01/45] target/arm: Handle SME in aarch64_cpu_dump_state Peter Maydell
                   ` (45 more replies)
  0 siblings, 46 replies; 49+ messages in thread
From: Peter Maydell @ 2022-07-11 13:57 UTC (permalink / raw)
  To: qemu-devel

I don't have anything else queued up at the moment, so this is just
Richard's SME patches.

-- PMM

The following changes since commit 63b38f6c85acd312c2cab68554abf33adf4ee2b3:

  Merge tag 'pull-target-arm-20220707' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2022-07-08 06:17:11 +0530)

are available in the Git repository at:

  https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20220711

for you to fetch changes up to f9982ceaf26df27d15547a3a7990a95019e9e3a8:

  linux-user/aarch64: Add SME related hwcap entries (2022-07-11 13:43:52 +0100)

----------------------------------------------------------------
target-arm:
 * Implement SME emulation, for both system and linux-user

----------------------------------------------------------------
Richard Henderson (45):
      target/arm: Handle SME in aarch64_cpu_dump_state
      target/arm: Add infrastructure for disas_sme
      target/arm: Trap non-streaming usage when Streaming SVE is active
      target/arm: Mark ADR as non-streaming
      target/arm: Mark RDFFR, WRFFR, SETFFR as non-streaming
      target/arm: Mark BDEP, BEXT, BGRP, COMPACT, FEXPA, FTSSEL as non-streaming
      target/arm: Mark PMULL, FMMLA as non-streaming
      target/arm: Mark FTSMUL, FTMAD, FADDA as non-streaming
      target/arm: Mark SMMLA, UMMLA, USMMLA as non-streaming
      target/arm: Mark string/histo/crypto as non-streaming
      target/arm: Mark gather/scatter load/store as non-streaming
      target/arm: Mark gather prefetch as non-streaming
      target/arm: Mark LDFF1 and LDNF1 as non-streaming
      target/arm: Mark LD1RO as non-streaming
      target/arm: Add SME enablement checks
      target/arm: Handle SME in sve_access_check
      target/arm: Implement SME RDSVL, ADDSVL, ADDSPL
      target/arm: Implement SME ZERO
      target/arm: Implement SME MOVA
      target/arm: Implement SME LD1, ST1
      target/arm: Export unpredicated ld/st from translate-sve.c
      target/arm: Implement SME LDR, STR
      target/arm: Implement SME ADDHA, ADDVA
      target/arm: Implement FMOPA, FMOPS (non-widening)
      target/arm: Implement BFMOPA, BFMOPS
      target/arm: Implement FMOPA, FMOPS (widening)
      target/arm: Implement SME integer outer product
      target/arm: Implement PSEL
      target/arm: Implement REVD
      target/arm: Implement SCLAMP, UCLAMP
      target/arm: Reset streaming sve state on exception boundaries
      target/arm: Enable SME for -cpu max
      linux-user/aarch64: Clear tpidr2_el0 if CLONE_SETTLS
      linux-user/aarch64: Reset PSTATE.SM on syscalls
      linux-user/aarch64: Add SM bit to SVE signal context
      linux-user/aarch64: Tidy target_restore_sigframe error return
      linux-user/aarch64: Do not allow duplicate or short sve records
      linux-user/aarch64: Verify extra record lock succeeded
      linux-user/aarch64: Move sve record checks into restore
      linux-user/aarch64: Implement SME signal handling
      linux-user: Rename sve prctls
      linux-user/aarch64: Implement PR_SME_GET_VL, PR_SME_SET_VL
      target/arm: Only set ZEN in reset if SVE present
      target/arm: Enable SME for user-only
      linux-user/aarch64: Add SME related hwcap entries

 docs/system/arm/emulation.rst     |    4 +
 linux-user/aarch64/target_cpu.h   |    5 +-
 linux-user/aarch64/target_prctl.h |   62 +-
 target/arm/cpu.h                  |    7 +
 target/arm/helper-sme.h           |  126 ++++
 target/arm/helper-sve.h           |    4 +
 target/arm/helper.h               |   18 +
 target/arm/translate-a64.h        |   45 ++
 target/arm/translate.h            |   16 +
 target/arm/sme-fa64.decode        |   60 ++
 target/arm/sme.decode             |   88 +++
 target/arm/sve.decode             |   41 +-
 linux-user/aarch64/cpu_loop.c     |    9 +
 linux-user/aarch64/signal.c       |  243 ++++++--
 linux-user/elfload.c              |   20 +
 linux-user/syscall.c              |   28 +-
 target/arm/cpu.c                  |   35 +-
 target/arm/cpu64.c                |   11 +
 target/arm/helper.c               |   56 +-
 target/arm/sme_helper.c           | 1140 +++++++++++++++++++++++++++++++++++++
 target/arm/sve_helper.c           |   28 +
 target/arm/translate-a64.c        |  103 +++-
 target/arm/translate-sme.c        |  373 ++++++++++++
 target/arm/translate-sve.c        |  393 ++++++++++---
 target/arm/translate-vfp.c        |   12 +
 target/arm/translate.c            |    2 +
 target/arm/vec_helper.c           |   24 +
 target/arm/meson.build            |    3 +
 28 files changed, 2821 insertions(+), 135 deletions(-)
 create mode 100644 target/arm/sme-fa64.decode
 create mode 100644 target/arm/sme.decode
 create mode 100644 target/arm/translate-sme.c


^ permalink raw reply	[flat|nested] 49+ messages in thread

end of thread, other threads:[~2022-07-16  6:29 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-11 13:57 [PULL 00/45] target-arm queue Peter Maydell
2022-07-11 13:57 ` [PULL 01/45] target/arm: Handle SME in aarch64_cpu_dump_state Peter Maydell
2022-07-11 13:57 ` [PULL 02/45] target/arm: Add infrastructure for disas_sme Peter Maydell
2022-07-11 13:57 ` [PULL 03/45] target/arm: Trap non-streaming usage when Streaming SVE is active Peter Maydell
2022-07-11 13:57 ` [PULL 04/45] target/arm: Mark ADR as non-streaming Peter Maydell
2022-07-11 13:57 ` [PULL 05/45] target/arm: Mark RDFFR, WRFFR, SETFFR " Peter Maydell
2022-07-11 13:57 ` [PULL 06/45] target/arm: Mark BDEP, BEXT, BGRP, COMPACT, FEXPA, FTSSEL " Peter Maydell
2022-07-11 13:57 ` [PULL 07/45] target/arm: Mark PMULL, FMMLA " Peter Maydell
2022-07-11 13:57 ` [PULL 08/45] target/arm: Mark FTSMUL, FTMAD, FADDA " Peter Maydell
2022-07-11 13:57 ` [PULL 09/45] target/arm: Mark SMMLA, UMMLA, USMMLA " Peter Maydell
2022-07-11 13:57 ` [PULL 10/45] target/arm: Mark string/histo/crypto " Peter Maydell
2022-07-11 13:57 ` [PULL 11/45] target/arm: Mark gather/scatter load/store " Peter Maydell
2022-07-11 13:57 ` [PULL 12/45] target/arm: Mark gather prefetch " Peter Maydell
2022-07-11 13:57 ` [PULL 13/45] target/arm: Mark LDFF1 and LDNF1 " Peter Maydell
2022-07-11 13:57 ` [PULL 14/45] target/arm: Mark LD1RO " Peter Maydell
2022-07-11 13:57 ` [PULL 15/45] target/arm: Add SME enablement checks Peter Maydell
2022-07-11 13:57 ` [PULL 16/45] target/arm: Handle SME in sve_access_check Peter Maydell
2022-07-11 13:57 ` [PULL 17/45] target/arm: Implement SME RDSVL, ADDSVL, ADDSPL Peter Maydell
2022-07-11 13:57 ` [PULL 18/45] target/arm: Implement SME ZERO Peter Maydell
2022-07-11 13:57 ` [PULL 19/45] target/arm: Implement SME MOVA Peter Maydell
2022-07-11 13:57 ` [PULL 20/45] target/arm: Implement SME LD1, ST1 Peter Maydell
2022-07-15 16:07   ` Peter Maydell
2022-07-16  6:28     ` Richard Henderson
2022-07-11 13:57 ` [PULL 21/45] target/arm: Export unpredicated ld/st from translate-sve.c Peter Maydell
2022-07-11 13:57 ` [PULL 22/45] target/arm: Implement SME LDR, STR Peter Maydell
2022-07-11 13:57 ` [PULL 23/45] target/arm: Implement SME ADDHA, ADDVA Peter Maydell
2022-07-11 13:57 ` [PULL 24/45] target/arm: Implement FMOPA, FMOPS (non-widening) Peter Maydell
2022-07-11 13:57 ` [PULL 25/45] target/arm: Implement BFMOPA, BFMOPS Peter Maydell
2022-07-11 13:57 ` [PULL 26/45] target/arm: Implement FMOPA, FMOPS (widening) Peter Maydell
2022-07-11 13:57 ` [PULL 27/45] target/arm: Implement SME integer outer product Peter Maydell
2022-07-11 13:57 ` [PULL 28/45] target/arm: Implement PSEL Peter Maydell
2022-07-11 13:57 ` [PULL 29/45] target/arm: Implement REVD Peter Maydell
2022-07-11 13:57 ` [PULL 30/45] target/arm: Implement SCLAMP, UCLAMP Peter Maydell
2022-07-11 13:57 ` [PULL 31/45] target/arm: Reset streaming sve state on exception boundaries Peter Maydell
2022-07-11 13:57 ` [PULL 32/45] target/arm: Enable SME for -cpu max Peter Maydell
2022-07-11 13:57 ` [PULL 33/45] linux-user/aarch64: Clear tpidr2_el0 if CLONE_SETTLS Peter Maydell
2022-07-11 13:57 ` [PULL 34/45] linux-user/aarch64: Reset PSTATE.SM on syscalls Peter Maydell
2022-07-11 13:57 ` [PULL 35/45] linux-user/aarch64: Add SM bit to SVE signal context Peter Maydell
2022-07-11 13:57 ` [PULL 36/45] linux-user/aarch64: Tidy target_restore_sigframe error return Peter Maydell
2022-07-11 13:57 ` [PULL 37/45] linux-user/aarch64: Do not allow duplicate or short sve records Peter Maydell
2022-07-11 13:57 ` [PULL 38/45] linux-user/aarch64: Verify extra record lock succeeded Peter Maydell
2022-07-11 13:57 ` [PULL 39/45] linux-user/aarch64: Move sve record checks into restore Peter Maydell
2022-07-11 13:57 ` [PULL 40/45] linux-user/aarch64: Implement SME signal handling Peter Maydell
2022-07-11 13:57 ` [PULL 41/45] linux-user: Rename sve prctls Peter Maydell
2022-07-11 13:57 ` [PULL 42/45] linux-user/aarch64: Implement PR_SME_GET_VL, PR_SME_SET_VL Peter Maydell
2022-07-11 13:57 ` [PULL 43/45] target/arm: Only set ZEN in reset if SVE present Peter Maydell
2022-07-11 13:57 ` [PULL 44/45] target/arm: Enable SME for user-only Peter Maydell
2022-07-11 13:57 ` [PULL 45/45] linux-user/aarch64: Add SME related hwcap entries Peter Maydell
2022-07-12  2:16 ` [PULL 00/45] target-arm queue Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).