74K™ core features for debug and profiling
107
Programming the MIPS32® 74K™ Core Family, Revision 02.14
These fields are:
DBD
: exception happened in branch delay slot. When this happens
DEPC
will point to the branch instruction, which is
usually the right place to restart.
DM
: debug mode - set on debug exception from user mode, cleared by
deret
.
Then some configuration and control bits:
NoDCR
: read-only - 0 if there is a memory-mapped
DCR
register. MIPS Technologies cores will always have one. Any
EJTAG unit implementing "dseg" at all implements
DCR
.
LSNM
: Set this to 1 if you want debug-mode accesses to "dseg" addresses to be just sent to system memory. This makes
most of the EJTAG unit’s control system unavailable, so will probably only be done around a particular load/store.
Doze
: before the debug exception, CPU was in some kind of reduced power mode.
Halt
: before the debug exception, the CPU was stopped - probably asleep after a
wait
instruction.
CountDM
: 1 if and only if the count register continues to run in debug mode. Writable for the 74K core, so you get to
choose. On some other implementations it’s read-only and just tells you what the CPU does.
IEXI
: set to 1 to defer imprecise exceptions. Set by default on entry to debug mode, cleared on exit, but writable. The
deferred exception will come back when and if this bit is cleared: until then you can see that it happened by looking at
the "pending" bits shown in
below.
EJTAGver
: read-only - tells you which revision of the specification this implementation conforms to. On the 74K core it
reads
5
for version 5.0. The full set of legal values are:
DExcCode
: Cause of any non-debug exception you just handled from within debug mode - following first entry to
debug mode, this field is undefined. The value will be one of those defined for
Cause[ExcCode]
, as shown in
.
NoSSt
: read-only - reads 0 because single-step is implemented (it always is on MIPS Technologies cores).
SSt
: set 1 to enable single-step.
Figure 8.1 Fields in the EJTAG CP0 Debug register
31
30
29
28
27
26
25
24
21 20 19
18 17
15 14
10
9
8
7
6 5
0
DBD DM NoDCR LSNM Doze Halt
Count
DM
pending
IE
XI
cause
EJTAGver
DExc
Code
NoSSt SSt OffLine 0
cause
(
0 Version 2.0 and earlier
1 Version 2.5
2 Version 2.6
3 Version 3.1
4 Version 4.0
5 Version 5.0
Summary of Contents for MIPS32 74K Series
Page 1: ...Document Number MD00541 Revision 02 14 March 30 2011 Programming the MIPS32 74K Core Family...
Page 10: ...Programming the MIPS32 74K Core Family Revision 02 14 10...
Page 54: ...3 8 The TLB and translation Programming the MIPS32 74K Core Family Revision 02 14 54...
Page 83: ......
Page 101: ...The MIPS32 DSP ASE 101 Programming the MIPS32 74K Core Family Revision 02 14...
Page 134: ...8 4 Performance counters Programming the MIPS32 74K Core Family Revision 02 14 134...