From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Pierrick Bouvier" <pierrick.bouvier@linaro.org>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Thomas Huth" <thuth@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Akihiko Odaki" <akihiko.odaki@daynix.com>,
"John Snow" <jsnow@redhat.com>, "Fabiano Rosas" <farosas@suse.de>,
"Peter Xu" <peterx@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Alexandre Iooss" <erdnaxe@crans.org>,
"Markus Armbruster" <armbru@redhat.com>,
"David Hildenbrand" <david@redhat.com>,
"Laurent Vivier" <lvivier@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
qemu-arm@nongnu.org, "Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Mahmoud Mandour" <ma.mandourr@gmail.com>,
"Sriram Yagnaraman" <sriram.yagnaraman@ericsson.com>,
"Dmitry Osipenko" <dmitry.osipenko@collabora.com>,
"Gustavo Romero" <gustavo.romero@linaro.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Manos Pitsidianakis" <manos.pitsidianakis@linaro.org>
Subject: [PATCH v3 20/20] gdbstub: update aarch64-core.xml
Date: Wed, 21 May 2025 17:42:50 +0100 [thread overview]
Message-ID: <20250521164250.135776-21-alex.bennee@linaro.org> (raw)
In-Reply-To: <20250521164250.135776-1-alex.bennee@linaro.org>
From: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Update aarch64-core.xml to include field definitions for PSTATE, which
in gdb is modelled in the cpsr (current program status register)
pseudo-register, named after the actual cpsr register in armv7.
Defining the fields layout of the register allows easy inspection of for
example, the current exception level (EL):
For example. Before booting a Linux guest, EL=2, but after booting and
Ctrl-C'ing in gdb, we get EL=0:
(gdb) info registers $cpsr
cpsr 0x20402009 [ SP EL=2 BTYPE=0 PAN C ]
(gdb) cont
Continuing.
^C
Thread 2 received signal SIGINT, Interrupt.
0x0000ffffaaff286c in ?? ()
(gdb) info registers $cpsr
cpsr 0x20001000 [ EL=0 BTYPE=0 SSBS C ]
The aarch64-core.xml has been updated to match exactly the version
retrieved from upstream gdb, retrieved in 2025-05-19 from HEAD commit
9f4dc0b137c86f6ff2098cb1ab69442c69d6023d.
Link: https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=gdb/features/aarch64-core.xml;h=b8046510b9a085d30463d37b3ecc8d435f5fb7a4;hb=HEAD
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Message-Id: <20250519-gdbstub-aarch64-pstate-xml-v1-1-b4dbe87fe7c6@linaro.org>
[AJB: expanded upstream link]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
gdb-xml/aarch64-core.xml | 52 ++++++++++++++++++++++++++++++++++++++--
1 file changed, 50 insertions(+), 2 deletions(-)
diff --git a/gdb-xml/aarch64-core.xml b/gdb-xml/aarch64-core.xml
index e1e9dc3f91..b8046510b9 100644
--- a/gdb-xml/aarch64-core.xml
+++ b/gdb-xml/aarch64-core.xml
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<!-- Copyright (C) 2009-2012 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2025 Free Software Foundation, Inc.
Contributed by ARM Ltd.
Copying and distribution of this file, with or without modification,
@@ -42,5 +42,53 @@
<reg name="sp" bitsize="64" type="data_ptr"/>
<reg name="pc" bitsize="64" type="code_ptr"/>
- <reg name="cpsr" bitsize="32"/>
+
+ <flags id="cpsr_flags" size="4">
+ <!-- Stack Pointer. -->
+ <field name="SP" start="0" end="0"/>
+
+ <!-- Exception Level. -->
+ <field name="EL" start="2" end="3"/>
+ <!-- Execution state. -->
+ <field name="nRW" start="4" end="4"/>
+
+ <!-- FIQ interrupt mask. -->
+ <field name="F" start="6" end="6"/>
+ <!-- IRQ interrupt mask. -->
+ <field name="I" start="7" end="7"/>
+ <!-- SError interrupt mask. -->
+ <field name="A" start="8" end="8"/>
+ <!-- Debug exception mask. -->
+ <field name="D" start="9" end="9"/>
+
+ <!-- ARMv8.5-A: Branch Target Identification BTYPE. -->
+ <field name="BTYPE" start="10" end="11"/>
+
+ <!-- ARMv8.0-A: Speculative Store Bypass. -->
+ <field name="SSBS" start="12" end="12"/>
+
+ <!-- Illegal Execution state. -->
+ <field name="IL" start="20" end="20"/>
+ <!-- Software Step. -->
+ <field name="SS" start="21" end="21"/>
+ <!-- ARMv8.1-A: Privileged Access Never. -->
+ <field name="PAN" start="22" end="22"/>
+ <!-- ARMv8.2-A: User Access Override. -->
+ <field name="UAO" start="23" end="23"/>
+ <!-- ARMv8.4-A: Data Independent Timing. -->
+ <field name="DIT" start="24" end="24"/>
+ <!-- ARMv8.5-A: Tag Check Override. -->
+ <field name="TCO" start="25" end="25"/>
+
+ <!-- Overflow Condition flag. -->
+ <field name="V" start="28" end="28"/>
+ <!-- Carry Condition flag. -->
+ <field name="C" start="29" end="29"/>
+ <!-- Zero Condition flag. -->
+ <field name="Z" start="30" end="30"/>
+ <!-- Negative Condition flag. -->
+ <field name="N" start="31" end="31"/>
+ </flags>
+ <reg name="cpsr" bitsize="32" type="cpsr_flags"/>
+
</feature>
--
2.39.5
prev parent reply other threads:[~2025-05-21 16:52 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-21 16:42 [PATCH v3 00/20] Maintainer updates for May (testing, plugins, virtio-gpu) - pre-PR Alex Bennée
2025-05-21 16:42 ` [PATCH v3 01/20] tests/docker: expose $HOME/.cache/qemu as docker volume Alex Bennée
2025-05-22 5:23 ` Thomas Huth
2025-05-21 16:42 ` [PATCH v3 02/20] gitlab: disable debug info on CI builds Alex Bennée
2025-05-21 16:42 ` [PATCH v3 03/20] tests/tcg: make aarch64 boot.S handle different starting modes Alex Bennée
2025-05-22 5:10 ` Akihiko Odaki
2025-05-21 16:42 ` [PATCH v3 04/20] tests/qtest: fix igb test failure under --enable-ubsan Alex Bennée
2025-05-22 5:19 ` Akihiko Odaki
2025-05-25 15:18 ` Philippe Mathieu-Daudé
2025-05-21 16:42 ` [PATCH v3 05/20] tests/Makefile: include test-plugins in per-arch build deps Alex Bennée
2025-05-22 5:37 ` Akihiko Odaki
2025-05-22 10:31 ` Alex Bennée
2025-05-22 10:35 ` Akihiko Odaki
2025-05-25 15:18 ` Philippe Mathieu-Daudé
2025-05-21 16:42 ` [PATCH v3 06/20] tests/functional: Add PCI hotplug test for aarch64 Alex Bennée
2025-05-22 5:43 ` Akihiko Odaki
2025-05-21 16:42 ` [PATCH v3 07/20] contrib/plugins: add a scaling factor to the ips arg Alex Bennée
2025-05-22 5:45 ` Akihiko Odaki
2025-05-25 15:19 ` Philippe Mathieu-Daudé
2025-05-21 16:42 ` [PATCH v3 08/20] contrib/plugins: allow setting of instructions per quantum Alex Bennée
2025-05-22 5:55 ` Akihiko Odaki
2025-05-21 16:42 ` [PATCH v3 09/20] MAINTAINERS: add myself to virtio-gpu for Odd Fixes Alex Bennée
2025-05-22 5:16 ` Markus Armbruster
2025-05-21 16:42 ` [PATCH v3 10/20] MAINTAINERS: add Akihiko and Dmitry as reviewers Alex Bennée
2025-05-22 5:16 ` Markus Armbruster
2025-05-24 11:07 ` Michael S. Tsirkin
2025-05-25 15:20 ` Philippe Mathieu-Daudé
2025-05-21 16:42 ` [PATCH v3 11/20] hw/display: re-arrange memory region tracking Alex Bennée
2025-05-21 16:42 ` [PATCH v3 12/20] virtio-gpu: fix hang under TCG when unmapping blob Alex Bennée
2025-05-22 5:59 ` Akihiko Odaki
2025-05-22 6:45 ` Alex Bennée
2025-05-22 7:02 ` Akihiko Odaki
2025-05-22 7:31 ` Manos Pitsidianakis
2025-05-22 7:40 ` Akihiko Odaki
2025-05-22 9:28 ` Alex Bennée
2025-05-22 9:54 ` Akihiko Odaki
2025-05-27 10:05 ` Alex Bennée
2025-05-27 11:03 ` Akihiko Odaki
2025-05-21 16:42 ` [PATCH v3 13/20] virtio-gpu: refactor async blob unmapping Alex Bennée
2025-05-21 16:42 ` [PATCH v3 14/20] ui/gtk-gl-area: Remove extra draw call in refresh Alex Bennée
2025-05-21 16:42 ` [PATCH v3 15/20] virtio-gpu: support context init multiple timeline Alex Bennée
2025-05-21 16:42 ` [PATCH v3 16/20] include/exec: fix assert in size_memop Alex Bennée
2025-05-22 6:07 ` Akihiko Odaki
2025-05-21 16:42 ` [PATCH v3 17/20] include/gdbstub: fix include guard in commands.h Alex Bennée
2025-05-21 16:42 ` [PATCH v3 18/20] gdbstub: assert earlier in handle_read_all_regs Alex Bennée
2025-05-21 16:42 ` [PATCH v3 19/20] gdbstub: Implement qGDBServerVersion packet Alex Bennée
2025-05-22 6:29 ` Akihiko Odaki
2025-05-22 10:05 ` Alex Bennée
2025-05-22 10:15 ` Akihiko Odaki
2025-05-25 15:25 ` Philippe Mathieu-Daudé
2025-05-27 9:16 ` Alex Bennée
2025-05-21 16:42 ` Alex Bennée [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=20250521164250.135776-21-alex.bennee@linaro.org \
--to=alex.bennee@linaro.org \
--cc=akihiko.odaki@daynix.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=david@redhat.com \
--cc=dmitry.osipenko@collabora.com \
--cc=erdnaxe@crans.org \
--cc=farosas@suse.de \
--cc=gustavo.romero@linaro.org \
--cc=jsnow@redhat.com \
--cc=lvivier@redhat.com \
--cc=ma.mandourr@gmail.com \
--cc=manos.pitsidianakis@linaro.org \
--cc=marcandre.lureau@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=peterx@redhat.com \
--cc=philmd@linaro.org \
--cc=pierrick.bouvier@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=sriram.yagnaraman@ericsson.com \
--cc=thuth@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).