[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 00/11] gdbstub: conversion to runtime endianess helpers
From: |
Alex Bennée |
Subject: |
[PATCH v2 00/11] gdbstub: conversion to runtime endianess helpers |
Date: |
Mon, 24 Mar 2025 10:21:31 +0000 |
The aim of this work is to get rid of the endian aware helpers in
gdbstub/helpers.h which due to their use of tswap() mean target
gdbstubs need to be built multiple times. While this series doesn't
actually build each stub once it introduces a new helper -
gdb_get_register_value() which takes a MemOp which can describe the
current endian state of the system. This will be a lot easier to
dynamically feed from a helper function.
The most complex example is PPC which has a helper called
ppc_maybe_bswap_register() which was doing this.
This is still an RFC but I've spun out v2 for further discussion.
In v2:
- drop uint8_t casting and use void as C intended ;-)
- add specific 32/64 bit helpers with type checking an assertion
- various tweaks and fixes (see individual commits)
There are a few other misc clean-ups I did on the way which might be
worth cherry picking for 10.0 but I'll leave that up to maintainers.
Alex Bennée (11):
include/exec: fix assert in size_memop
include/gdbstub: fix include guard in commands.h
gdbstub: assert earlier in handle_read_all_regs
gdbstub: introduce target independent gdb register helper
target/arm: convert 32 bit gdbstub to new helpers
target/arm: convert 64 bit gdbstub to new helpers
target/ppc: expand comment on FP/VMX/VSX access functions
target/ppc: make ppc_maybe_bswap_register static
target/ppc: convert gdbstub to new helpers
target/microblaze: convert gdbstub to new helper
include/gdbstub: add note to helpers.h
include/exec/memop.h | 4 +-
include/gdbstub/commands.h | 2 +-
include/gdbstub/helpers.h | 4 +-
include/gdbstub/registers.h | 55 ++++++++++
target/ppc/cpu.h | 8 +-
gdbstub/gdbstub.c | 25 ++++-
target/arm/gdbstub.c | 55 ++++++----
target/arm/gdbstub64.c | 53 ++++++----
target/microblaze/gdbstub.c | 49 ++++-----
target/ppc/gdbstub.c | 197 ++++++++++++++++++++----------------
10 files changed, 292 insertions(+), 160 deletions(-)
create mode 100644 include/gdbstub/registers.h
--
2.39.5
- [PATCH v2 00/11] gdbstub: conversion to runtime endianess helpers,
Alex Bennée <=