Date
1 - 4 of 4
CSR address for debug scontext and hcontext
Ernie Edgar
Hello, Background: Using ASID instead of scontext to qualify breakpoints has been suggested. However, many systems do not implement ASID or only implement a narrow field, forcing the OS to recycle ASID values. This makes ASID useless for breakpoint qualification. For those familiar with ARM, the equivalent registers in that architecture are CONTEXTIDR_EL1 and CONTEXTIDR_EL2. Problem: The Debug Spec was ratified before work on the hypervisor had gotten very far, so Debug Spec 0.13 does not provide full support for hypervisor-based systems. Among the missing items is a definition for an "hcontext" register to qualify breakpoints in a particular virtual machine. An argument could be made to use VMID for this, but the discussion above about ASID qualification would also apply to VMID. Proposed Solution: The Debug Task Group would like to suggest allocating a range of CSR addresses in one of the Supervisor Standard read/write regions and in one of the Hypervisor Standard read/write regions to use for debug registers. Our suggestion is 0x5A0-0x5AF for S-mode and 0x6A0-0x6AF for HS-mode, complementing the 0x7A0-0x7AF already defined for M-mode debug registers. Allocating more than just one address gives the Debug TG flexibility for the future. Thanks, Ernie Edgar RISC-V Debug Task Group |
|
andrew@...
Any objections with merging Ernie’s PR that allocates addresses for the *context CSRs? Note, it has been pared back from the original request and is only allocating one CSR per privilege mode, rather than a large block. On Fri, Jul 31, 2020 at 9:24 AM Ernie Edgar <ernie.edgar@...> wrote:
|
|
Greg Favor
No objections from me. Greg On Tue, Aug 25, 2020 at 12:52 PM Andrew Waterman <andrew@...> wrote:
|
|
Works for me On Tue, Aug 25, 2020 at 12:52 PM Andrew Waterman <andrew@...> wrote:
|
|