All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: "Alex Bennée" <alex.bennee@linaro.org>, qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org, "Nicholas Piggin" <npiggin@gmail.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Akihiko Odaki" <akihiko.odaki@daynix.com>,
	qemu-ppc@nongnu.org,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Thomas Huth" <thuth@redhat.com>,
	"David Gibson" <david@gibson.dropbear.id.au>,
	"Daniel Henrique Barboza" <danielhb413@gmail.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Ilya Leoshkevich" <iii@linux.ibm.com>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Cédric Le Goater" <clg@kaod.org>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	qemu-s390x@nongnu.org,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"David Hildenbrand" <david@redhat.com>
Subject: Re: [PATCH v2 00/11] gdbstub: conversion to runtime endianess helpers
Date: Mon, 24 Mar 2025 12:10:46 -0700	[thread overview]
Message-ID: <9edeb890-9822-4a43-ae36-621509f94de0@linaro.org> (raw)
In-Reply-To: <20250324102142.67022-1-alex.bennee@linaro.org>

On 3/24/25 03:21, Alex Bennée wrote:
> 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 ;-)

C allows that permissively, and it can be convenient when underlying 
type is really unknown. But in our case, it's only two variants.

If really it hurts to replace callers, _Generic is at least a better 
solution than invoking the void* hammer.

>    - 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
> 


      parent reply	other threads:[~2025-03-24 19:10 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 ` Pierrick Bouvier [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9edeb890-9822-4a43-ae36-621509f94de0@linaro.org \
    --to=pierrick.bouvier@linaro.org \
    --cc=akihiko.odaki@daynix.com \
    --cc=alex.bennee@linaro.org \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=clg@kaod.org \
    --cc=danielhb413@gmail.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=david@redhat.com \
    --cc=edgar.iglesias@gmail.com \
    --cc=iii@linux.ibm.com \
    --cc=npiggin@gmail.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=thuth@redhat.com \
    --cc=wainersm@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.