All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/15] v7M: cleanups and bugfixes prior to v8M
@ 2017-08-02 16:43 Peter Maydell
  2017-08-02 16:43 ` [Qemu-devel] [PATCH 01/15] target/arm: Use MMUAccessType enum rather than int Peter Maydell
                   ` (14 more replies)
  0 siblings, 15 replies; 57+ messages in thread
From: Peter Maydell @ 2017-08-02 16:43 UTC (permalink / raw)
  To: qemu-arm, qemu-devel; +Cc: patches

(This is 2.11 material, obviously, but it's a coherent and
large enough set of patches that I figured I might as well
push it out for review now.)

This patchset is a collection of cleanups, bugfixes, etc to
the existing v7M code which are either necessary preliminary
to implementing v8M or just things I noticed along the way.
The non-trivial stuff is:
 * migration for M profile is shifted to not use read_cpsr()
   and write_cpsr() which assume A profile semantics
   (back compatibility with old migration state is maintained)
 * we implement the "user accesses should BusFault" behaviour
   for the memory mapped registers in the SCS, though this
   won't actually kick in until we turn MEMTX_ERROR into a
   BusFault (I have patches for that)

thanks
-- PMM

Peter Maydell (15):
  target/arm: Use MMUAccessType enum rather than int
  target/arm: Don't trap WFI/WFE for M profile
  target/arm: Consolidate PMSA handling in get_phys_addr()
  target/arm: Tighten up Thumb decode where new v8M insns will be
  hw/intc/armv7m_nvic.c: Remove out of date comment
  target/arm: Remove incorrect comment about MPU_CTRL
  target/arm: Fix outdated comment about exception exit
  target/arm: Define and use XPSR bit masks
  target/arm: Don't store M profile PRIMASK and FAULTMASK in daif
  target/arm: Don't use cpsr_write/cpsr_read to transfer M profile XPSR
  target/arm: Make arm_cpu_dump_state() handle the M-profile XPSR
  target/arm: Don't calculate lr in arm_v7m_cpu_do_interrupt() until
    needed
  target/arm: Create and use new function arm_v7m_is_handler_mode()
  armv7m_nvic.h: Move from include/hw/arm to include/hw/intc
  nvic: Implement "user accesses BusFault" SCS region behaviour

 hw/intc/armv7m_nvic.c                  |  68 +++++++++++-------
 include/hw/arm/armv7m.h                |   2 +-
 include/hw/{arm => intc}/armv7m_nvic.h |   0
 target/arm/cpu.c                       |   5 --
 target/arm/cpu.h                       |  54 ++++++++++----
 target/arm/helper.c                    | 124 ++++++++++++++++-----------------
 target/arm/internals.h                 |   3 +-
 target/arm/machine.c                   |  54 +++++++++++++-
 target/arm/op_helper.c                 |   5 ++
 target/arm/translate.c                 | 106 +++++++++++++++++++++-------
 10 files changed, 286 insertions(+), 135 deletions(-)
 rename include/hw/{arm => intc}/armv7m_nvic.h (100%)

-- 
2.7.4

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

end of thread, other threads:[~2017-08-05  4:47 UTC | newest]

