[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/5] ARM BE8/BE32 big-endian system-mode fixes (semi
[Qemu-devel] [PATCH 0/5] ARM BE8/BE32 big-endian system-mode fixes (semihosting, gdbstub)
Thu, 3 Nov 2016 10:30:53 -0700
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
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