From nobody Tue Apr 15 14:47:28 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1546879454722405.6995459019778; Mon, 7 Jan 2019 08:44:14 -0800 (PST) Received: from localhost ([127.0.0.1]:45308 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ggY0b-0006N6-Jj for importer@patchew.org; Mon, 07 Jan 2019 11:44:13 -0500 Received: from eggs.gnu.org ([209.51.188.92]:46271) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ggXoY-0004zl-QV for qemu-devel@nongnu.org; Mon, 07 Jan 2019 11:31:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ggXoX-000233-LL for qemu-devel@nongnu.org; Mon, 07 Jan 2019 11:31:46 -0500 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:44261) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ggXoV-0001pP-OP for qemu-devel@nongnu.org; Mon, 07 Jan 2019 11:31:43 -0500 Received: by mail-wr1-x429.google.com with SMTP id z5so1033528wrt.11 for ; Mon, 07 Jan 2019 08:31:35 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id j14sm46039759wrv.96.2019.01.07.08.31.33 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 07 Jan 2019 08:31:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=sHoVLSA2tLPSJ2TzBtejORvIedQQDnk9Co9AD6jwdzM=; b=XO2QSEoT6GLREWLdlXNW2rAdid3xejgPgcgSesrkFgJ1hUopRl88WB6Ij9CLYgd/nG H6yzUVa+4aQ4aLW5ZnwrxKcwqlXGPT5FOhi9Wb4WNwZFelUarRhaJC25uwVYp/lEBr75 lVIWnjgy2a0J1XjUClMZeIAMWa0/3VQteIciA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=sHoVLSA2tLPSJ2TzBtejORvIedQQDnk9Co9AD6jwdzM=; b=Xa5KkjlJGvF2BxmVSf8g3SaUurFWOieHYKPjBZdtmX8Xt3/BZ+seU6Bzc1ze0DVHL5 kudtcrvuCvlX7oqtHldGoVoR2GrSLeu0RBAsknz/QVGZwgBfSibAqnDGY8QyKetV8US7 8ePadLtHK5ylLGtyJvD0KltxzQVMlZL6GMRGm64/069Ng2s77RkxELXRdzitpqo/VDlX mfUwGlPGAZybAOiTH85uWgPauuBE4sFQtUoAG1IR0np11b7g64k75LvZXEaVqJFO/hkd 2mnuRg0gfbbB2K5ciYWn8LOZ/dmjAM92umo1EtjAzvsc88EtvvgyeDqGRkCuSkxKou0U cGnQ== X-Gm-Message-State: AJcUukcZA2Znh1Y9guBvTWrUbe5rOn9aCDGNQSbjXH1shcLYvER211QD U/qFcAfk6y4ngit5WeyQoPzzjLeJsuZV6w== X-Google-Smtp-Source: ALg8bN6hQtwuDEqmrYXLOOD2i6wfk7rf3GkKD7kAslN0eEOWtfyCnrNaEBMEFnwRz/b+QtB2L12eIw== X-Received: by 2002:adf:dec4:: with SMTP id i4mr50351454wrn.307.1546878694566; Mon, 07 Jan 2019 08:31:34 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Date: Mon, 7 Jan 2019 16:30:51 +0000 Message-Id: <20190107163117.16269-12-peter.maydell@linaro.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20190107163117.16269-1-peter.maydell@linaro.org> References: <20190107163117.16269-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::429 Subject: [Qemu-devel] [PULL 11/37] gdbstub: add multiprocess support to gdb_vm_state_change() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Luc Michel Add support for multiprocess extension in gdb_vm_state_change() function. Signed-off-by: Luc Michel Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Edgar E. Iglesias Acked-by: Alistair Francis Message-id: 20181207090135.7651-10-luc.michel@greensocs.com Signed-off-by: Peter Maydell --- gdbstub.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gdbstub.c b/gdbstub.c index 1f2b155490d..edee38b6136 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -1724,6 +1724,7 @@ static void gdb_vm_state_change(void *opaque, int run= ning, RunState state) GDBState *s =3D gdbserver_state; CPUState *cpu =3D s->c_cpu; char buf[256]; + char thread_id[16]; const char *type; int ret; =20 @@ -1735,6 +1736,14 @@ static void gdb_vm_state_change(void *opaque, int ru= nning, RunState state) put_packet(s, s->syscall_buf); return; } + + if (cpu =3D=3D NULL) { + /* No process attached */ + return; + } + + gdb_fmt_thread_id(s, cpu, thread_id, sizeof(thread_id)); + switch (state) { case RUN_STATE_DEBUG: if (cpu->watchpoint_hit) { @@ -1752,8 +1761,8 @@ static void gdb_vm_state_change(void *opaque, int run= ning, RunState state) trace_gdbstub_hit_watchpoint(type, cpu_gdb_index(cpu), (target_ulong)cpu->watchpoint_hit->vaddr); snprintf(buf, sizeof(buf), - "T%02xthread:%02x;%swatch:" TARGET_FMT_lx ";", - GDB_SIGNAL_TRAP, cpu_gdb_index(cpu), type, + "T%02xthread:%s;%swatch:" TARGET_FMT_lx ";", + GDB_SIGNAL_TRAP, thread_id, type, (target_ulong)cpu->watchpoint_hit->vaddr); cpu->watchpoint_hit =3D NULL; goto send_packet; @@ -1795,7 +1804,7 @@ static void gdb_vm_state_change(void *opaque, int run= ning, RunState state) break; } gdb_set_stop_cpu(cpu); - snprintf(buf, sizeof(buf), "T%02xthread:%02x;", ret, cpu_gdb_index(cpu= )); + snprintf(buf, sizeof(buf), "T%02xthread:%s;", ret, thread_id); =20 send_packet: put_packet(s, buf); --=20 2.19.2