All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/11] gdbstub: conversion to runtime endianess helpers
@ 2025-03-24 10:21 Alex Bennée
  2025-03-24 10:21 ` [PATCH v2 01/11] include/exec: fix assert in size_memop Alex Bennée
                   ` (11 more replies)
  0 siblings, 12 replies; 45+ messages in thread
From: Alex Bennée @ 2025-03-24 10:21 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-arm, Nicholas Piggin, Edgar E. Iglesias, Markus Armbruster,
	Akihiko Odaki, qemu-ppc, Richard Henderson, Thomas Huth,
	David Gibson, Daniel Henrique Barboza, Daniel P. Berrangé,
	Ilya Leoshkevich, Philippe Mathieu-Daudé,
	Cédric Le Goater, Peter Maydell, qemu-s390x,
	Wainer dos Santos Moschetta, Alex Bennée, David Hildenbrand,
	Pierrick Bouvier

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

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

end of thread, other threads:[~2025-03-30  8:25 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-24 10:21 [PATCH v2 00/11] gdbstub: conversion to runtime endianess helpers Alex Bennée
2025-03-24 10:21 ` [PATCH v2 01/11] include/exec: fix assert in size_memop Alex Bennée
2025-03-24 16:40   ` Philippe Mathieu-Daudé
2025-03-24 17:08   ` Richard Henderson
2025-03-24 19:08   ` Pierrick Bouvier
2025-03-29  7:51   ` Akihiko Odaki
2025-03-30  8:25     ` Philippe Mathieu-Daudé
2025-03-24 10:21 ` [PATCH v2 02/11] include/gdbstub: fix include guard in commands.h Alex Bennée
2025-03-24 19:11   ` Pierrick Bouvier
2025-03-24 10:21 ` [PATCH v2 03/11] gdbstub: assert earlier in handle_read_all_regs Alex Bennée
2025-03-24 19:11   ` Pierrick Bouvier
2025-03-24 10:21 ` [PATCH v2 04/11] gdbstub: introduce target independent gdb register helper Alex Bennée
2025-03-24 10:32   ` Alex Bennée
2025-03-29  8:15     ` Akihiko Odaki
2025-03-24 17:32   ` Richard Henderson
2025-03-24 19:07   ` Pierrick Bouvier
2025-03-24 19:21   ` Pierrick Bouvier
2025-03-24 19:34   ` Pierrick Bouvier
2025-03-29  7:58   ` Akihiko Odaki
2025-03-24 10:21 ` [PATCH v2 05/11] target/arm: convert 32 bit gdbstub to new helpers Alex Bennée
2025-03-24 19:16   ` Pierrick Bouvier
2025-03-24 10:21 ` [PATCH v2 06/11] target/arm: convert 64 " Alex Bennée
2025-03-24 19:18   ` Pierrick Bouvier
2025-03-24 10:21 ` [PATCH v2 07/11] target/ppc: expand comment on FP/VMX/VSX access functions Alex Bennée
2025-03-24 17:35   ` Richard Henderson
2025-03-24 19:24   ` Pierrick Bouvier
2025-03-24 10:21 ` [PATCH v2 08/11] target/ppc: make ppc_maybe_bswap_register static Alex Bennée
2025-03-24 17:34   ` Richard Henderson
2025-03-24 19:24   ` Pierrick Bouvier
2025-03-24 10:21 ` [PATCH v2 09/11] target/ppc: convert gdbstub to new helpers Alex Bennée
2025-03-24 17:39   ` Richard Henderson
2025-03-24 19:29     ` Pierrick Bouvier
2025-03-24 20:04       ` Richard Henderson
2025-03-24 20:49         ` Pierrick Bouvier
2025-03-25  9:22           ` Philippe Mathieu-Daudé
2025-03-25 14:21             ` Pierrick Bouvier
2025-03-24 10:21 ` [PATCH v2 10/11] target/microblaze: convert gdbstub to new helper Alex Bennée
2025-03-24 16:45   ` Philippe Mathieu-Daudé
2025-03-24 19:30   ` Pierrick Bouvier
2025-03-24 10:21 ` [PATCH v2 11/11] include/gdbstub: add note to helpers.h Alex Bennée
2025-03-24 16:46   ` Philippe Mathieu-Daudé
2025-03-24 17:29     ` Alex Bennée
2025-03-24 19:33       ` Pierrick Bouvier
2025-03-24 19:33       ` Pierrick Bouvier
2025-03-24 19:10 ` [PATCH v2 00/11] gdbstub: conversion to runtime endianess helpers Pierrick Bouvier

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.