All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: "Alex Bennée" <alex.bennee@linaro.org>, qemu-devel@nongnu.org
Cc: f4bug@amsat.org, mads@ynddal.dk,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: Re: [PATCH v1 04/10] gdbstub: split GDBConnection from main structure
Date: Fri, 16 Dec 2022 12:11:31 -0800	[thread overview]
Message-ID: <789ef457-b6b3-9df7-6663-2a142822569f@linaro.org> (raw)
In-Reply-To: <20221216112206.3171578-5-alex.bennee@linaro.org>

On 12/16/22 03:22, Alex Bennée wrote:
> In preparation for moving user/softmmu specific bits from the main
> gdbstub file we need to separate the connection details to what will
> eventually become an anonymous pointer.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>   gdbstub/gdbstub.c | 99 +++++++++++++++++++++++++++--------------------
>   1 file changed, 58 insertions(+), 41 deletions(-)
> 
> diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c
> index be88ca0d71..14ce911bf2 100644
> --- a/gdbstub/gdbstub.c
> +++ b/gdbstub/gdbstub.c
> @@ -342,6 +342,20 @@ enum RSState {
>       RS_CHKSUM1,
>       RS_CHKSUM2,
>   };
> +
> +#ifdef CONFIG_USER_ONLY
> +typedef struct {
> +    int fd;
> +    char *socket_path;
> +    int running_state;
> +} GDBConnection;
> +#else
> +typedef struct {
> +    CharBackend chr;
> +    Chardev *mon_chr;
> +} GDBConnection;
> +#endif

You added the struct tag in the next patch.  Move it back if you need it, otherwise drop it.

> +    GDBConnection *connection;
>       bool multiprocess;
>       GDBProcess *processes;
>       int process_num;
> @@ -392,6 +399,12 @@ static void init_gdbserver_state(void)
>       gdbserver_state.supported_sstep_flags = accel_supported_gdbstub_sstep_flags();
>       gdbserver_state.sstep_flags = SSTEP_ENABLE | SSTEP_NOIRQ | SSTEP_NOTIMER;
>       gdbserver_state.sstep_flags &= gdbserver_state.supported_sstep_flags;
> +
> +    /*
> +     * The following is differs depending on USER/SOFTMMU, we just
> +     * hid it in the typedef.
> +     */
> +    gdbserver_state.connection = g_new(GDBConnection, 1);

Does this structure really need this pointer?

Given that GDBState gdbserver_state is a global singleton, I would imagine that 
GDBConnection gdbserver_{sys,user}_state could also be global singletons, static within 
the two respective implementations.


r~



  parent reply	other threads:[~2022-12-16 20:12 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-16 11:21 [PATCH v1 00/10] split user and system code in gdbstub Alex Bennée
2022-12-16 11:21 ` [PATCH v1 01/10] gdbstub/internals.h: clean up include guard Alex Bennée
2022-12-16 19:17   ` Richard Henderson
2022-12-16 11:21 ` [PATCH v1 02/10] gdbstub: fix-up copyright and license files Alex Bennée
2022-12-16 19:39   ` Richard Henderson
2022-12-16 11:21 ` [PATCH v1 03/10] gdbstub: Make syscall_complete/[gs]et_reg target-agnostic typedefs Alex Bennée
2022-12-16 11:22 ` [PATCH v1 04/10] gdbstub: split GDBConnection from main structure Alex Bennée
2022-12-16 15:29   ` Fabiano Rosas
2022-12-21 16:56     ` Alex Bennée
2022-12-16 20:11   ` Richard Henderson [this message]
2022-12-16 11:22 ` [PATCH v1 05/10] gdbstub: move GDBState to shared internals header Alex Bennée
2022-12-16 20:02   ` Richard Henderson
2022-12-16 11:22 ` [PATCH v1 06/10] includes: move tb_flush into its own header Alex Bennée
2022-12-16 20:01   ` Richard Henderson
2022-12-16 11:22 ` [PATCH v1 07/10] includes: add new gdbstub include directory Alex Bennée
2022-12-16 20:37   ` Richard Henderson
2022-12-16 11:22 ` [PATCH v1 08/10] gdbstub: move chunk of softmmu functionality to own file Alex Bennée
2022-12-16 15:52   ` Fabiano Rosas
2022-12-16 20:27   ` Richard Henderson
2022-12-16 11:22 ` [PATCH v1 09/10] gdbstub: move chunks of user code into own files Alex Bennée
2022-12-16 16:38   ` Fabiano Rosas
2022-12-16 11:22 ` [PATCH v1 10/10] gdbstub: retire exec/gdbstub.h Alex Bennée

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=789ef457-b6b3-9df7-6663-2a142822569f@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=alex.bennee@linaro.org \
    --cc=f4bug@amsat.org \
    --cc=mads@ynddal.dk \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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.