This patch series contains a few fixes for ARM big-endian system mode
that appear beneficial for our use case of running bare-metal code with
semihosting (for toolchain testing), and running code via the built-in
gdbstub (for debugger testing). The patches are mostly relevant to BE32
mode, but contain some BE8 mode fixes also.

I haven't been following QEMU development terribly closely, so apologies
in advance if these patches are moving along the wrong trajectory! I
hope they're useful as a starting point though, at least.

I have tested (modulo formatting cleanups suggested by checkpatch.pl)
these patches against GCC (in particular ARMv7 LE, BE8 multilibs and
ARMv5te LE, BE32 multilibs), and GDB, with Mentor's internal test
infrastructure (though I needed some other minor local patches to make
QEMU work better with that). Let me know if there's other testing I
should do.

Thank you,

Julian

Julian Brown (5):
  ARM BE8/BE32 semihosting and gdbstub support.
  Fix Thumb-1 BE32 execution and disassembly.
  Fix arm_semi_flen_cb for BE32 system mode.
  ARM BE32 watchpoint fix.
  Fix typo in arm_cpu_do_interrupt_aarch32.

 disas/arm.c                     |  46 ++++++++++---
 exec.c                          |  13 ++++
 hw/arm/boot.c                   |  16 ++++-
 include/disas/bfd.h             |   1 +
 include/exec/softmmu-arm-semi.h | 148 ++++++++++++++++++++++++++++++++++++++++
 target-arm/arm-semi.c           |  12 +++-
 target-arm/arm_ldst.h           |  10 ++-
 target-arm/cpu.c                |  53 ++++++++++++++
 target-arm/gdbstub.c            |  42 ++++++++++++
 target-arm/helper.c             |   2 +-
 10 files changed, 328 insertions(+), 15 deletions(-)
 create mode 100644 include/exec/softmmu-arm-semi.h

-- 
1.9.1


Reply via email to