Skip to content

Debug specification missing guidance for E base set (RV32E/RV64E) #1141

@nadime15

Description

@nadime15

The debug specification does not mention (even though its implied) how abstract commands should handle the E base set (RV32E/RV64E), which reduces the general-purpose register set from 32 to 16 registers (x0-x15 only).

In this case, attempting to access registers x16–x31 (regno 0x1010–0x101f) should result in cmderr = 3 (exception), since these registers do not exist in the hart (arguably, the debugger could drop the 5th bit when accessing one of the upper 16 registers, which we probably don’t want). While this may seem obvious, I believe it would be helpful to state this explicitly in a revised version of the debug specification, because once RV32E or RV64E is enabled, the contents of Table 4 and the set of accessible GPRs change accordingly.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions