qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PULL 00/45] target-arm queue


From: Richard Henderson
Subject: Re: [PULL 00/45] target-arm queue
Date: Tue, 12 Jul 2022 07:46:05 +0530
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1

On 7/11/22 19:27, Peter Maydell wrote:
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

Applied, thanks.  Please update https://wiki.qemu.org/ChangeLog/7.1 as 
appropriate.


r~



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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]