Thread overview: 57+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-02 16:43 [Qemu-devel] [PATCH 00/15] v7M: cleanups and bugfixes prior to v8M Peter Maydell
2017-08-02 16:43 ` [Qemu-devel] [PATCH 01/15] target/arm: Use MMUAccessType enum rather than int Peter Maydell
2017-08-02 17:27   ` [Qemu-devel] [Qemu-arm] " Edgar E. Iglesias
2017-08-02 21:52   ` Philippe Mathieu-Daudé
2017-08-03 20:13   ` [Qemu-devel] " Richard Henderson
2017-08-02 16:43 ` [Qemu-devel] [PATCH 02/15] target/arm: Don't trap WFI/WFE for M profile Peter Maydell
2017-08-02 17:34   ` Edgar E. Iglesias
2017-08-03 20:28   ` Richard Henderson
2017-08-03 20:40     ` [Qemu-devel] [Qemu-arm] " Edgar E. Iglesias
2017-08-03 20:46       ` Richard Henderson
2017-08-03 20:44     ` [Qemu-devel] " Peter Maydell
2017-08-02 16:43 ` [Qemu-devel] [PATCH 03/15] target/arm: Consolidate PMSA handling in get_phys_addr() Peter Maydell
2017-08-02 17:40   ` Edgar E. Iglesias
2017-08-02 21:50   ` Philippe Mathieu-Daudé
2017-08-03 20:33   ` Richard Henderson
2017-08-02 16:43 ` [Qemu-devel] [PATCH 04/15] target/arm: Tighten up Thumb decode where new v8M insns will be Peter Maydell
2017-08-02 17:47   ` [Qemu-devel] [Qemu-arm] " Edgar E. Iglesias
2017-08-03 21:33   ` [Qemu-devel] " Richard Henderson
2017-08-02 16:43 ` [Qemu-devel] [PATCH 05/15] hw/intc/armv7m_nvic.c: Remove out of date comment Peter Maydell
2017-08-02 17:48   ` [Qemu-devel] [Qemu-arm] " Edgar E. Iglesias
2017-08-03 21:34   ` [Qemu-devel] " Richard Henderson
2017-08-02 16:43 ` [Qemu-devel] [PATCH 06/15] target/arm: Remove incorrect comment about MPU_CTRL Peter Maydell
2017-08-03 15:24   ` [Qemu-devel] [Qemu-arm] " Edgar E. Iglesias
2017-08-03 21:35   ` [Qemu-devel] " Richard Henderson
2017-08-02 16:43 ` [Qemu-devel] [PATCH 07/15] target/arm: Fix outdated comment about exception exit Peter Maydell
2017-08-03 15:25   ` Edgar E. Iglesias
2017-08-03 21:36   ` Richard Henderson
2017-08-02 16:43 ` [Qemu-devel] [PATCH 08/15] target/arm: Define and use XPSR bit masks Peter Maydell
2017-08-03 15:32   ` [Qemu-devel] [Qemu-arm] " Edgar E. Iglesias
2017-08-03 21:51   ` [Qemu-devel] " Richard Henderson
2017-08-02 16:43 ` [Qemu-devel] [PATCH 09/15] target/arm: Don't store M profile PRIMASK and FAULTMASK in daif Peter Maydell
2017-08-03 15:38   ` [Qemu-devel] [Qemu-arm] " Edgar E. Iglesias
2017-08-03 22:05     ` Richard Henderson
2017-08-05  4:47       ` Edgar E. Iglesias
2017-08-03 22:03   ` [Qemu-devel] " Richard Henderson
2017-08-02 16:43 ` [Qemu-devel] [PATCH 10/15] target/arm: Don't use cpsr_write/cpsr_read to transfer M profile XPSR Peter Maydell
2017-08-03 22:13   ` Richard Henderson
2017-08-03 22:15     ` Richard Henderson
2017-08-04  9:51     ` Peter Maydell
2017-08-02 16:43 ` [Qemu-devel] [PATCH 11/15] target/arm: Make arm_cpu_dump_state() handle the M-profile XPSR Peter Maydell
2017-08-03 15:48   ` [Qemu-devel] [Qemu-arm] " Edgar E. Iglesias
2017-08-03 22:14   ` [Qemu-devel] " Richard Henderson
2017-08-02 16:43 ` [Qemu-devel] [PATCH 12/15] target/arm: Don't calculate lr in arm_v7m_cpu_do_interrupt() until needed Peter Maydell
2017-08-02 21:46   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2017-08-03 15:48   ` Edgar E. Iglesias
2017-08-03 22:16   ` [Qemu-devel] " Richard Henderson
2017-08-02 16:43 ` [Qemu-devel] [PATCH 13/15] target/arm: Create and use new function arm_v7m_is_handler_mode() Peter Maydell
2017-08-02 21:48   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2017-08-03 15:56   ` Edgar E. Iglesias
2017-08-03 22:18   ` [Qemu-devel] " Richard Henderson
2017-08-02 16:44 ` [Qemu-devel] [PATCH 14/15] armv7m_nvic.h: Move from include/hw/arm to include/hw/intc Peter Maydell
2017-08-02 21:49   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2017-08-03 15:57   ` Edgar E. Iglesias
2017-08-03 22:19   ` [Qemu-devel] " Richard Henderson
2017-08-02 16:44 ` [Qemu-devel] [PATCH 15/15] nvic: Implement "user accesses BusFault" SCS region behaviour Peter Maydell
2017-08-03 15:59   ` [Qemu-devel] [Qemu-arm] " Edgar E. Iglesias
2017-08-03 22:23   ` [Qemu-devel] " 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.