4 #ifndef DEBUG_DEFINES_H
5 #define DEBUG_DEFINES_H
6 #define DTM_IDCODE 0x01
10 #define DTM_IDCODE_VERSION_OFFSET 0x1cULL
11 #define DTM_IDCODE_VERSION_LENGTH 4ULL
12 #define DTM_IDCODE_VERSION 0xf0000000ULL
16 #define DTM_IDCODE_PARTNUMBER_OFFSET 0xcULL
17 #define DTM_IDCODE_PARTNUMBER_LENGTH 0x10ULL
18 #define DTM_IDCODE_PARTNUMBER 0xffff000ULL
26 #define DTM_IDCODE_MANUFID_OFFSET 1ULL
27 #define DTM_IDCODE_MANUFID_LENGTH 0xbULL
28 #define DTM_IDCODE_MANUFID 0xffeULL
29 #define DTM_IDCODE_1_OFFSET 0ULL
30 #define DTM_IDCODE_1_LENGTH 1ULL
31 #define DTM_IDCODE_1 1ULL
32 #define DTM_DTMCS 0x10
39 #define DTM_DTMCS_ERRINFO_OFFSET 0x12ULL
40 #define DTM_DTMCS_ERRINFO_LENGTH 3ULL
41 #define DTM_DTMCS_ERRINFO 0x1c0000ULL
45 #define DTM_DTMCS_ERRINFO_NOT_IMPLEMENTED 0
49 #define DTM_DTMCS_ERRINFO_DMI_ERROR 1
53 #define DTM_DTMCS_ERRINFO_COMMUNICATION_ERROR 2
57 #define DTM_DTMCS_ERRINFO_DEVICE_ERROR 3
62 #define DTM_DTMCS_ERRINFO_UNKNOWN 4
75 #define DTM_DTMCS_DTMHARDRESET_OFFSET 0x11ULL
76 #define DTM_DTMCS_DTMHARDRESET_LENGTH 1ULL
77 #define DTM_DTMCS_DTMHARDRESET 0x20000ULL
82 #define DTM_DTMCS_DMIRESET_OFFSET 0x10ULL
83 #define DTM_DTMCS_DMIRESET_LENGTH 1ULL
84 #define DTM_DTMCS_DMIRESET 0x10000ULL
100 #define DTM_DTMCS_IDLE_OFFSET 0xcULL
101 #define DTM_DTMCS_IDLE_LENGTH 3ULL
102 #define DTM_DTMCS_IDLE 0x7000ULL
106 #define DTM_DTMCS_DMISTAT_OFFSET 0xaULL
107 #define DTM_DTMCS_DMISTAT_LENGTH 2ULL
108 #define DTM_DTMCS_DMISTAT 0xc00ULL
112 #define DTM_DTMCS_ABITS_OFFSET 4ULL
113 #define DTM_DTMCS_ABITS_LENGTH 6ULL
114 #define DTM_DTMCS_ABITS 0x3f0ULL
115 #define DTM_DTMCS_VERSION_OFFSET 0ULL
116 #define DTM_DTMCS_VERSION_LENGTH 4ULL
117 #define DTM_DTMCS_VERSION 0xfULL
121 #define DTM_DTMCS_VERSION_0_11 0
125 #define DTM_DTMCS_VERSION_1_0 1
129 #define DTM_DTMCS_VERSION_CUSTOM 15
137 #define DTM_DMI_ADDRESS_OFFSET 0x22ULL
138 #define DTM_DMI_ADDRESS_LENGTH(abits) (abits)
139 #define DTM_DMI_ADDRESS(abits) ((0x400000000ULL * (1ULL << (abits))) + -0x400000000ULL)
144 #define DTM_DMI_DATA_OFFSET 2ULL
145 #define DTM_DMI_DATA_LENGTH 0x20ULL
146 #define DTM_DMI_DATA 0x3fffffffcULL
150 #define DTM_DMI_OP_OFFSET 0ULL
151 #define DTM_DMI_OP_LENGTH 2ULL
152 #define DTM_DMI_OP 3ULL
164 #define DTM_DMI_OP_NOP 0
172 #define DTM_DMI_OP_READ 1
179 #define DTM_DMI_OP_WRITE 2
189 #define DTM_DMI_OP_SUCCESS 0
206 #define DTM_DMI_OP_FAILED 2
216 #define DTM_DMI_OP_BUSY 3
217 #define CSR_DCSR 0x7b0
218 #define CSR_DCSR_DEBUGVER_OFFSET 0x1cULL
219 #define CSR_DCSR_DEBUGVER_LENGTH 4ULL
220 #define CSR_DCSR_DEBUGVER 0xf0000000ULL
224 #define CSR_DCSR_DEBUGVER_NONE 0
228 #define CSR_DCSR_DEBUGVER_1_0 4
233 #define CSR_DCSR_DEBUGVER_CUSTOM 15
238 #define CSR_DCSR_EXTCAUSE_OFFSET 0x18ULL
239 #define CSR_DCSR_EXTCAUSE_LENGTH 3ULL
240 #define CSR_DCSR_EXTCAUSE 0x7000000ULL
245 #define CSR_DCSR_EXTCAUSE_CRITICAL_ERROR 0
254 #define CSR_DCSR_CETRIG_OFFSET 0x13ULL
255 #define CSR_DCSR_CETRIG_LENGTH 1ULL
256 #define CSR_DCSR_CETRIG 0x80000ULL
261 #define CSR_DCSR_CETRIG_DISABLED 0
272 #define CSR_DCSR_CETRIG_ENABLED 1
289 #define CSR_DCSR_PELP_OFFSET 0x12ULL
290 #define CSR_DCSR_PELP_LENGTH 1ULL
291 #define CSR_DCSR_PELP 0x40000ULL
295 #define CSR_DCSR_PELP_NO_LP_EXPECTED 0
299 #define CSR_DCSR_PELP_LP_EXPECTED 1
300 #define CSR_DCSR_EBREAKVS_OFFSET 0x11ULL
301 #define CSR_DCSR_EBREAKVS_LENGTH 1ULL
302 #define CSR_DCSR_EBREAKVS 0x20000ULL
307 #define CSR_DCSR_EBREAKVS_EXCEPTION 0
311 #define CSR_DCSR_EBREAKVS_DEBUG_MODE 1
315 #define CSR_DCSR_EBREAKVU_OFFSET 0x10ULL
316 #define CSR_DCSR_EBREAKVU_LENGTH 1ULL
317 #define CSR_DCSR_EBREAKVU 0x10000ULL
322 #define CSR_DCSR_EBREAKVU_EXCEPTION 0
326 #define CSR_DCSR_EBREAKVU_DEBUG_MODE 1
330 #define CSR_DCSR_EBREAKM_OFFSET 0xfULL
331 #define CSR_DCSR_EBREAKM_LENGTH 1ULL
332 #define CSR_DCSR_EBREAKM 0x8000ULL
337 #define CSR_DCSR_EBREAKM_EXCEPTION 0
341 #define CSR_DCSR_EBREAKM_DEBUG_MODE 1
342 #define CSR_DCSR_EBREAKS_OFFSET 0xdULL
343 #define CSR_DCSR_EBREAKS_LENGTH 1ULL
344 #define CSR_DCSR_EBREAKS 0x2000ULL
349 #define CSR_DCSR_EBREAKS_EXCEPTION 0
353 #define CSR_DCSR_EBREAKS_DEBUG_MODE 1
357 #define CSR_DCSR_EBREAKU_OFFSET 0xcULL
358 #define CSR_DCSR_EBREAKU_LENGTH 1ULL
359 #define CSR_DCSR_EBREAKU 0x1000ULL
364 #define CSR_DCSR_EBREAKU_EXCEPTION 0
368 #define CSR_DCSR_EBREAKU_DEBUG_MODE 1
372 #define CSR_DCSR_STEPIE_OFFSET 0xbULL
373 #define CSR_DCSR_STEPIE_LENGTH 1ULL
374 #define CSR_DCSR_STEPIE 0x800ULL
380 #define CSR_DCSR_STEPIE_INTERRUPTS_DISABLED 0
385 #define CSR_DCSR_STEPIE_INTERRUPTS_ENABLED 1
393 #define CSR_DCSR_STOPCOUNT_OFFSET 0xaULL
394 #define CSR_DCSR_STOPCOUNT_LENGTH 1ULL
395 #define CSR_DCSR_STOPCOUNT 0x400ULL
399 #define CSR_DCSR_STOPCOUNT_NORMAL 0
407 #define CSR_DCSR_STOPCOUNT_FREEZE 1
411 #define CSR_DCSR_STOPTIME_OFFSET 9ULL
412 #define CSR_DCSR_STOPTIME_LENGTH 1ULL
413 #define CSR_DCSR_STOPTIME 0x200ULL
417 #define CSR_DCSR_STOPTIME_NORMAL 0
426 #define CSR_DCSR_STOPTIME_FREEZE 1
437 #define CSR_DCSR_CAUSE_OFFSET 6ULL
438 #define CSR_DCSR_CAUSE_LENGTH 3ULL
439 #define CSR_DCSR_CAUSE 0x1c0ULL
443 #define CSR_DCSR_CAUSE_EBREAK 1
447 #define CSR_DCSR_CAUSE_TRIGGER 2
451 #define CSR_DCSR_CAUSE_HALTREQ 3
455 #define CSR_DCSR_CAUSE_STEP 4
460 #define CSR_DCSR_CAUSE_RESETHALTREQ 5
465 #define CSR_DCSR_CAUSE_GROUP 6
470 #define CSR_DCSR_CAUSE_OTHER 7
478 #define CSR_DCSR_V_OFFSET 5ULL
479 #define CSR_DCSR_V_LENGTH 1ULL
480 #define CSR_DCSR_V 0x20ULL
481 #define CSR_DCSR_MPRVEN_OFFSET 4ULL
482 #define CSR_DCSR_MPRVEN_LENGTH 1ULL
483 #define CSR_DCSR_MPRVEN 0x10ULL
487 #define CSR_DCSR_MPRVEN_DISABLED 0
491 #define CSR_DCSR_MPRVEN_ENABLED 1
502 #define CSR_DCSR_NMIP_OFFSET 3ULL
503 #define CSR_DCSR_NMIP_LENGTH 1ULL
504 #define CSR_DCSR_NMIP 8ULL
513 #define CSR_DCSR_STEP_OFFSET 2ULL
514 #define CSR_DCSR_STEP_LENGTH 1ULL
515 #define CSR_DCSR_STEP 4ULL
525 #define CSR_DCSR_PRV_OFFSET 0ULL
526 #define CSR_DCSR_PRV_LENGTH 2ULL
527 #define CSR_DCSR_PRV 3ULL
528 #define CSR_DPC 0x7b1
529 #define CSR_DPC_DPC_OFFSET 0ULL
530 #define CSR_DPC_DPC_LENGTH(DXLEN) (DXLEN)
531 #define CSR_DPC_DPC(DXLEN) ((1ULL << (DXLEN)) + -1ULL)
532 #define CSR_DSCRATCH0 0x7b2
533 #define CSR_DSCRATCH0_DSCRATCH0_OFFSET 0ULL
534 #define CSR_DSCRATCH0_DSCRATCH0_LENGTH(DXLEN) (DXLEN)
535 #define CSR_DSCRATCH0_DSCRATCH0(DXLEN) ((1ULL << (DXLEN)) + -1ULL)
536 #define CSR_DSCRATCH1 0x7b3
537 #define CSR_DSCRATCH1_DSCRATCH1_OFFSET 0ULL
538 #define CSR_DSCRATCH1_DSCRATCH1_LENGTH(DXLEN) (DXLEN)
539 #define CSR_DSCRATCH1_DSCRATCH1(DXLEN) ((1ULL << (DXLEN)) + -1ULL)
540 #define CSR_TSELECT 0x7a0
541 #define CSR_TSELECT_INDEX_OFFSET 0ULL
542 #define CSR_TSELECT_INDEX_LENGTH(XLEN) (XLEN)
543 #define CSR_TSELECT_INDEX(XLEN) ((1ULL << (XLEN)) + -1ULL)
544 #define CSR_TDATA1 0x7a1
545 #define CSR_TDATA1_TYPE_OFFSET(XLEN) ((XLEN) + -4ULL)
546 #define CSR_TDATA1_TYPE_LENGTH 4ULL
547 #define CSR_TDATA1_TYPE(XLEN) (0xfULL * (1ULL << ((XLEN) + -4ULL)))
551 #define CSR_TDATA1_TYPE_NONE 0
556 #define CSR_TDATA1_TYPE_LEGACY 1
561 #define CSR_TDATA1_TYPE_MCONTROL 2
566 #define CSR_TDATA1_TYPE_ICOUNT 3
571 #define CSR_TDATA1_TYPE_ITRIGGER 4
576 #define CSR_TDATA1_TYPE_ETRIGGER 5
583 #define CSR_TDATA1_TYPE_MCONTROL6 6
588 #define CSR_TDATA1_TYPE_TMEXTTRIGGER 7
592 #define CSR_TDATA1_TYPE_CUSTOM_LOW 12
593 #define CSR_TDATA1_TYPE_CUSTOM_HIGH 14
601 #define CSR_TDATA1_TYPE_DISABLED 15
608 #define CSR_TDATA1_DMODE_OFFSET(XLEN) ((XLEN) + -5ULL)
609 #define CSR_TDATA1_DMODE_LENGTH 1ULL
610 #define CSR_TDATA1_DMODE(XLEN) (1ULL << ((XLEN) + -5ULL))
615 #define CSR_TDATA1_DMODE_BOTH 0
620 #define CSR_TDATA1_DMODE_DMODE 1
634 #define CSR_TDATA1_DATA_OFFSET 0ULL
635 #define CSR_TDATA1_DATA_LENGTH(XLEN) ((XLEN) + -5ULL)
636 #define CSR_TDATA1_DATA(XLEN) ((1ULL << ((XLEN) + -5ULL)) + -1ULL)
637 #define CSR_TDATA2 0x7a2
638 #define CSR_TDATA2_DATA_OFFSET 0ULL
639 #define CSR_TDATA2_DATA_LENGTH(XLEN) (XLEN)
640 #define CSR_TDATA2_DATA(XLEN) ((1ULL << (XLEN)) + -1ULL)
641 #define CSR_TDATA3 0x7a3
642 #define CSR_TDATA3_DATA_OFFSET 0ULL
643 #define CSR_TDATA3_DATA_LENGTH(XLEN) (XLEN)
644 #define CSR_TDATA3_DATA(XLEN) ((1ULL << (XLEN)) + -1ULL)
645 #define CSR_TINFO 0x7a4
649 #define CSR_TINFO_VERSION_OFFSET 0x18ULL
650 #define CSR_TINFO_VERSION_LENGTH 8ULL
651 #define CSR_TINFO_VERSION 0xff000000ULL
663 #define CSR_TINFO_VERSION_0 0
668 #define CSR_TINFO_VERSION_1 1
677 #define CSR_TINFO_INFO_OFFSET 0ULL
678 #define CSR_TINFO_INFO_LENGTH 0x10ULL
679 #define CSR_TINFO_INFO 0xffffULL
680 #define CSR_TCONTROL 0x7a5
691 #define CSR_TCONTROL_MPTE_OFFSET 7ULL
692 #define CSR_TCONTROL_MPTE_LENGTH 1ULL
693 #define CSR_TCONTROL_MPTE 0x80ULL
697 #define CSR_TCONTROL_MTE_OFFSET 3ULL
698 #define CSR_TCONTROL_MTE_LENGTH 1ULL
699 #define CSR_TCONTROL_MTE 8ULL
703 #define CSR_TCONTROL_MTE_DISABLED 0
707 #define CSR_TCONTROL_MTE_ENABLED 1
711 #define CSR_HCONTEXT 0x6a8
712 #define CSR_SCONTEXT 0x5a8
722 #define CSR_SCONTEXT_DATA_OFFSET 0ULL
723 #define CSR_SCONTEXT_DATA_LENGTH 0x20ULL
724 #define CSR_SCONTEXT_DATA 0xffffffffULL
725 #define CSR_MCONTEXT 0x7a8
738 #define CSR_MCONTEXT_HCONTEXT_OFFSET 0ULL
739 #define CSR_MCONTEXT_HCONTEXT_LENGTH 0xeULL
740 #define CSR_MCONTEXT_HCONTEXT 0x3fffULL
741 #define CSR_MSCONTEXT 0x7aa
742 #define CSR_MCONTROL 0x7a1
743 #define CSR_MCONTROL_TYPE_OFFSET(XLEN) ((XLEN) + -4ULL)
744 #define CSR_MCONTROL_TYPE_LENGTH 4ULL
745 #define CSR_MCONTROL_TYPE(XLEN) (0xfULL * (1ULL << ((XLEN) + -4ULL)))
746 #define CSR_MCONTROL_DMODE_OFFSET(XLEN) ((XLEN) + -5ULL)
747 #define CSR_MCONTROL_DMODE_LENGTH 1ULL
748 #define CSR_MCONTROL_DMODE(XLEN) (1ULL << ((XLEN) + -5ULL))
757 #define CSR_MCONTROL_MASKMAX_OFFSET(XLEN) ((XLEN) + -0xbULL)
758 #define CSR_MCONTROL_MASKMAX_LENGTH 6ULL
759 #define CSR_MCONTROL_MASKMAX(XLEN) (0x3fULL * (1ULL << ((XLEN) + -0xbULL)))
766 #define CSR_MCONTROL_SIZEHI_OFFSET 0x15ULL
767 #define CSR_MCONTROL_SIZEHI_LENGTH 2ULL
768 #define CSR_MCONTROL_SIZEHI 0x600000ULL
777 #define CSR_MCONTROL_HIT_OFFSET 0x14ULL
778 #define CSR_MCONTROL_HIT_LENGTH 1ULL
779 #define CSR_MCONTROL_HIT 0x100000ULL
783 #define CSR_MCONTROL_SELECT_OFFSET 0x13ULL
784 #define CSR_MCONTROL_SELECT_LENGTH 1ULL
785 #define CSR_MCONTROL_SELECT 0x80000ULL
794 #define CSR_MCONTROL_SELECT_ADDRESS 0
800 #define CSR_MCONTROL_SELECT_DATA 1
801 #define CSR_MCONTROL_TIMING_OFFSET 0x12ULL
802 #define CSR_MCONTROL_TIMING_LENGTH 1ULL
803 #define CSR_MCONTROL_TIMING 0x40000ULL
822 #define CSR_MCONTROL_TIMING_BEFORE 0
832 #define CSR_MCONTROL_TIMING_AFTER 1
854 #define CSR_MCONTROL_SIZELO_OFFSET 0x10ULL
855 #define CSR_MCONTROL_SIZELO_LENGTH 2ULL
856 #define CSR_MCONTROL_SIZELO 0x30000ULL
862 #define CSR_MCONTROL_SIZELO_ANY 0
866 #define CSR_MCONTROL_SIZELO_8BIT 1
871 #define CSR_MCONTROL_SIZELO_16BIT 2
876 #define CSR_MCONTROL_SIZELO_32BIT 3
880 #define CSR_MCONTROL_SIZELO_48BIT 4
885 #define CSR_MCONTROL_SIZELO_64BIT 5
889 #define CSR_MCONTROL_SIZELO_80BIT 6
893 #define CSR_MCONTROL_SIZELO_96BIT 7
897 #define CSR_MCONTROL_SIZELO_112BIT 8
902 #define CSR_MCONTROL_SIZELO_128BIT 9
925 #define CSR_MCONTROL_ACTION_OFFSET 0xcULL
926 #define CSR_MCONTROL_ACTION_LENGTH 4ULL
927 #define CSR_MCONTROL_ACTION 0xf000ULL
931 #define CSR_MCONTROL_ACTION_BREAKPOINT 0
935 #define CSR_MCONTROL_ACTION_DEBUG_MODE 1
939 #define CSR_MCONTROL_ACTION_TRACE_ON 2
943 #define CSR_MCONTROL_ACTION_TRACE_OFF 3
947 #define CSR_MCONTROL_ACTION_TRACE_NOTIFY 4
951 #define CSR_MCONTROL_ACTION_EXTERNAL0 8
955 #define CSR_MCONTROL_ACTION_EXTERNAL1 9
956 #define CSR_MCONTROL_CHAIN_OFFSET 0xbULL
957 #define CSR_MCONTROL_CHAIN_LENGTH 1ULL
958 #define CSR_MCONTROL_CHAIN 0x800ULL
962 #define CSR_MCONTROL_CHAIN_DISABLED 0
967 #define CSR_MCONTROL_CHAIN_ENABLED 1
992 #define CSR_MCONTROL_MATCH_OFFSET 7ULL
993 #define CSR_MCONTROL_MATCH_LENGTH 4ULL
994 #define CSR_MCONTROL_MATCH 0x780ULL
998 #define CSR_MCONTROL_MATCH_EQUAL 0
1008 #define CSR_MCONTROL_MATCH_NAPOT 1
1013 #define CSR_MCONTROL_MATCH_GE 2
1018 #define CSR_MCONTROL_MATCH_LT 3
1025 #define CSR_MCONTROL_MATCH_MASK_LOW 4
1032 #define CSR_MCONTROL_MATCH_MASK_HIGH 5
1036 #define CSR_MCONTROL_MATCH_NOT_EQUAL 8
1040 #define CSR_MCONTROL_MATCH_NOT_NAPOT 9
1044 #define CSR_MCONTROL_MATCH_NOT_MASK_LOW 12
1048 #define CSR_MCONTROL_MATCH_NOT_MASK_HIGH 13
1061 #define CSR_MCONTROL_M_OFFSET 6ULL
1062 #define CSR_MCONTROL_M_LENGTH 1ULL
1063 #define CSR_MCONTROL_M 0x40ULL
1069 #define CSR_MCONTROL_S_OFFSET 4ULL
1070 #define CSR_MCONTROL_S_LENGTH 1ULL
1071 #define CSR_MCONTROL_S 0x10ULL
1077 #define CSR_MCONTROL_U_OFFSET 3ULL
1078 #define CSR_MCONTROL_U_LENGTH 1ULL
1079 #define CSR_MCONTROL_U 8ULL
1084 #define CSR_MCONTROL_EXECUTE_OFFSET 2ULL
1085 #define CSR_MCONTROL_EXECUTE_LENGTH 1ULL
1086 #define CSR_MCONTROL_EXECUTE 4ULL
1091 #define CSR_MCONTROL_STORE_OFFSET 1ULL
1092 #define CSR_MCONTROL_STORE_LENGTH 1ULL
1093 #define CSR_MCONTROL_STORE 2ULL
1098 #define CSR_MCONTROL_LOAD_OFFSET 0ULL
1099 #define CSR_MCONTROL_LOAD_LENGTH 1ULL
1100 #define CSR_MCONTROL_LOAD 1ULL
1101 #define CSR_MCONTROL6 0x7a1
1102 #define CSR_MCONTROL6_TYPE_OFFSET(XLEN) ((XLEN) + -4ULL)
1103 #define CSR_MCONTROL6_TYPE_LENGTH 4ULL
1104 #define CSR_MCONTROL6_TYPE(XLEN) (0xfULL * (1ULL << ((XLEN) + -4ULL)))
1105 #define CSR_MCONTROL6_DMODE_OFFSET(XLEN) ((XLEN) + -5ULL)
1106 #define CSR_MCONTROL6_DMODE_LENGTH 1ULL
1107 #define CSR_MCONTROL6_DMODE(XLEN) (1ULL << ((XLEN) + -5ULL))
1112 #define CSR_MCONTROL6_UNCERTAIN_OFFSET 0x1aULL
1113 #define CSR_MCONTROL6_UNCERTAIN_LENGTH 1ULL
1114 #define CSR_MCONTROL6_UNCERTAIN 0x4000000ULL
1119 #define CSR_MCONTROL6_UNCERTAIN_CERTAIN 0
1125 #define CSR_MCONTROL6_UNCERTAIN_UNCERTAIN 1
1126 #define CSR_MCONTROL6_HIT1_OFFSET 0x19ULL
1127 #define CSR_MCONTROL6_HIT1_LENGTH 1ULL
1128 #define CSR_MCONTROL6_HIT1 0x2000000ULL
1134 #define CSR_MCONTROL6_VS_OFFSET 0x18ULL
1135 #define CSR_MCONTROL6_VS_LENGTH 1ULL
1136 #define CSR_MCONTROL6_VS 0x1000000ULL
1142 #define CSR_MCONTROL6_VU_OFFSET 0x17ULL
1143 #define CSR_MCONTROL6_VU_LENGTH 1ULL
1144 #define CSR_MCONTROL6_VU 0x800000ULL
1155 #define CSR_MCONTROL6_HIT0_OFFSET 0x16ULL
1156 #define CSR_MCONTROL6_HIT0_LENGTH 1ULL
1157 #define CSR_MCONTROL6_HIT0 0x400000ULL
1161 #define CSR_MCONTROL6_HIT0_FALSE 0
1171 #define CSR_MCONTROL6_HIT0_BEFORE 1
1179 #define CSR_MCONTROL6_HIT0_AFTER 2
1190 #define CSR_MCONTROL6_HIT0_IMMEDIATELY_AFTER 3
1194 #define CSR_MCONTROL6_SELECT_OFFSET 0x15ULL
1195 #define CSR_MCONTROL6_SELECT_LENGTH 1ULL
1196 #define CSR_MCONTROL6_SELECT 0x200000ULL
1205 #define CSR_MCONTROL6_SELECT_ADDRESS 0
1211 #define CSR_MCONTROL6_SELECT_DATA 1
1212 #define CSR_MCONTROL6_SIZE_OFFSET 0x10ULL
1213 #define CSR_MCONTROL6_SIZE_LENGTH 3ULL
1214 #define CSR_MCONTROL6_SIZE 0x70000ULL
1220 #define CSR_MCONTROL6_SIZE_ANY 0
1224 #define CSR_MCONTROL6_SIZE_8BIT 1
1229 #define CSR_MCONTROL6_SIZE_16BIT 2
1234 #define CSR_MCONTROL6_SIZE_32BIT 3
1238 #define CSR_MCONTROL6_SIZE_48BIT 4
1243 #define CSR_MCONTROL6_SIZE_64BIT 5
1248 #define CSR_MCONTROL6_SIZE_128BIT 6
1271 #define CSR_MCONTROL6_ACTION_OFFSET 0xcULL
1272 #define CSR_MCONTROL6_ACTION_LENGTH 4ULL
1273 #define CSR_MCONTROL6_ACTION 0xf000ULL
1277 #define CSR_MCONTROL6_ACTION_BREAKPOINT 0
1281 #define CSR_MCONTROL6_ACTION_DEBUG_MODE 1
1285 #define CSR_MCONTROL6_ACTION_TRACE_ON 2
1289 #define CSR_MCONTROL6_ACTION_TRACE_OFF 3
1293 #define CSR_MCONTROL6_ACTION_TRACE_NOTIFY 4
1297 #define CSR_MCONTROL6_ACTION_EXTERNAL0 8
1301 #define CSR_MCONTROL6_ACTION_EXTERNAL1 9
1302 #define CSR_MCONTROL6_CHAIN_OFFSET 0xbULL
1303 #define CSR_MCONTROL6_CHAIN_LENGTH 1ULL
1304 #define CSR_MCONTROL6_CHAIN 0x800ULL
1308 #define CSR_MCONTROL6_CHAIN_DISABLED 0
1313 #define CSR_MCONTROL6_CHAIN_ENABLED 1
1338 #define CSR_MCONTROL6_MATCH_OFFSET 7ULL
1339 #define CSR_MCONTROL6_MATCH_LENGTH 4ULL
1340 #define CSR_MCONTROL6_MATCH 0x780ULL
1344 #define CSR_MCONTROL6_MATCH_EQUAL 0
1356 #define CSR_MCONTROL6_MATCH_NAPOT 1
1361 #define CSR_MCONTROL6_MATCH_GE 2
1366 #define CSR_MCONTROL6_MATCH_LT 3
1373 #define CSR_MCONTROL6_MATCH_MASK_LOW 4
1380 #define CSR_MCONTROL6_MATCH_MASK_HIGH 5
1384 #define CSR_MCONTROL6_MATCH_NOT_EQUAL 8
1388 #define CSR_MCONTROL6_MATCH_NOT_NAPOT 9
1392 #define CSR_MCONTROL6_MATCH_NOT_MASK_LOW 12
1396 #define CSR_MCONTROL6_MATCH_NOT_MASK_HIGH 13
1409 #define CSR_MCONTROL6_M_OFFSET 6ULL
1410 #define CSR_MCONTROL6_M_LENGTH 1ULL
1411 #define CSR_MCONTROL6_M 0x40ULL
1412 #define CSR_MCONTROL6_UNCERTAINEN_OFFSET 5ULL
1413 #define CSR_MCONTROL6_UNCERTAINEN_LENGTH 1ULL
1414 #define CSR_MCONTROL6_UNCERTAINEN 0x20ULL
1419 #define CSR_MCONTROL6_UNCERTAINEN_DISABLED 0
1425 #define CSR_MCONTROL6_UNCERTAINEN_ENABLED 1
1431 #define CSR_MCONTROL6_S_OFFSET 4ULL
1432 #define CSR_MCONTROL6_S_LENGTH 1ULL
1433 #define CSR_MCONTROL6_S 0x10ULL
1439 #define CSR_MCONTROL6_U_OFFSET 3ULL
1440 #define CSR_MCONTROL6_U_LENGTH 1ULL
1441 #define CSR_MCONTROL6_U 8ULL
1446 #define CSR_MCONTROL6_EXECUTE_OFFSET 2ULL
1447 #define CSR_MCONTROL6_EXECUTE_LENGTH 1ULL
1448 #define CSR_MCONTROL6_EXECUTE 4ULL
1453 #define CSR_MCONTROL6_STORE_OFFSET 1ULL
1454 #define CSR_MCONTROL6_STORE_LENGTH 1ULL
1455 #define CSR_MCONTROL6_STORE 2ULL
1460 #define CSR_MCONTROL6_LOAD_OFFSET 0ULL
1461 #define CSR_MCONTROL6_LOAD_LENGTH 1ULL
1462 #define CSR_MCONTROL6_LOAD 1ULL
1463 #define CSR_ICOUNT 0x7a1
1464 #define CSR_ICOUNT_TYPE_OFFSET(XLEN) ((XLEN) + -4ULL)
1465 #define CSR_ICOUNT_TYPE_LENGTH 4ULL
1466 #define CSR_ICOUNT_TYPE(XLEN) (0xfULL * (1ULL << ((XLEN) + -4ULL)))
1467 #define CSR_ICOUNT_DMODE_OFFSET(XLEN) ((XLEN) + -5ULL)
1468 #define CSR_ICOUNT_DMODE_LENGTH 1ULL
1469 #define CSR_ICOUNT_DMODE(XLEN) (1ULL << ((XLEN) + -5ULL))
1475 #define CSR_ICOUNT_VS_OFFSET 0x1aULL
1476 #define CSR_ICOUNT_VS_LENGTH 1ULL
1477 #define CSR_ICOUNT_VS 0x4000000ULL
1483 #define CSR_ICOUNT_VU_OFFSET 0x19ULL
1484 #define CSR_ICOUNT_VU_LENGTH 1ULL
1485 #define CSR_ICOUNT_VU 0x2000000ULL
1493 #define CSR_ICOUNT_HIT_OFFSET 0x18ULL
1494 #define CSR_ICOUNT_HIT_LENGTH 1ULL
1495 #define CSR_ICOUNT_HIT 0x1000000ULL
1500 #define CSR_ICOUNT_COUNT_OFFSET 0xaULL
1501 #define CSR_ICOUNT_COUNT_LENGTH 0xeULL
1502 #define CSR_ICOUNT_COUNT 0xfffc00ULL
1506 #define CSR_ICOUNT_M_OFFSET 9ULL
1507 #define CSR_ICOUNT_M_LENGTH 1ULL
1508 #define CSR_ICOUNT_M 0x200ULL
1514 #define CSR_ICOUNT_PENDING_OFFSET 8ULL
1515 #define CSR_ICOUNT_PENDING_LENGTH 1ULL
1516 #define CSR_ICOUNT_PENDING 0x100ULL
1522 #define CSR_ICOUNT_S_OFFSET 7ULL
1523 #define CSR_ICOUNT_S_LENGTH 1ULL
1524 #define CSR_ICOUNT_S 0x80ULL
1530 #define CSR_ICOUNT_U_OFFSET 6ULL
1531 #define CSR_ICOUNT_U_LENGTH 1ULL
1532 #define CSR_ICOUNT_U 0x40ULL
1537 #define CSR_ICOUNT_ACTION_OFFSET 0ULL
1538 #define CSR_ICOUNT_ACTION_LENGTH 6ULL
1539 #define CSR_ICOUNT_ACTION 0x3fULL
1543 #define CSR_ICOUNT_ACTION_BREAKPOINT 0
1547 #define CSR_ICOUNT_ACTION_DEBUG_MODE 1
1551 #define CSR_ICOUNT_ACTION_TRACE_ON 2
1555 #define CSR_ICOUNT_ACTION_TRACE_OFF 3
1559 #define CSR_ICOUNT_ACTION_TRACE_NOTIFY 4
1563 #define CSR_ICOUNT_ACTION_EXTERNAL0 8
1567 #define CSR_ICOUNT_ACTION_EXTERNAL1 9
1568 #define CSR_ITRIGGER 0x7a1
1569 #define CSR_ITRIGGER_TYPE_OFFSET(XLEN) ((XLEN) + -4ULL)
1570 #define CSR_ITRIGGER_TYPE_LENGTH 4ULL
1571 #define CSR_ITRIGGER_TYPE(XLEN) (0xfULL * (1ULL << ((XLEN) + -4ULL)))
1572 #define CSR_ITRIGGER_DMODE_OFFSET(XLEN) ((XLEN) + -5ULL)
1573 #define CSR_ITRIGGER_DMODE_LENGTH 1ULL
1574 #define CSR_ITRIGGER_DMODE(XLEN) (1ULL << ((XLEN) + -5ULL))
1582 #define CSR_ITRIGGER_HIT_OFFSET(XLEN) ((XLEN) + -6ULL)
1583 #define CSR_ITRIGGER_HIT_LENGTH 1ULL
1584 #define CSR_ITRIGGER_HIT(XLEN) (1ULL << ((XLEN) + -6ULL))
1591 #define CSR_ITRIGGER_VS_OFFSET 0xcULL
1592 #define CSR_ITRIGGER_VS_LENGTH 1ULL
1593 #define CSR_ITRIGGER_VS 0x1000ULL
1600 #define CSR_ITRIGGER_VU_OFFSET 0xbULL
1601 #define CSR_ITRIGGER_VU_LENGTH 1ULL
1602 #define CSR_ITRIGGER_VU 0x800ULL
1607 #define CSR_ITRIGGER_NMI_OFFSET 0xaULL
1608 #define CSR_ITRIGGER_NMI_LENGTH 1ULL
1609 #define CSR_ITRIGGER_NMI 0x400ULL
1614 #define CSR_ITRIGGER_M_OFFSET 9ULL
1615 #define CSR_ITRIGGER_M_LENGTH 1ULL
1616 #define CSR_ITRIGGER_M 0x200ULL
1623 #define CSR_ITRIGGER_S_OFFSET 7ULL
1624 #define CSR_ITRIGGER_S_LENGTH 1ULL
1625 #define CSR_ITRIGGER_S 0x80ULL
1632 #define CSR_ITRIGGER_U_OFFSET 6ULL
1633 #define CSR_ITRIGGER_U_LENGTH 1ULL
1634 #define CSR_ITRIGGER_U 0x40ULL
1639 #define CSR_ITRIGGER_ACTION_OFFSET 0ULL
1640 #define CSR_ITRIGGER_ACTION_LENGTH 6ULL
1641 #define CSR_ITRIGGER_ACTION 0x3fULL
1645 #define CSR_ITRIGGER_ACTION_BREAKPOINT 0
1649 #define CSR_ITRIGGER_ACTION_DEBUG_MODE 1
1653 #define CSR_ITRIGGER_ACTION_TRACE_ON 2
1657 #define CSR_ITRIGGER_ACTION_TRACE_OFF 3
1661 #define CSR_ITRIGGER_ACTION_TRACE_NOTIFY 4
1665 #define CSR_ITRIGGER_ACTION_EXTERNAL0 8
1669 #define CSR_ITRIGGER_ACTION_EXTERNAL1 9
1670 #define CSR_ETRIGGER 0x7a1
1671 #define CSR_ETRIGGER_TYPE_OFFSET(XLEN) ((XLEN) + -4ULL)
1672 #define CSR_ETRIGGER_TYPE_LENGTH 4ULL
1673 #define CSR_ETRIGGER_TYPE(XLEN) (0xfULL * (1ULL << ((XLEN) + -4ULL)))
1674 #define CSR_ETRIGGER_DMODE_OFFSET(XLEN) ((XLEN) + -5ULL)
1675 #define CSR_ETRIGGER_DMODE_LENGTH 1ULL
1676 #define CSR_ETRIGGER_DMODE(XLEN) (1ULL << ((XLEN) + -5ULL))
1684 #define CSR_ETRIGGER_HIT_OFFSET(XLEN) ((XLEN) + -6ULL)
1685 #define CSR_ETRIGGER_HIT_LENGTH 1ULL
1686 #define CSR_ETRIGGER_HIT(XLEN) (1ULL << ((XLEN) + -6ULL))
1693 #define CSR_ETRIGGER_VS_OFFSET 0xcULL
1694 #define CSR_ETRIGGER_VS_LENGTH 1ULL
1695 #define CSR_ETRIGGER_VS 0x1000ULL
1702 #define CSR_ETRIGGER_VU_OFFSET 0xbULL
1703 #define CSR_ETRIGGER_VU_LENGTH 1ULL
1704 #define CSR_ETRIGGER_VU 0x800ULL
1709 #define CSR_ETRIGGER_M_OFFSET 9ULL
1710 #define CSR_ETRIGGER_M_LENGTH 1ULL
1711 #define CSR_ETRIGGER_M 0x200ULL
1718 #define CSR_ETRIGGER_S_OFFSET 7ULL
1719 #define CSR_ETRIGGER_S_LENGTH 1ULL
1720 #define CSR_ETRIGGER_S 0x80ULL
1727 #define CSR_ETRIGGER_U_OFFSET 6ULL
1728 #define CSR_ETRIGGER_U_LENGTH 1ULL
1729 #define CSR_ETRIGGER_U 0x40ULL
1734 #define CSR_ETRIGGER_ACTION_OFFSET 0ULL
1735 #define CSR_ETRIGGER_ACTION_LENGTH 6ULL
1736 #define CSR_ETRIGGER_ACTION 0x3fULL
1740 #define CSR_ETRIGGER_ACTION_BREAKPOINT 0
1744 #define CSR_ETRIGGER_ACTION_DEBUG_MODE 1
1748 #define CSR_ETRIGGER_ACTION_TRACE_ON 2
1752 #define CSR_ETRIGGER_ACTION_TRACE_OFF 3
1756 #define CSR_ETRIGGER_ACTION_TRACE_NOTIFY 4
1760 #define CSR_ETRIGGER_ACTION_EXTERNAL0 8
1764 #define CSR_ETRIGGER_ACTION_EXTERNAL1 9
1765 #define CSR_TMEXTTRIGGER 0x7a1
1766 #define CSR_TMEXTTRIGGER_TYPE_OFFSET(XLEN) ((XLEN) + -4ULL)
1767 #define CSR_TMEXTTRIGGER_TYPE_LENGTH 4ULL
1768 #define CSR_TMEXTTRIGGER_TYPE(XLEN) (0xfULL * (1ULL << ((XLEN) + -4ULL)))
1769 #define CSR_TMEXTTRIGGER_DMODE_OFFSET(XLEN) ((XLEN) + -5ULL)
1770 #define CSR_TMEXTTRIGGER_DMODE_LENGTH 1ULL
1771 #define CSR_TMEXTTRIGGER_DMODE(XLEN) (1ULL << ((XLEN) + -5ULL))
1779 #define CSR_TMEXTTRIGGER_HIT_OFFSET(XLEN) ((XLEN) + -6ULL)
1780 #define CSR_TMEXTTRIGGER_HIT_LENGTH 1ULL
1781 #define CSR_TMEXTTRIGGER_HIT(XLEN) (1ULL << ((XLEN) + -6ULL))
1786 #define CSR_TMEXTTRIGGER_INTCTL_OFFSET 0x16ULL
1787 #define CSR_TMEXTTRIGGER_INTCTL_LENGTH 1ULL
1788 #define CSR_TMEXTTRIGGER_INTCTL 0x400000ULL
1793 #define CSR_TMEXTTRIGGER_SELECT_OFFSET 6ULL
1794 #define CSR_TMEXTTRIGGER_SELECT_LENGTH 0x10ULL
1795 #define CSR_TMEXTTRIGGER_SELECT 0x3fffc0ULL
1800 #define CSR_TMEXTTRIGGER_ACTION_OFFSET 0ULL
1801 #define CSR_TMEXTTRIGGER_ACTION_LENGTH 6ULL
1802 #define CSR_TMEXTTRIGGER_ACTION 0x3fULL
1806 #define CSR_TMEXTTRIGGER_ACTION_BREAKPOINT 0
1810 #define CSR_TMEXTTRIGGER_ACTION_DEBUG_MODE 1
1814 #define CSR_TMEXTTRIGGER_ACTION_TRACE_ON 2
1818 #define CSR_TMEXTTRIGGER_ACTION_TRACE_OFF 3
1822 #define CSR_TMEXTTRIGGER_ACTION_TRACE_NOTIFY 4
1826 #define CSR_TMEXTTRIGGER_ACTION_EXTERNAL0 8
1830 #define CSR_TMEXTTRIGGER_ACTION_EXTERNAL1 9
1831 #define CSR_TEXTRA32 0x7a3
1835 #define CSR_TEXTRA32_MHVALUE_OFFSET 0x1aULL
1836 #define CSR_TEXTRA32_MHVALUE_LENGTH 6ULL
1837 #define CSR_TEXTRA32_MHVALUE 0xfc000000ULL
1838 #define CSR_TEXTRA32_MHSELECT_OFFSET 0x17ULL
1839 #define CSR_TEXTRA32_MHSELECT_LENGTH 3ULL
1840 #define CSR_TEXTRA32_MHSELECT 0x3800000ULL
1844 #define CSR_TEXTRA32_MHSELECT_IGNORE 0
1849 #define CSR_TEXTRA32_MHSELECT_MCONTEXT 4
1869 #define CSR_TEXTRA32_SBYTEMASK_OFFSET 0x12ULL
1870 #define CSR_TEXTRA32_SBYTEMASK_LENGTH 2ULL
1871 #define CSR_TEXTRA32_SBYTEMASK 0xc0000ULL
1877 #define CSR_TEXTRA32_SVALUE_OFFSET 2ULL
1878 #define CSR_TEXTRA32_SVALUE_LENGTH 0x10ULL
1879 #define CSR_TEXTRA32_SVALUE 0x3fffcULL
1880 #define CSR_TEXTRA32_SSELECT_OFFSET 0ULL
1881 #define CSR_TEXTRA32_SSELECT_LENGTH 2ULL
1882 #define CSR_TEXTRA32_SSELECT 3ULL
1886 #define CSR_TEXTRA32_SSELECT_IGNORE 0
1891 #define CSR_TEXTRA32_SSELECT_SCONTEXT 1
1903 #define CSR_TEXTRA32_SSELECT_ASID 2
1907 #define CSR_TEXTRA64 0x7a3
1908 #define CSR_TEXTRA64_MHVALUE_OFFSET 0x33ULL
1909 #define CSR_TEXTRA64_MHVALUE_LENGTH 0xdULL
1910 #define CSR_TEXTRA64_MHVALUE 0xfff8000000000000ULL
1911 #define CSR_TEXTRA64_MHSELECT_OFFSET 0x30ULL
1912 #define CSR_TEXTRA64_MHSELECT_LENGTH 3ULL
1913 #define CSR_TEXTRA64_MHSELECT 0x7000000000000ULL
1921 #define CSR_TEXTRA64_SBYTEMASK_OFFSET 0x24ULL
1922 #define CSR_TEXTRA64_SBYTEMASK_LENGTH 4ULL
1923 #define CSR_TEXTRA64_SBYTEMASK 0xf000000000ULL
1924 #define CSR_TEXTRA64_SVALUE_OFFSET 2ULL
1925 #define CSR_TEXTRA64_SVALUE_LENGTH 0x20ULL
1926 #define CSR_TEXTRA64_SVALUE 0x3fffffffcULL
1927 #define CSR_TEXTRA64_SSELECT_OFFSET 0ULL
1928 #define CSR_TEXTRA64_SSELECT_LENGTH 2ULL
1929 #define CSR_TEXTRA64_SSELECT 3ULL
1930 #define DM_DMSTATUS 0x11
1931 #define DM_DMSTATUS_NDMRESETPENDING_OFFSET 0x18ULL
1932 #define DM_DMSTATUS_NDMRESETPENDING_LENGTH 1ULL
1933 #define DM_DMSTATUS_NDMRESETPENDING 0x1000000ULL
1938 #define DM_DMSTATUS_NDMRESETPENDING_FALSE 0
1942 #define DM_DMSTATUS_NDMRESETPENDING_TRUE 1
1943 #define DM_DMSTATUS_STICKYUNAVAIL_OFFSET 0x17ULL
1944 #define DM_DMSTATUS_STICKYUNAVAIL_LENGTH 1ULL
1945 #define DM_DMSTATUS_STICKYUNAVAIL 0x800000ULL
1949 #define DM_DMSTATUS_STICKYUNAVAIL_CURRENT 0
1954 #define DM_DMSTATUS_STICKYUNAVAIL_STICKY 1
1963 #define DM_DMSTATUS_IMPEBREAK_OFFSET 0x16ULL
1964 #define DM_DMSTATUS_IMPEBREAK_LENGTH 1ULL
1965 #define DM_DMSTATUS_IMPEBREAK 0x400000ULL
1970 #define DM_DMSTATUS_ALLHAVERESET_OFFSET 0x13ULL
1971 #define DM_DMSTATUS_ALLHAVERESET_LENGTH 1ULL
1972 #define DM_DMSTATUS_ALLHAVERESET 0x80000ULL
1977 #define DM_DMSTATUS_ANYHAVERESET_OFFSET 0x12ULL
1978 #define DM_DMSTATUS_ANYHAVERESET_LENGTH 1ULL
1979 #define DM_DMSTATUS_ANYHAVERESET 0x40000ULL
1984 #define DM_DMSTATUS_ALLRESUMEACK_OFFSET 0x11ULL
1985 #define DM_DMSTATUS_ALLRESUMEACK_LENGTH 1ULL
1986 #define DM_DMSTATUS_ALLRESUMEACK 0x20000ULL
1991 #define DM_DMSTATUS_ANYRESUMEACK_OFFSET 0x10ULL
1992 #define DM_DMSTATUS_ANYRESUMEACK_LENGTH 1ULL
1993 #define DM_DMSTATUS_ANYRESUMEACK 0x10000ULL
1998 #define DM_DMSTATUS_ALLNONEXISTENT_OFFSET 0xfULL
1999 #define DM_DMSTATUS_ALLNONEXISTENT_LENGTH 1ULL
2000 #define DM_DMSTATUS_ALLNONEXISTENT 0x8000ULL
2005 #define DM_DMSTATUS_ANYNONEXISTENT_OFFSET 0xeULL
2006 #define DM_DMSTATUS_ANYNONEXISTENT_LENGTH 1ULL
2007 #define DM_DMSTATUS_ANYNONEXISTENT 0x4000ULL
2013 #define DM_DMSTATUS_ALLUNAVAIL_OFFSET 0xdULL
2014 #define DM_DMSTATUS_ALLUNAVAIL_LENGTH 1ULL
2015 #define DM_DMSTATUS_ALLUNAVAIL 0x2000ULL
2021 #define DM_DMSTATUS_ANYUNAVAIL_OFFSET 0xcULL
2022 #define DM_DMSTATUS_ANYUNAVAIL_LENGTH 1ULL
2023 #define DM_DMSTATUS_ANYUNAVAIL 0x1000ULL
2027 #define DM_DMSTATUS_ALLRUNNING_OFFSET 0xbULL
2028 #define DM_DMSTATUS_ALLRUNNING_LENGTH 1ULL
2029 #define DM_DMSTATUS_ALLRUNNING 0x800ULL
2033 #define DM_DMSTATUS_ANYRUNNING_OFFSET 0xaULL
2034 #define DM_DMSTATUS_ANYRUNNING_LENGTH 1ULL
2035 #define DM_DMSTATUS_ANYRUNNING 0x400ULL
2039 #define DM_DMSTATUS_ALLHALTED_OFFSET 9ULL
2040 #define DM_DMSTATUS_ALLHALTED_LENGTH 1ULL
2041 #define DM_DMSTATUS_ALLHALTED 0x200ULL
2045 #define DM_DMSTATUS_ANYHALTED_OFFSET 8ULL
2046 #define DM_DMSTATUS_ANYHALTED_LENGTH 1ULL
2047 #define DM_DMSTATUS_ANYHALTED 0x100ULL
2048 #define DM_DMSTATUS_AUTHENTICATED_OFFSET 7ULL
2049 #define DM_DMSTATUS_AUTHENTICATED_LENGTH 1ULL
2050 #define DM_DMSTATUS_AUTHENTICATED 0x80ULL
2054 #define DM_DMSTATUS_AUTHENTICATED_FALSE 0
2058 #define DM_DMSTATUS_AUTHENTICATED_TRUE 1
2063 #define DM_DMSTATUS_AUTHBUSY_OFFSET 6ULL
2064 #define DM_DMSTATUS_AUTHBUSY_LENGTH 1ULL
2065 #define DM_DMSTATUS_AUTHBUSY 0x40ULL
2070 #define DM_DMSTATUS_AUTHBUSY_READY 0
2075 #define DM_DMSTATUS_AUTHBUSY_BUSY 1
2085 #define DM_DMSTATUS_HASRESETHALTREQ_OFFSET 5ULL
2086 #define DM_DMSTATUS_HASRESETHALTREQ_LENGTH 1ULL
2087 #define DM_DMSTATUS_HASRESETHALTREQ 0x20ULL
2088 #define DM_DMSTATUS_CONFSTRPTRVALID_OFFSET 4ULL
2089 #define DM_DMSTATUS_CONFSTRPTRVALID_LENGTH 1ULL
2090 #define DM_DMSTATUS_CONFSTRPTRVALID 0x10ULL
2095 #define DM_DMSTATUS_CONFSTRPTRVALID_INVALID 0
2100 #define DM_DMSTATUS_CONFSTRPTRVALID_VALID 1
2101 #define DM_DMSTATUS_VERSION_OFFSET 0ULL
2102 #define DM_DMSTATUS_VERSION_LENGTH 4ULL
2103 #define DM_DMSTATUS_VERSION 0xfULL
2107 #define DM_DMSTATUS_VERSION_NONE 0
2112 #define DM_DMSTATUS_VERSION_0_11 1
2117 #define DM_DMSTATUS_VERSION_0_13 2
2122 #define DM_DMSTATUS_VERSION_1_0 3
2127 #define DM_DMSTATUS_VERSION_CUSTOM 15
2128 #define DM_DMCONTROL 0x10
2142 #define DM_DMCONTROL_HALTREQ_OFFSET 0x1fULL
2143 #define DM_DMCONTROL_HALTREQ_LENGTH 1ULL
2144 #define DM_DMCONTROL_HALTREQ 0x80000000ULL
2157 #define DM_DMCONTROL_RESUMEREQ_OFFSET 0x1eULL
2158 #define DM_DMCONTROL_RESUMEREQ_LENGTH 1ULL
2159 #define DM_DMCONTROL_RESUMEREQ 0x40000000ULL
2174 #define DM_DMCONTROL_HARTRESET_OFFSET 0x1dULL
2175 #define DM_DMCONTROL_HARTRESET_LENGTH 1ULL
2176 #define DM_DMCONTROL_HARTRESET 0x20000000ULL
2177 #define DM_DMCONTROL_ACKHAVERESET_OFFSET 0x1cULL
2178 #define DM_DMCONTROL_ACKHAVERESET_LENGTH 1ULL
2179 #define DM_DMCONTROL_ACKHAVERESET 0x10000000ULL
2183 #define DM_DMCONTROL_ACKHAVERESET_NOP 0
2187 #define DM_DMCONTROL_ACKHAVERESET_ACK 1
2194 #define DM_DMCONTROL_ACKUNAVAIL_OFFSET 0x1bULL
2195 #define DM_DMCONTROL_ACKUNAVAIL_LENGTH 1ULL
2196 #define DM_DMCONTROL_ACKUNAVAIL 0x8000000ULL
2200 #define DM_DMCONTROL_ACKUNAVAIL_NOP 0
2204 #define DM_DMCONTROL_ACKUNAVAIL_ACK 1
2211 #define DM_DMCONTROL_HASEL_OFFSET 0x1aULL
2212 #define DM_DMCONTROL_HASEL_LENGTH 1ULL
2213 #define DM_DMCONTROL_HASEL 0x4000000ULL
2217 #define DM_DMCONTROL_HASEL_SINGLE 0
2223 #define DM_DMCONTROL_HASEL_MULTIPLE 1
2234 #define DM_DMCONTROL_HARTSELLO_OFFSET 0x10ULL
2235 #define DM_DMCONTROL_HARTSELLO_LENGTH 0xaULL
2236 #define DM_DMCONTROL_HARTSELLO 0x3ff0000ULL
2241 #define DM_DMCONTROL_HARTSELHI_OFFSET 6ULL
2242 #define DM_DMCONTROL_HARTSELHI_LENGTH 0xaULL
2243 #define DM_DMCONTROL_HARTSELHI 0xffc0ULL
2251 #define DM_DMCONTROL_SETKEEPALIVE_OFFSET 5ULL
2252 #define DM_DMCONTROL_SETKEEPALIVE_LENGTH 1ULL
2253 #define DM_DMCONTROL_SETKEEPALIVE 0x20ULL
2260 #define DM_DMCONTROL_CLRKEEPALIVE_OFFSET 4ULL
2261 #define DM_DMCONTROL_CLRKEEPALIVE_LENGTH 1ULL
2262 #define DM_DMCONTROL_CLRKEEPALIVE 0x10ULL
2278 #define DM_DMCONTROL_SETRESETHALTREQ_OFFSET 3ULL
2279 #define DM_DMCONTROL_SETRESETHALTREQ_LENGTH 1ULL
2280 #define DM_DMCONTROL_SETRESETHALTREQ 8ULL
2290 #define DM_DMCONTROL_CLRRESETHALTREQ_OFFSET 2ULL
2291 #define DM_DMCONTROL_CLRRESETHALTREQ_LENGTH 1ULL
2292 #define DM_DMCONTROL_CLRRESETHALTREQ 4ULL
2302 #define DM_DMCONTROL_NDMRESET_OFFSET 1ULL
2303 #define DM_DMCONTROL_NDMRESET_LENGTH 1ULL
2304 #define DM_DMCONTROL_NDMRESET 2ULL
2315 #define DM_DMCONTROL_DMACTIVE_OFFSET 0ULL
2316 #define DM_DMCONTROL_DMACTIVE_LENGTH 1ULL
2317 #define DM_DMCONTROL_DMACTIVE 1ULL
2328 #define DM_DMCONTROL_DMACTIVE_INACTIVE 0
2332 #define DM_DMCONTROL_DMACTIVE_ACTIVE 1
2345 #define DM_HARTINFO 0x12
2352 #define DM_HARTINFO_NSCRATCH_OFFSET 0x14ULL
2353 #define DM_HARTINFO_NSCRATCH_LENGTH 4ULL
2354 #define DM_HARTINFO_NSCRATCH 0xf00000ULL
2355 #define DM_HARTINFO_DATAACCESS_OFFSET 0x10ULL
2356 #define DM_HARTINFO_DATAACCESS_LENGTH 1ULL
2357 #define DM_HARTINFO_DATAACCESS 0x10000ULL
2363 #define DM_HARTINFO_DATAACCESS_CSR 0
2368 #define DM_HARTINFO_DATAACCESS_MEMORY 1
2379 #define DM_HARTINFO_DATASIZE_OFFSET 0xcULL
2380 #define DM_HARTINFO_DATASIZE_LENGTH 4ULL
2381 #define DM_HARTINFO_DATASIZE 0xf000ULL
2391 #define DM_HARTINFO_DATAADDR_OFFSET 0ULL
2392 #define DM_HARTINFO_DATAADDR_LENGTH 0xcULL
2393 #define DM_HARTINFO_DATAADDR 0xfffULL
2394 #define DM_HAWINDOWSEL 0x14
2400 #define DM_HAWINDOWSEL_HAWINDOWSEL_OFFSET 0ULL
2401 #define DM_HAWINDOWSEL_HAWINDOWSEL_LENGTH 0xfULL
2402 #define DM_HAWINDOWSEL_HAWINDOWSEL 0x7fffULL
2403 #define DM_HAWINDOW 0x15
2404 #define DM_HAWINDOW_MASKDATA_OFFSET 0ULL
2405 #define DM_HAWINDOW_MASKDATA_LENGTH 0x20ULL
2406 #define DM_HAWINDOW_MASKDATA 0xffffffffULL
2407 #define DM_ABSTRACTCS 0x16
2411 #define DM_ABSTRACTCS_PROGBUFSIZE_OFFSET 0x18ULL
2412 #define DM_ABSTRACTCS_PROGBUFSIZE_LENGTH 5ULL
2413 #define DM_ABSTRACTCS_PROGBUFSIZE 0x1f000000ULL
2414 #define DM_ABSTRACTCS_BUSY_OFFSET 0xcULL
2415 #define DM_ABSTRACTCS_BUSY_LENGTH 1ULL
2416 #define DM_ABSTRACTCS_BUSY 0x1000ULL
2420 #define DM_ABSTRACTCS_BUSY_READY 0
2424 #define DM_ABSTRACTCS_BUSY_BUSY 1
2437 #define DM_ABSTRACTCS_RELAXEDPRIV_OFFSET 0xbULL
2438 #define DM_ABSTRACTCS_RELAXEDPRIV_LENGTH 1ULL
2439 #define DM_ABSTRACTCS_RELAXEDPRIV 0x800ULL
2443 #define DM_ABSTRACTCS_RELAXEDPRIV_FULL_CHECKS 0
2447 #define DM_ABSTRACTCS_RELAXEDPRIV_RELAXED_CHECKS 1
2455 #define DM_ABSTRACTCS_CMDERR_OFFSET 8ULL
2456 #define DM_ABSTRACTCS_CMDERR_LENGTH 3ULL
2457 #define DM_ABSTRACTCS_CMDERR 0x700ULL
2461 #define DM_ABSTRACTCS_CMDERR_NONE 0
2468 #define DM_ABSTRACTCS_CMDERR_BUSY 1
2475 #define DM_ABSTRACTCS_CMDERR_NOT_SUPPORTED 2
2480 #define DM_ABSTRACTCS_CMDERR_EXCEPTION 3
2485 #define DM_ABSTRACTCS_CMDERR_HALT_RESUME 4
2490 #define DM_ABSTRACTCS_CMDERR_BUS 5
2494 #define DM_ABSTRACTCS_CMDERR_RESERVED 6
2498 #define DM_ABSTRACTCS_CMDERR_OTHER 7
2503 #define DM_ABSTRACTCS_DATACOUNT_OFFSET 0ULL
2504 #define DM_ABSTRACTCS_DATACOUNT_LENGTH 4ULL
2505 #define DM_ABSTRACTCS_DATACOUNT 0xfULL
2506 #define DM_COMMAND 0x17
2511 #define DM_COMMAND_CMDTYPE_OFFSET 0x18ULL
2512 #define DM_COMMAND_CMDTYPE_LENGTH 8ULL
2513 #define DM_COMMAND_CMDTYPE 0xff000000ULL
2518 #define DM_COMMAND_CONTROL_OFFSET 0ULL
2519 #define DM_COMMAND_CONTROL_LENGTH 0x18ULL
2520 #define DM_COMMAND_CONTROL 0xffffffULL
2521 #define DM_ABSTRACTAUTO 0x18
2528 #define DM_ABSTRACTAUTO_AUTOEXECPROGBUF_OFFSET 0x10ULL
2529 #define DM_ABSTRACTAUTO_AUTOEXECPROGBUF_LENGTH 0x10ULL
2530 #define DM_ABSTRACTAUTO_AUTOEXECPROGBUF 0xffff0000ULL
2537 #define DM_ABSTRACTAUTO_AUTOEXECDATA_OFFSET 0ULL
2538 #define DM_ABSTRACTAUTO_AUTOEXECDATA_LENGTH 0xcULL
2539 #define DM_ABSTRACTAUTO_AUTOEXECDATA 0xfffULL
2540 #define DM_CONFSTRPTR0 0x19
2541 #define DM_CONFSTRPTR0_ADDR_OFFSET 0ULL
2542 #define DM_CONFSTRPTR0_ADDR_LENGTH 0x20ULL
2543 #define DM_CONFSTRPTR0_ADDR 0xffffffffULL
2544 #define DM_CONFSTRPTR1 0x1a
2545 #define DM_CONFSTRPTR1_ADDR_OFFSET 0ULL
2546 #define DM_CONFSTRPTR1_ADDR_LENGTH 0x20ULL
2547 #define DM_CONFSTRPTR1_ADDR 0xffffffffULL
2548 #define DM_CONFSTRPTR2 0x1b
2549 #define DM_CONFSTRPTR2_ADDR_OFFSET 0ULL
2550 #define DM_CONFSTRPTR2_ADDR_LENGTH 0x20ULL
2551 #define DM_CONFSTRPTR2_ADDR 0xffffffffULL
2552 #define DM_CONFSTRPTR3 0x1c
2553 #define DM_CONFSTRPTR3_ADDR_OFFSET 0ULL
2554 #define DM_CONFSTRPTR3_ADDR_LENGTH 0x20ULL
2555 #define DM_CONFSTRPTR3_ADDR 0xffffffffULL
2556 #define DM_NEXTDM 0x1d
2557 #define DM_NEXTDM_ADDR_OFFSET 0ULL
2558 #define DM_NEXTDM_ADDR_LENGTH 0x20ULL
2559 #define DM_NEXTDM_ADDR 0xffffffffULL
2560 #define DM_DATA0 0x04
2561 #define DM_DATA0_DATA_OFFSET 0ULL
2562 #define DM_DATA0_DATA_LENGTH 0x20ULL
2563 #define DM_DATA0_DATA 0xffffffffULL
2564 #define DM_DATA1 0x05
2565 #define DM_DATA2 0x06
2566 #define DM_DATA3 0x07
2567 #define DM_DATA4 0x08
2568 #define DM_DATA5 0x09
2569 #define DM_DATA6 0x0a
2570 #define DM_DATA7 0x0b
2571 #define DM_DATA8 0x0c
2572 #define DM_DATA9 0x0d
2573 #define DM_DATA10 0x0e
2574 #define DM_DATA11 0x0f
2575 #define DM_PROGBUF0 0x20
2576 #define DM_PROGBUF0_DATA_OFFSET 0ULL
2577 #define DM_PROGBUF0_DATA_LENGTH 0x20ULL
2578 #define DM_PROGBUF0_DATA 0xffffffffULL
2579 #define DM_PROGBUF1 0x21
2580 #define DM_PROGBUF2 0x22
2581 #define DM_PROGBUF3 0x23
2582 #define DM_PROGBUF4 0x24
2583 #define DM_PROGBUF5 0x25
2584 #define DM_PROGBUF6 0x26
2585 #define DM_PROGBUF7 0x27
2586 #define DM_PROGBUF8 0x28
2587 #define DM_PROGBUF9 0x29
2588 #define DM_PROGBUF10 0x2a
2589 #define DM_PROGBUF11 0x2b
2590 #define DM_PROGBUF12 0x2c
2591 #define DM_PROGBUF13 0x2d
2592 #define DM_PROGBUF14 0x2e
2593 #define DM_PROGBUF15 0x2f
2594 #define DM_AUTHDATA 0x30
2595 #define DM_AUTHDATA_DATA_OFFSET 0ULL
2596 #define DM_AUTHDATA_DATA_LENGTH 0x20ULL
2597 #define DM_AUTHDATA_DATA 0xffffffffULL
2598 #define DM_DMCS2 0x32
2599 #define DM_DMCS2_GROUPTYPE_OFFSET 0xbULL
2600 #define DM_DMCS2_GROUPTYPE_LENGTH 1ULL
2601 #define DM_DMCS2_GROUPTYPE 0x800ULL
2605 #define DM_DMCS2_GROUPTYPE_HALT 0
2609 #define DM_DMCS2_GROUPTYPE_RESUME 1
2616 #define DM_DMCS2_DMEXTTRIGGER_OFFSET 7ULL
2617 #define DM_DMCS2_DMEXTTRIGGER_LENGTH 4ULL
2618 #define DM_DMCS2_DMEXTTRIGGER 0x780ULL
2636 #define DM_DMCS2_GROUP_OFFSET 2ULL
2637 #define DM_DMCS2_GROUP_LENGTH 5ULL
2638 #define DM_DMCS2_GROUP 0x7cULL
2654 #define DM_DMCS2_HGWRITE_OFFSET 1ULL
2655 #define DM_DMCS2_HGWRITE_LENGTH 1ULL
2656 #define DM_DMCS2_HGWRITE 2ULL
2657 #define DM_DMCS2_HGSELECT_OFFSET 0ULL
2658 #define DM_DMCS2_HGSELECT_LENGTH 1ULL
2659 #define DM_DMCS2_HGSELECT 1ULL
2663 #define DM_DMCS2_HGSELECT_HARTS 0
2667 #define DM_DMCS2_HGSELECT_TRIGGERS 1
2671 #define DM_HALTSUM0 0x40
2672 #define DM_HALTSUM0_HALTSUM0_OFFSET 0ULL
2673 #define DM_HALTSUM0_HALTSUM0_LENGTH 0x20ULL
2674 #define DM_HALTSUM0_HALTSUM0 0xffffffffULL
2675 #define DM_HALTSUM1 0x13
2676 #define DM_HALTSUM1_HALTSUM1_OFFSET 0ULL
2677 #define DM_HALTSUM1_HALTSUM1_LENGTH 0x20ULL
2678 #define DM_HALTSUM1_HALTSUM1 0xffffffffULL
2679 #define DM_HALTSUM2 0x34
2680 #define DM_HALTSUM2_HALTSUM2_OFFSET 0ULL
2681 #define DM_HALTSUM2_HALTSUM2_LENGTH 0x20ULL
2682 #define DM_HALTSUM2_HALTSUM2 0xffffffffULL
2683 #define DM_HALTSUM3 0x35
2684 #define DM_HALTSUM3_HALTSUM3_OFFSET 0ULL
2685 #define DM_HALTSUM3_HALTSUM3_LENGTH 0x20ULL
2686 #define DM_HALTSUM3_HALTSUM3 0xffffffffULL
2687 #define DM_SBCS 0x38
2688 #define DM_SBCS_SBVERSION_OFFSET 0x1dULL
2689 #define DM_SBCS_SBVERSION_LENGTH 3ULL
2690 #define DM_SBCS_SBVERSION 0xe0000000ULL
2695 #define DM_SBCS_SBVERSION_LEGACY 0
2699 #define DM_SBCS_SBVERSION_1_0 1
2712 #define DM_SBCS_SBBUSYERROR_OFFSET 0x16ULL
2713 #define DM_SBCS_SBBUSYERROR_LENGTH 1ULL
2714 #define DM_SBCS_SBBUSYERROR 0x400000ULL
2725 #define DM_SBCS_SBBUSY_OFFSET 0x15ULL
2726 #define DM_SBCS_SBBUSY_LENGTH 1ULL
2727 #define DM_SBCS_SBBUSY 0x200000ULL
2732 #define DM_SBCS_SBREADONADDR_OFFSET 0x14ULL
2733 #define DM_SBCS_SBREADONADDR_LENGTH 1ULL
2734 #define DM_SBCS_SBREADONADDR 0x100000ULL
2738 #define DM_SBCS_SBACCESS_OFFSET 0x11ULL
2739 #define DM_SBCS_SBACCESS_LENGTH 3ULL
2740 #define DM_SBCS_SBACCESS 0xe0000ULL
2744 #define DM_SBCS_SBACCESS_8BIT 0
2748 #define DM_SBCS_SBACCESS_16BIT 1
2752 #define DM_SBCS_SBACCESS_32BIT 2
2756 #define DM_SBCS_SBACCESS_64BIT 3
2760 #define DM_SBCS_SBACCESS_128BIT 4
2769 #define DM_SBCS_SBAUTOINCREMENT_OFFSET 0x10ULL
2770 #define DM_SBCS_SBAUTOINCREMENT_LENGTH 1ULL
2771 #define DM_SBCS_SBAUTOINCREMENT 0x10000ULL
2776 #define DM_SBCS_SBREADONDATA_OFFSET 0xfULL
2777 #define DM_SBCS_SBREADONDATA_LENGTH 1ULL
2778 #define DM_SBCS_SBREADONDATA 0x8000ULL
2788 #define DM_SBCS_SBERROR_OFFSET 0xcULL
2789 #define DM_SBCS_SBERROR_LENGTH 3ULL
2790 #define DM_SBCS_SBERROR 0x7000ULL
2794 #define DM_SBCS_SBERROR_NONE 0
2798 #define DM_SBCS_SBERROR_TIMEOUT 1
2802 #define DM_SBCS_SBERROR_ADDRESS 2
2806 #define DM_SBCS_SBERROR_ALIGNMENT 3
2810 #define DM_SBCS_SBERROR_SIZE 4
2814 #define DM_SBCS_SBERROR_OTHER 7
2819 #define DM_SBCS_SBASIZE_OFFSET 5ULL
2820 #define DM_SBCS_SBASIZE_LENGTH 7ULL
2821 #define DM_SBCS_SBASIZE 0xfe0ULL
2825 #define DM_SBCS_SBACCESS128_OFFSET 4ULL
2826 #define DM_SBCS_SBACCESS128_LENGTH 1ULL
2827 #define DM_SBCS_SBACCESS128 0x10ULL
2831 #define DM_SBCS_SBACCESS64_OFFSET 3ULL
2832 #define DM_SBCS_SBACCESS64_LENGTH 1ULL
2833 #define DM_SBCS_SBACCESS64 8ULL
2837 #define DM_SBCS_SBACCESS32_OFFSET 2ULL
2838 #define DM_SBCS_SBACCESS32_LENGTH 1ULL
2839 #define DM_SBCS_SBACCESS32 4ULL
2843 #define DM_SBCS_SBACCESS16_OFFSET 1ULL
2844 #define DM_SBCS_SBACCESS16_LENGTH 1ULL
2845 #define DM_SBCS_SBACCESS16 2ULL
2849 #define DM_SBCS_SBACCESS8_OFFSET 0ULL
2850 #define DM_SBCS_SBACCESS8_LENGTH 1ULL
2851 #define DM_SBCS_SBACCESS8 1ULL
2852 #define DM_SBADDRESS0 0x39
2856 #define DM_SBADDRESS0_ADDRESS_OFFSET 0ULL
2857 #define DM_SBADDRESS0_ADDRESS_LENGTH 0x20ULL
2858 #define DM_SBADDRESS0_ADDRESS 0xffffffffULL
2859 #define DM_SBADDRESS1 0x3a
2864 #define DM_SBADDRESS1_ADDRESS_OFFSET 0ULL
2865 #define DM_SBADDRESS1_ADDRESS_LENGTH 0x20ULL
2866 #define DM_SBADDRESS1_ADDRESS 0xffffffffULL
2867 #define DM_SBADDRESS2 0x3b
2872 #define DM_SBADDRESS2_ADDRESS_OFFSET 0ULL
2873 #define DM_SBADDRESS2_ADDRESS_LENGTH 0x20ULL
2874 #define DM_SBADDRESS2_ADDRESS 0xffffffffULL
2875 #define DM_SBADDRESS3 0x37
2880 #define DM_SBADDRESS3_ADDRESS_OFFSET 0ULL
2881 #define DM_SBADDRESS3_ADDRESS_LENGTH 0x20ULL
2882 #define DM_SBADDRESS3_ADDRESS 0xffffffffULL
2883 #define DM_SBDATA0 0x3c
2887 #define DM_SBDATA0_DATA_OFFSET 0ULL
2888 #define DM_SBDATA0_DATA_LENGTH 0x20ULL
2889 #define DM_SBDATA0_DATA 0xffffffffULL
2890 #define DM_SBDATA1 0x3d
2895 #define DM_SBDATA1_DATA_OFFSET 0ULL
2896 #define DM_SBDATA1_DATA_LENGTH 0x20ULL
2897 #define DM_SBDATA1_DATA 0xffffffffULL
2898 #define DM_SBDATA2 0x3e
2903 #define DM_SBDATA2_DATA_OFFSET 0ULL
2904 #define DM_SBDATA2_DATA_LENGTH 0x20ULL
2905 #define DM_SBDATA2_DATA 0xffffffffULL
2906 #define DM_SBDATA3 0x3f
2911 #define DM_SBDATA3_DATA_OFFSET 0ULL
2912 #define DM_SBDATA3_DATA_LENGTH 0x20ULL
2913 #define DM_SBDATA3_DATA 0xffffffffULL
2914 #define DM_CUSTOM 0x1f
2915 #define DM_CUSTOM0 0x70
2916 #define DM_CUSTOM1 0x71
2917 #define DM_CUSTOM2 0x72
2918 #define DM_CUSTOM3 0x73
2919 #define DM_CUSTOM4 0x74
2920 #define DM_CUSTOM5 0x75
2921 #define DM_CUSTOM6 0x76
2922 #define DM_CUSTOM7 0x77
2923 #define DM_CUSTOM8 0x78
2924 #define DM_CUSTOM9 0x79
2925 #define DM_CUSTOM10 0x7a
2926 #define DM_CUSTOM11 0x7b
2927 #define DM_CUSTOM12 0x7c
2928 #define DM_CUSTOM13 0x7d
2929 #define DM_CUSTOM14 0x7e
2930 #define DM_CUSTOM15 0x7f
2931 #define SHORTNAME 0x123
2935 #define SHORTNAME_FIELD_OFFSET 0ULL
2936 #define SHORTNAME_FIELD_LENGTH 8ULL
2937 #define SHORTNAME_FIELD 0xffULL
2941 #define AC_ACCESS_REGISTER_CMDTYPE_OFFSET 0x18ULL
2942 #define AC_ACCESS_REGISTER_CMDTYPE_LENGTH 8ULL
2943 #define AC_ACCESS_REGISTER_CMDTYPE 0xff000000ULL
2944 #define AC_ACCESS_REGISTER_AARSIZE_OFFSET 0x14ULL
2945 #define AC_ACCESS_REGISTER_AARSIZE_LENGTH 3ULL
2946 #define AC_ACCESS_REGISTER_AARSIZE 0x700000ULL
2950 #define AC_ACCESS_REGISTER_AARSIZE_32BIT 2
2954 #define AC_ACCESS_REGISTER_AARSIZE_64BIT 3
2958 #define AC_ACCESS_REGISTER_AARSIZE_128BIT 4
2969 #define AC_ACCESS_REGISTER_AARPOSTINCREMENT_OFFSET 0x13ULL
2970 #define AC_ACCESS_REGISTER_AARPOSTINCREMENT_LENGTH 1ULL
2971 #define AC_ACCESS_REGISTER_AARPOSTINCREMENT 0x80000ULL
2975 #define AC_ACCESS_REGISTER_AARPOSTINCREMENT_DISABLED 0
2983 #define AC_ACCESS_REGISTER_AARPOSTINCREMENT_ENABLED 1
2984 #define AC_ACCESS_REGISTER_POSTEXEC_OFFSET 0x12ULL
2985 #define AC_ACCESS_REGISTER_POSTEXEC_LENGTH 1ULL
2986 #define AC_ACCESS_REGISTER_POSTEXEC 0x40000ULL
2991 #define AC_ACCESS_REGISTER_POSTEXEC_DISABLED 0
2997 #define AC_ACCESS_REGISTER_POSTEXEC_ENABLED 1
2998 #define AC_ACCESS_REGISTER_TRANSFER_OFFSET 0x11ULL
2999 #define AC_ACCESS_REGISTER_TRANSFER_LENGTH 1ULL
3000 #define AC_ACCESS_REGISTER_TRANSFER 0x20000ULL
3004 #define AC_ACCESS_REGISTER_TRANSFER_DISABLED 0
3008 #define AC_ACCESS_REGISTER_TRANSFER_ENABLED 1
3016 #define AC_ACCESS_REGISTER_WRITE_OFFSET 0x10ULL
3017 #define AC_ACCESS_REGISTER_WRITE_LENGTH 1ULL
3018 #define AC_ACCESS_REGISTER_WRITE 0x10000ULL
3023 #define AC_ACCESS_REGISTER_WRITE_ARG0 0
3028 #define AC_ACCESS_REGISTER_WRITE_REGISTER 1
3035 #define AC_ACCESS_REGISTER_REGNO_OFFSET 0ULL
3036 #define AC_ACCESS_REGISTER_REGNO_LENGTH 0x10ULL
3037 #define AC_ACCESS_REGISTER_REGNO 0xffffULL
3041 #define AC_QUICK_ACCESS_CMDTYPE_OFFSET 0x18ULL
3042 #define AC_QUICK_ACCESS_CMDTYPE_LENGTH 8ULL
3043 #define AC_QUICK_ACCESS_CMDTYPE 0xff000000ULL
3047 #define AC_ACCESS_MEMORY_CMDTYPE_OFFSET 0x18ULL
3048 #define AC_ACCESS_MEMORY_CMDTYPE_LENGTH 8ULL
3049 #define AC_ACCESS_MEMORY_CMDTYPE 0xff000000ULL
3055 #define AC_ACCESS_MEMORY_AAMVIRTUAL_OFFSET 0x17ULL
3056 #define AC_ACCESS_MEMORY_AAMVIRTUAL_LENGTH 1ULL
3057 #define AC_ACCESS_MEMORY_AAMVIRTUAL 0x800000ULL
3061 #define AC_ACCESS_MEMORY_AAMVIRTUAL_PHYSICAL 0
3066 #define AC_ACCESS_MEMORY_AAMVIRTUAL_VIRTUAL 1
3072 #define AC_ACCESS_MEMORY_AAMSIZE_OFFSET 0x14ULL
3073 #define AC_ACCESS_MEMORY_AAMSIZE_LENGTH 3ULL
3074 #define AC_ACCESS_MEMORY_AAMSIZE 0x700000ULL
3078 #define AC_ACCESS_MEMORY_AAMSIZE_8BIT 0
3082 #define AC_ACCESS_MEMORY_AAMSIZE_16BIT 1
3086 #define AC_ACCESS_MEMORY_AAMSIZE_32BIT 2
3090 #define AC_ACCESS_MEMORY_AAMSIZE_64BIT 3
3094 #define AC_ACCESS_MEMORY_AAMSIZE_128BIT 4
3103 #define AC_ACCESS_MEMORY_AAMPOSTINCREMENT_OFFSET 0x13ULL
3104 #define AC_ACCESS_MEMORY_AAMPOSTINCREMENT_LENGTH 1ULL
3105 #define AC_ACCESS_MEMORY_AAMPOSTINCREMENT 0x80000ULL
3106 #define AC_ACCESS_MEMORY_WRITE_OFFSET 0x10ULL
3107 #define AC_ACCESS_MEMORY_WRITE_LENGTH 1ULL
3108 #define AC_ACCESS_MEMORY_WRITE 0x10000ULL
3114 #define AC_ACCESS_MEMORY_WRITE_ARG0 0
3119 #define AC_ACCESS_MEMORY_WRITE_MEMORY 1
3123 #define AC_ACCESS_MEMORY_TARGET_SPECIFIC_OFFSET 0xeULL
3124 #define AC_ACCESS_MEMORY_TARGET_SPECIFIC_LENGTH 2ULL
3125 #define AC_ACCESS_MEMORY_TARGET_SPECIFIC 0xc000ULL
3126 #define VIRT_PRIV virtual
3134 #define VIRT_PRIV_V_OFFSET 2ULL
3135 #define VIRT_PRIV_V_LENGTH 1ULL
3136 #define VIRT_PRIV_V 4ULL
3143 #define VIRT_PRIV_PRV_OFFSET 0ULL
3144 #define VIRT_PRIV_PRV_LENGTH 2ULL
3145 #define VIRT_PRIV_PRV 3ULL
struct riscv_debug_reg_info get_riscv_debug_reg_info(enum riscv_debug_reg_ordinal reg_ordinal)
@ DM_ABSTRACTAUTO_ORDINAL
@ CSR_TMEXTTRIGGER_ORDINAL
@ AC_ACCESS_MEMORY_ORDINAL
@ AC_QUICK_ACCESS_ORDINAL
@ AC_ACCESS_REGISTER_ORDINAL
struct riscv_debug_reg_ctx::@122 DXLEN
struct riscv_debug_reg_ctx::@123 XLEN
struct riscv_debug_reg_ctx::@124 abits
struct riscv_debug_reg_field_info field
struct riscv_debug_reg_field_list(* get_next)(struct riscv_debug_reg_ctx context)
struct riscv_debug_reg_field_list(*const get_fields_head)(struct riscv_debug_reg_ctx context)