All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/18] target/arm: tidy exception routing
@ 2022-05-23 20:47 Richard Henderson
  2022-05-23 20:47 ` [PATCH 01/18] target/arm: Allow raise_exception to handle finding target EL Richard Henderson
                   ` (17 more replies)
  0 siblings, 18 replies; 33+ messages in thread
From: Richard Henderson @ 2022-05-23 20:47 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-arm

The target el for raising an exception currently lives in at
least 3 places: exception_target_el, arm_debug_target_el, and
in {sve,fp}_exception_el.

This patch set aims to put all of the routing into the same place.

For the purposes of prep for SME, the goal is the last patch,
where we do not confuse the level at which SVE exceptions are
trapped with the level to which exceptions are delivered.

I suspect that the existing SME prep patch where I remove the
fp checks and then compare fp vs sve el, is flawed while this
route_to_el2 line is still present.

The end result for debug exceptions isn't quite as clean as I
was hoping, but hopefully it's still better than before.


r~


Richard Henderson (18):
  target/arm: Allow raise_exception to handle finding target EL
  target/arm: Use arm_current_el for simple exceptions
  target/arm: Move and expand parameters to exception_target_el
  target/arm: Move HCR_TGE check into exception_target_el
  target/arm: Move arm_singlestep_active out of line
  target/arm: Move arm_generate_debug_exceptions out of line
  target/arm: Hoist arm_current_el in arm_generate_debug_exceptions
  target/arm: Use is_a64 in arm_generate_debug_exceptions
  target/arm: Move exception_bkpt_insn to debug_helper.c
  target/arm: Move arm_debug_exception_fsr to debug_helper.c
  target/arm: Move arm_debug_target_el to internals.h
  target/arm: Create raise_exception_debug
  target/arm: Move MDCR_TDE test into exception_target_el
  target/arm: Mark exception helpers as noreturn
  target/arm: Create helper_exception_swstep
  target/arm: Remove TBFLAG_ANY.DEBUG_TARGET_EL
  target/arm: Add cur_el parameter to arm_generate_debug_exceptions
  target/arm: Remove route_to_el2 case from sve_exception_el

 target/arm/cpu.h           | 128 +---------------------------
 target/arm/helper.h        |   7 +-
 target/arm/internals.h     |  64 +++++---------
 target/arm/translate.h     |  14 +---
 target/arm/debug_helper.c  | 167 ++++++++++++++++++++++++++++++++++---
 target/arm/helper-a64.c    |   7 +-
 target/arm/helper.c        |  25 ++----
 target/arm/mte_helper.c    |   7 +-
 target/arm/op_helper.c     | 128 ++++++++++++++++++----------
 target/arm/tlb_helper.c    |  10 ++-
 target/arm/translate-a64.c |   1 -
 target/arm/translate.c     |   1 -
 12 files changed, 289 insertions(+), 270 deletions(-)

-- 
2.34.1



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

end of thread, other threads:[~2022-05-31 14:36 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-23 20:47 [PATCH 00/18] target/arm: tidy exception routing Richard Henderson
2022-05-23 20:47 ` [PATCH 01/18] target/arm: Allow raise_exception to handle finding target EL Richard Henderson
2022-05-30 12:44   ` Peter Maydell
2022-05-30 16:39     ` Richard Henderson
2022-05-30 19:01       ` Peter Maydell
2022-05-30 19:51         ` Richard Henderson
2022-05-23 20:47 ` [PATCH 02/18] target/arm: Use arm_current_el for simple exceptions Richard Henderson
2022-05-30 12:42   ` Peter Maydell
2022-05-23 20:47 ` [PATCH 03/18] target/arm: Move and expand parameters to exception_target_el Richard Henderson
2022-05-23 20:47 ` [PATCH 04/18] target/arm: Move HCR_TGE check into exception_target_el Richard Henderson
2022-05-23 20:47 ` [PATCH 05/18] target/arm: Move arm_singlestep_active out of line Richard Henderson
2022-05-31 12:03   ` Peter Maydell
2022-05-23 20:47 ` [PATCH 06/18] target/arm: Move arm_generate_debug_exceptions " Richard Henderson
2022-05-31 12:03   ` Peter Maydell
2022-05-23 20:47 ` [PATCH 07/18] target/arm: Hoist arm_current_el in arm_generate_debug_exceptions Richard Henderson
2022-05-31 12:04   ` Peter Maydell
2022-05-31 14:31     ` Richard Henderson
2022-05-23 20:47 ` [PATCH 08/18] target/arm: Use is_a64 " Richard Henderson
2022-05-31 12:05   ` Peter Maydell
2022-05-23 20:47 ` [PATCH 09/18] target/arm: Move exception_bkpt_insn to debug_helper.c Richard Henderson
2022-05-23 20:47 ` [PATCH 10/18] target/arm: Move arm_debug_exception_fsr " Richard Henderson
2022-05-23 20:47 ` [PATCH 11/18] target/arm: Move arm_debug_target_el to internals.h Richard Henderson
2022-05-31 12:06   ` Peter Maydell
2022-05-23 20:47 ` [PATCH 12/18] target/arm: Create raise_exception_debug Richard Henderson
2022-05-23 20:47 ` [PATCH 13/18] target/arm: Move MDCR_TDE test into exception_target_el Richard Henderson
2022-05-23 20:47 ` [PATCH 14/18] target/arm: Mark exception helpers as noreturn Richard Henderson
2022-05-31 12:06   ` Peter Maydell
2022-05-23 20:47 ` [PATCH 15/18] target/arm: Create helper_exception_swstep Richard Henderson
2022-05-23 20:47 ` [PATCH 16/18] target/arm: Remove TBFLAG_ANY.DEBUG_TARGET_EL Richard Henderson
2022-05-23 20:47 ` [PATCH 17/18] target/arm: Add cur_el parameter to arm_generate_debug_exceptions Richard Henderson
2022-05-31 12:07   ` Peter Maydell
2022-05-31 14:34     ` Richard Henderson
2022-05-23 20:47 ` [PATCH 18/18] target/arm: Remove route_to_el2 case from sve_exception_el Richard Henderson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.