[Qemu-devel] [PATCH v3 15/16] gdbstub: add multiprocess extension support

Luc Michel posted 16 patches 7 years ago
There is a newer version of this series
[Qemu-devel] [PATCH v3 15/16] gdbstub: add multiprocess extension support
Posted by Luc Michel 7 years ago
Add multiprocess extension support by enabling multiprocess mode when
the peer requests it, and by replying that we actually support it in the
qSupported reply packet.

Signed-off-by: Luc Michel <luc.michel@greensocs.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 gdbstub.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gdbstub.c b/gdbstub.c
index 09480df2bf..a1b63de34b 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -1718,10 +1718,16 @@ static int gdb_handle_packet(GDBState *s, const char *line_buf)
             snprintf(buf, sizeof(buf), "PacketSize=%x", MAX_PACKET_LENGTH);
             cc = CPU_GET_CLASS(first_cpu);
             if (cc->gdb_core_xml_file != NULL) {
                 pstrcat(buf, sizeof(buf), ";qXfer:features:read+");
             }
+
+            if (strstr(p, "multiprocess+")) {
+                s->multiprocess = true;
+            }
+            pstrcat(buf, sizeof(buf), ";multiprocess+");
+
             put_packet(s, buf);
             break;
         }
         if (strncmp(p, "Xfer:features:read:", 19) == 0) {
             const char *xml;
-- 
2.19.1


Re: [Qemu-devel] [PATCH v3 15/16] gdbstub: add multiprocess extension support
Posted by Alistair 7 years ago
On 10/26/18 1:16 AM, Luc Michel wrote:
> Add multiprocess extension support by enabling multiprocess mode when
> the peer requests it, and by replying that we actually support it in the
> qSupported reply packet.
> 
> Signed-off-by: Luc Michel <luc.michel@greensocs.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Acked-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>   gdbstub.c | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/gdbstub.c b/gdbstub.c
> index 09480df2bf..a1b63de34b 100644
> --- a/gdbstub.c
> +++ b/gdbstub.c
> @@ -1718,10 +1718,16 @@ static int gdb_handle_packet(GDBState *s, const char *line_buf)
>               snprintf(buf, sizeof(buf), "PacketSize=%x", MAX_PACKET_LENGTH);
>               cc = CPU_GET_CLASS(first_cpu);
>               if (cc->gdb_core_xml_file != NULL) {
>                   pstrcat(buf, sizeof(buf), ";qXfer:features:read+");
>               }
> +
> +            if (strstr(p, "multiprocess+")) {
> +                s->multiprocess = true;
> +            }
> +            pstrcat(buf, sizeof(buf), ";multiprocess+");
> +
>               put_packet(s, buf);
>               break;
>           }
>           if (strncmp(p, "Xfer:features:read:", 19) == 0) {
>               const char *xml;
>