From nobody Mon Jul 15 12:38:01 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WN1vF47J2z5QrJm; Mon, 15 Jul 2024 12:38:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WN1vF2TCvz4GjH; Mon, 15 Jul 2024 12:38:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1721047081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hh4Kcs67m57d5Fxg56B4B+hREPK0bVr0HqffBuXDRts=; b=Z0/L3E/nFrJQYuMaFq1soaYDsLuYFD/8b7s1kyYUooG0H/Ax5EHFnPT+YPh8i/qro5GDlf 2l7WHfELoohgU/RQZivZ1LLRftAP9Vl+SnY5yP+0qzC+3eMSckSAQqliodGXGlpO7YbM1y 75nCKf6IkT1xu7KOTndorAYtpLVFZSYZsFuMdNN77VoNzKIOluEdpNJReyGnX1oIi/+lCx xntw5Q7SozNErlXxrZRBmBqOaWjVW8M/zm2ZFPheUfftzrjU7SPQcrVogA8fY0pJlMkJAo o4QmK17je5Nmi232SHWAs03PFJA7Q3Vo3PIU9uBfsjMq3foW++z9M/d4tlQ0eg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1721047081; a=rsa-sha256; cv=none; b=GyZVSpidhDV1DuEUjf8srFS0082YEb/pv+bLQTLO46vFDk4dBuDXtthtR2/lUj3jh5UCHb 39X2wX2MGyI7Uk49ywNuRjkrNGoFktsgzx7LulwnA/Isb/c87SEO/GBJjQ0CveJoV33ohm i2IX9p+s86ilPaSG4+hIkcZ+Ke6PI89kM6nCiiemhhI3HgOZM1gmyhv96XlZ8FhNJxWk/B Q274R/ApTsoGCHPH+inMP+9A1Idrn+VzcwlNEreWFBrj/lNoSWkSsNe9a3A7rbd8VDj2bm 27HqoS2G4Q3Xc0f7Qh9fVAJb1mVRRaX2skb67jmYXlGr4lxVPYJtEp7KfiW++w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1721047081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hh4Kcs67m57d5Fxg56B4B+hREPK0bVr0HqffBuXDRts=; b=EcTJvUHvyloMrX8kGfbM39c/pf32A+0sglNXt9n35HWS6FhcmR4/VjPF4IugSvULWIjr/0 3WKt/9CpjmEPw45Lu9Fi6CxaXJ9ZQjHbYcCc+xe6lFLbJXPfWbb8V32q7YlAxvVW3Sm3VF 8W9+9CijgAH6fvFF/mtq6ErQogxwIE2tlASCbWhw+63HouIHmIo0GRkIkbPu2sX9/3sTL5 RntRhHzGU2KsX1/ypk/Tv5LSr+C3ZPaJh3lj+4Xils5LWyimQQUVc9+z9S4JVhl5tqUrDb s2D1LK0rsjI36zm6AGqLQ90jqUH+SvO8JMljum8hjDQxFIWYWkvwGSkGnltx2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4WN1vF0nW0zscf; Mon, 15 Jul 2024 12:38:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 46FCc1A6059192; Mon, 15 Jul 2024 12:38:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 46FCc1xc059189; Mon, 15 Jul 2024 12:38:01 GMT (envelope-from git) Date: Mon, 15 Jul 2024 12:38:01 GMT Message-Id: <202407151238.46FCc1xc059189@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 1ac1e83f189f - stable/14 - arm64: Return all registers to gdb when able List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1ac1e83f189fae2e6bd346ae1abd877ea584192e Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=1ac1e83f189fae2e6bd346ae1abd877ea584192e commit 1ac1e83f189fae2e6bd346ae1abd877ea584192e Author: Andrew Turner AuthorDate: 2024-03-14 17:31:39 +0000 Commit: Andrew Turner CommitDate: 2024-07-15 12:22:50 +0000 arm64: Return all registers to gdb when able When the kdb thread is the current thread we read the registers from the trap frame. As this contains all general purpose registers we can use it to read these in the gdb stub. This allows us to include the non-callee saved registers, e.g. function arguments. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D44360 (cherry picked from commit 0a5f7918fc0e274a904b8fdd7c167bea7cdaf0f4) --- sys/arm64/arm64/gdb_machdep.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/arm64/arm64/gdb_machdep.c b/sys/arm64/arm64/gdb_machdep.c index f93d7f83bd9d..dcfc91b33eb7 100644 --- a/sys/arm64/arm64/gdb_machdep.c +++ b/sys/arm64/arm64/gdb_machdep.c @@ -55,6 +55,10 @@ gdb_cpu_getreg(int regnum, size_t *regsz) case GDB_REG_SP: return (&kdb_frame->tf_sp); case GDB_REG_PC: return (&kdb_frame->tf_elr); case GDB_REG_CSPR: return (&kdb_frame->tf_spsr); + default: + if (regnum >= GDB_REG_X0 && regnum <= GDB_REG_X29) + return (&kdb_frame->tf_x[regnum - GDB_REG_X0]); + break; } } switch (regnum) {