[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 14/14] target/arm: Support reading m-profile system registers
From: |
Peter Maydell |
Subject: |
Re: [PATCH 14/14] target/arm: Support reading m-profile system registers from gdb |
Date: |
Mon, 20 Feb 2023 17:37:32 +0000 |
On Mon, 20 Feb 2023 at 17:00, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> On 2/20/23 06:02, Peter Maydell wrote:
> >> + g_string_printf(s, "<?xml version=\"1.0\"?>");
> >> + g_string_append_printf(s, "<!DOCTYPE target SYSTEM
> >> \"gdb-target.dtd\">");
> >> + g_string_append_printf(s, "<feature
> >> name=\"org.gnu.gdb.arm.m-system\">\n");
> >
> > Half of these need to be in org.gnu.gdb.arm.secext.
> > These aren't our own XML features we're making up (if they
> > were then they would be in org.qemu.something), so we should
> > follow the existing precedent about what registers go in them.
>
> Now that you point it out (and I should have checked myself), we are kinda
> making them up.
> The only registers within upstream gdb m-system and secext are MSP, PSP,
> MSP_NS, MSP_S,
> PSP_NS, PSP_S. All the others are our own addition.
I think OpenOCD's implementation includes more than that:
https://openocd.org/doc-release/doxygen/armv7m_8c_source.html
> Should all the rest be in a third bit of xml?
Luis, do you have the specs for what the existing implementations
are doing here ?
Ideally gdb should document for every bit of XML it is the
official owner of (ie in the org.gnu.gdb namespace) what the
required and optional register values are, including details
like the register width (which I think the two existing
implementations that output m-system disagree on).
thanks
-- PMM
- [PATCH 09/14] target/arm: Simplify iteration over bit widths, (continued)
[PATCH 10/14] target/arm: Create pauth_ptr_mask, Richard Henderson, 2023/02/14