forked from riscv/riscv-debug-spec
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfuture.tex
25 lines (24 loc) · 1.4 KB
/
future.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
\chapter{Future Ideas}
Some future version of this spec may implement some of the following features.
\begin{enumerate}
\item The spec defines several additions to the Device Tree which enable a
debugger to discover hart IDs and supported triggers for all the cores
in the system.
\item DTMs can function as general bus slaves, so they would look like
regular RAM to bus masters.
\item Harts can be divided into groups. All the harts in the same group can
be halted/run/stepped simultaneously. When a hart hits a breakpoint, all
the other harts in the same group also halt within a few clock cycles.
\item DTMs are specified for protocols like USB, I2C, SPI, and SWD.
\item Core registers can be read without halting the processor.
\item The debugger can communicate with the power manager to power cores up
or down, and to query their status.
\item Serial ports can raise an interrupt when a send/receive queue becomes full/empty.
\item The debug interrupt can be masked by running code. If the interrupt is
asserted, then deasserted, and then asserted again the debug interrupt
happens anyway. This mechanism can be used to eg. read/write memory with
minimal interruption, making sure never to interrupt during a critical
piece of code.
\item The debugger can non-intrusively sample a recent PC value from any
running hart.
\end{enumerate}