22 static constexpr u8 kBit15Pos = 31U;
23 static constexpr u8 kBit0Pos = 16U;
24 static constexpr u32 kMsk = BitMask<kBit15Pos, kBit0Pos>();
27 static constexpr u8 kDivByZeroBitPos = 9U + RegisterOffsets::kUsageFaultOffset;
28 static constexpr u32 kDivByZeroMsk = 1U << kDivByZeroBitPos;
31 static constexpr u8 kUnalignedBitPos = 8U + RegisterOffsets::kUsageFaultOffset;
32 static constexpr u32 kUnalignedMsk = 1U << kUnalignedBitPos;
35 static constexpr u8 kNoCpBitPos = 3U + RegisterOffsets::kUsageFaultOffset;
36 static constexpr u32 kNoCpMsk = 1U << kNoCpBitPos;
39 static constexpr u8 kInvPcBitPos = 2U + RegisterOffsets::kUsageFaultOffset;
40 static constexpr u32 kInvPcMsk = 1U << kInvPcBitPos;
43 static constexpr u8 kInvStateBitPos = 1U + RegisterOffsets::kUsageFaultOffset;
44 static constexpr u32 kInvStateMsk = 1U << kInvStateBitPos;
47 static constexpr u8 kUndefInstrBitPos = 0U + RegisterOffsets::kUsageFaultOffset;
48 static constexpr u32 kUndefInstrMsk = 1U << kUndefInstrBitPos;
53 static constexpr u8 kBit7Pos = 15U;
54 static constexpr u8 kBit0Pos = 8U;
55 static constexpr u32 kMsk = BitMask<kBit7Pos, kBit0Pos>();
58 static constexpr u8 kBfarValidBitPos = 7U + RegisterOffsets::kBusFaultOffset;
59 static constexpr u32 kBfarValidMsk = 1U << kBfarValidBitPos;
62 static constexpr u8 kLsperrBitPos = 5U + RegisterOffsets::kBusFaultOffset;
63 static constexpr u32 kLsperrMsk = 1U << kLsperrBitPos;
66 static constexpr u8 kStkerrBitPos = 4U + RegisterOffsets::kBusFaultOffset;
67 static constexpr u32 kStkerrMsk = 1U << kStkerrBitPos;
70 static constexpr u8 kUnstkerrBitPos = 3U + RegisterOffsets::kBusFaultOffset;
71 static constexpr u32 kUnstkerrMsk = 1U << kUnstkerrBitPos;
74 static constexpr u8 kImpreciseErrBitPos = 2U + RegisterOffsets::kBusFaultOffset;
75 static constexpr u32 kImpreciseErrMsk = 1U << kImpreciseErrBitPos;
78 static constexpr u8 kPreciseErrBitPos = 1U + RegisterOffsets::kBusFaultOffset;
79 static constexpr u32 kPreciseErrMsk = 1U << kPreciseErrBitPos;
82 static constexpr u8 kIbuErrBitPos = 0U + RegisterOffsets::kBusFaultOffset;
83 static constexpr u32 kIbuErrMsk = 1U << kIbuErrBitPos;
88 static constexpr u8 kBit7Pos = 7U;
89 static constexpr u8 kBit0Pos = 0U;
90 static constexpr u32 kMsk = BitMask<kBit7Pos, kBit0Pos>();
93 static constexpr u8 kMmarValidBitPos = 7U;
94 static constexpr u32 kMmarValidMsk = 1U << kMmarValidBitPos;
97 static constexpr u8 kLsperrBitPos = 5U;
98 static constexpr u32 kLsperrMsk = 1U << kLsperrBitPos;
101 static constexpr u8 kStkerrBitPos = 4U;
102 static constexpr u32 kStkerrMsk = 1U << kStkerrBitPos;
105 static constexpr u8 kUnstkerrBitPos = 3U;
106 static constexpr u32 kUnstkerrMsk = 1U << kUnstkerrBitPos;
109 static constexpr u8 kDaccViolBitPos = 1U;
110 static constexpr u32 kDaccViolMsk = 1U << kDaccViolBitPos;
113 static constexpr u8 kIaccViolBitPos = 0U;
114 static constexpr u32 kIaccViolMsk = 1U << kIaccViolBitPos;
119 static constexpr u8 kCsrEnablePos = 0U;
120 static constexpr u32 kCsrEnableMsk = 1U << kCsrEnablePos;
122 static constexpr u8 kCsrTickIntPos = 1U;
123 static constexpr u32 kCsrTickIntMsk = 1U << kCsrTickIntPos;
125 static constexpr u8 kCsrClockSourcePos = 2U;
126 static constexpr u32 kCsrClockSourceMsk = 1U << kCsrClockSourcePos;
128 static constexpr u8 kCsrCountFlagPos = 16U;
129 static constexpr u32 kCsrCountFlagMsk = 1U << kCsrCountFlagPos;
132 static constexpr u8 kRvrReloadPos = 0U;
133 static constexpr u32 kRvrReloadMsk = 0x00FFFFFFU << kRvrReloadPos;
136 static constexpr u8 kCvrCurrentPos = 0U;
137 static constexpr u32 kCvrCurrentMsk = 0x00FFFFFFU << kCvrCurrentPos;
140 static constexpr u8 kCalibNoRefPos = 31U;
141 static constexpr u32 kCalibNoRefMsk = 1U << kCalibNoRefPos;
143 static constexpr u8 kCalibSkewPos = 30U;
144 static constexpr u32 kCalibSkewMsk = 1U << kCalibSkewPos;
146 static constexpr u8 kCalibTenMsPos = 0U;
147 static constexpr u32 kCalibTenMsMsk = 0x00FFFFFFU << kCalibTenMsPos;
152 static constexpr u8 kStkAlignPos = 9U;
153 static constexpr u32 kStkAlignMsk = 1U << kStkAlignPos;
155 static constexpr u8 kNonBaseThreadEnablePos = 0U;
156 static constexpr u32 kNonBaseThreadEnableMsk =
157 1U << kNonBaseThreadEnablePos;
159 static constexpr u8 kUserSettablePendSvPos = 1U;
160 static constexpr u32 kUserSettablePendSvMsk =
161 1U << kUserSettablePendSvPos;
163 static constexpr u8 kUnalignTrapEnablePos = 3U;
164 static constexpr u32 kUnalignTrapEnableMsk =
165 1U << kUnalignTrapEnablePos;
167 static constexpr u8 kDivByZeroTrapEnablePos = 4U;
168 static constexpr u32 kDivByZeroTrapEnableMsk =
169 1U << kDivByZeroTrapEnablePos;
171 static constexpr u8 kMainStackAlignPos = 9U;
172 static constexpr u32 kMainStackAlignMsk = 1U << kMainStackAlignPos;
174 static constexpr u8 kIgnoreLsbOnDataPos = 10U;
175 static constexpr u32 kIgnoreLsbOnDataMsk =
176 1U << kIgnoreLsbOnDataPos;
178 static constexpr u8 kBranchPredictionEnablePos = 18U;
179 static constexpr u32 kBranchPredictionEnableMsk =
180 1U << kBranchPredictionEnablePos;
182 static constexpr u8 kL1CacheEnablePos = 19U;
183 static constexpr u32 kL1CacheEnableMsk = 1U << kL1CacheEnablePos;
224 static constexpr u8 kItBit7Pos = 7U;
225 static constexpr u8 kItBit4Pos = 4U;
226 static constexpr u8 kItBit3Pos = 3U;
227 static constexpr u8 kItBit2Pos = 2U;
228 static constexpr u8 kItBit1Pos = 1U;
229 static constexpr u8 kItBit0Pos = 0U;
232 static constexpr u32 kItBit1to0Msk = BitMask<kItBit1Pos, kItBit0Pos>();
233 static constexpr u32 kItBit2to0Msk = BitMask<kItBit2Pos, kItBit0Pos>();
234 static constexpr u32 kItBit3to0Msk = BitMask<kItBit3Pos, kItBit0Pos>();
235 static constexpr u32 kItBit3to1Msk = BitMask<kItBit3Pos, kItBit1Pos>();
236 static constexpr u32 kItBit4to0Msk = BitMask<kItBit4Pos, kItBit0Pos>();
237 static constexpr u32 kItBit7to2Msk = BitMask<kItBit7Pos, kItBit2Pos>();
238 static constexpr u32 kItBit7to4Msk = BitMask<kItBit7Pos, kItBit4Pos>();
241 static constexpr u32 kItMsk = BitMask<kItBit7Pos, kItBit0Pos>();
256 static constexpr u8 kTPos = 0U;
257 static constexpr u8 kExecModePos = 1U;
258 static constexpr u8 kControlNPrivPos = 2U;
259 static constexpr u8 kControlSpSelPos = 3U;
260 static constexpr u8 kControlFpcaPos = 4U;
263 static constexpr u32 kTMsk = 1U << kTPos;
264 static constexpr u32 kExecModeMsk = 1U << kExecModePos;
265 static constexpr u32 kExecModeThread = 0U << kExecModePos;
266 static constexpr u32 kExecModeHandler = 1U << kExecModePos;
268 static constexpr u32 kControlSpSelMsk = 1U << kControlSpSelPos;
269 static constexpr u32 kControlNPrivMsk = 1U << kControlNPrivPos;
270 static constexpr u32 kControlFpcaMsk = 1U << kControlFpcaPos;
275 static constexpr u8 kNPrivPos = 0U;
276 static constexpr u8 kSpselPos = 1U;
277 static constexpr u8 kFpcaPos = 2U;
280 static constexpr u32 kNPrivMsk = 1U << kNPrivPos;
281 static constexpr u32 kSpselMsk = 1U << kSpselPos;
282 static constexpr u32 kFpcaMsk = 1U << kFpcaPos;
285 static constexpr u32 kControlBit1toBit0Msk = BitMask<kSpselPos, kNPrivPos>();
286 static constexpr u32 kControlBit2toBit0Msk = BitMask<kFpcaPos, kNPrivPos>();