Skip to content

Commit 307e476

Browse files
authored
Merge pull request #918 from riscv/trigger_access
Trigger CSRs provide access to underlying triggers.
2 parents 4f58366 + d785d17 commit 307e476

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

Sdtrig.tex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,8 @@ \section{Multiple State Change Instructions} \label{sec:multistate}
340340
\section{Trigger Module Registers}
341341

342342
These registers are CSRs, accessible using the RISC-V {\tt csr} opcodes and
343-
optionally also using abstract debug commands.
343+
optionally also using abstract debug commands. They are the only mechanism
344+
to access the triggers.
344345

345346
Almost all trigger functionality is optional. All {\tt tdata} registers follow
346347
write-any-read-legal semantics. If a debugger writes an unsupported

xml/hwbp_registers.xml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
</register>
3535

3636
<register name="Trigger Data 1" short="tdata1" address="0x7a1">
37+
This register provides access to the trigger selected by \RcsrTselect.
38+
3739
This register is optional if no triggers are implemented.
3840

3941
Writing 0 to this register must result in a trigger that is disabled.
@@ -125,6 +127,8 @@
125127
</register>
126128

127129
<register name="Trigger Data 2" short="tdata2" address="0x7a2">
130+
This register provides access to the trigger selected by \RcsrTselect.
131+
128132
Trigger-specific data. It is optional if no implemented triggers use
129133
it.
130134

@@ -136,6 +140,8 @@
136140
</register>
137141

138142
<register name="Trigger Data 3" short="tdata3" address="0x7a3">
143+
This register provides access to the trigger selected by \RcsrTselect.
144+
139145
Trigger-specific data. It is optional if no implemented triggers use
140146
it.
141147

@@ -147,6 +153,8 @@
147153
</register>
148154

149155
<register name="Trigger Info" short="tinfo" address="0x7a4">
156+
This register provides access to the trigger selected by \RcsrTselect.
157+
150158
This register is optional if no triggers are implemented, or if
151159
\FcsrTdataOneType is not writable and \FcsrTinfoVersion would be 0. In
152160
this case the debugger can read the only supported type from
@@ -287,6 +295,8 @@
287295
</register>
288296

289297
<register name="Match Control" short="mcontrol" address="0x7a1">
298+
This register provides access to the trigger selected by \RcsrTselect.
299+
290300
This register is accessible as \RcsrTdataOne when \FcsrTdataOneType is 2.
291301
This trigger type is deprecated. It is included for backward compatibility
292302
with version 0.13.
@@ -621,6 +631,8 @@
621631
</register>
622632

623633
<register name="Match Control Type 6" short="mcontrol6" address="0x7a1">
634+
This register provides access to the trigger selected by \RcsrTselect.
635+
624636
This register is accessible as \RcsrTdataOne when \FcsrTdataOneType is 6.
625637

626638
Implementing this trigger as described here requires that
@@ -1000,6 +1012,8 @@
10001012
</register>
10011013

10021014
<register name="Instruction Count" short="icount" address="0x7a1">
1015+
This register provides access to the trigger selected by \RcsrTselect.
1016+
10031017
This register is accessible as \RcsrTdataOne when \FcsrTdataOneType is 3.
10041018

10051019
\begin{steps}{This trigger matches when:}
@@ -1130,6 +1144,8 @@
11301144
</register>
11311145

11321146
<register name="Interrupt Trigger" short="itrigger" address="0x7a1">
1147+
This register provides access to the trigger selected by \RcsrTselect.
1148+
11331149
This register is accessible as \RcsrTdataOne when \FcsrTdataOneType is 4.
11341150

11351151
This trigger can fire when an interrupt trap is taken.
@@ -1222,6 +1238,8 @@
12221238
</register>
12231239

12241240
<register name="Exception Trigger" short="etrigger" address="0x7a1">
1241+
This register provides access to the trigger selected by \RcsrTselect.
1242+
12251243
This register is accessible as \RcsrTdataOne when \FcsrTdataOneType is 5.
12261244

12271245
This trigger may fire on up to XLEN of the Exception Codes defined in
@@ -1307,6 +1325,8 @@
13071325
</register>
13081326

13091327
<register name="External Trigger" short="tmexttrigger" address="0x7a1">
1328+
This register provides access to the trigger selected by \RcsrTselect.
1329+
13101330
This register is accessible as \RcsrTdataOne when \FcsrTdataOneType is 7.
13111331

13121332
This trigger fires when any selected TM external trigger input
@@ -1366,6 +1386,8 @@
13661386
</register>
13671387

13681388
<register name="Trigger Extra (RV32)" short="textra32" address="0x7a3">
1389+
This register provides access to the trigger selected by \RcsrTselect.
1390+
13691391
This register is accessible as \RcsrTdataThree when \FcsrTdataOneType is 2, 3, 4,
13701392
5, or 6 and XLEN=32.
13711393

@@ -1457,6 +1479,8 @@
14571479
</register>
14581480

14591481
<register name="Trigger Extra (RV64)" short="textra64" address="0x7a3">
1482+
This register provides access to the trigger selected by \RcsrTselect.
1483+
14601484
This register is accessible as \RcsrTdataThree when \FcsrTdataOneType is 2, 3, 4,
14611485
5, or 6 and XLEN=64. The fields are defined
14621486
above, in \RcsrTextraThirtytwo.

0 commit comments

Comments
 (0)