On Mon, 19 May 2025 15:55, Alex Bennée <alex.ben...@linaro.org> wrote: >Manos Pitsidianakis <manos.pitsidiana...@linaro.org> writes: > >> 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. >> >> https://sourceware.org/git/?p=binutils-gdb.git;a=tree;h=9f4dc0b137c86f6ff2098cb1ab69442c69d6023d >> >> Signed-off-by: Manos Pitsidianakis <manos.pitsidiana...@linaro.org> > >Queued to gdbstub/next, thanks. >
Would patches for the field system registers (NZCV, CurrentEL, DAIF, SPSel) be acceptable? If yes, I think defining them in the static core xml is cleaner than generating them dynamically in "system-registers.xml" like we do with arm_gen_dynamic_sysreg_feature() but both can work. The drawback would be that we wouldn't match upstream gdb's core xml schema anymore. (Maybe we can add a new xml include "pstate.xml" instead)