@@ -186,84 +186,15 @@ impl<P: Plic> CTX<P> {
186
186
187
187
#[ cfg( test) ]
188
188
pub ( crate ) mod test {
189
- use riscv_pac:: { result:: Error , HartIdNumber , InterruptNumber , PriorityNumber } ;
190
-
191
- #[ derive( Clone , Copy , Debug , Eq , PartialEq ) ]
192
- #[ riscv:: pac_enum( unsafe ExternalInterruptNumber ) ]
193
- pub ( crate ) enum Interrupt {
194
- I1 = 1 ,
195
- I2 = 2 ,
196
- I3 = 3 ,
197
- I4 = 4 ,
198
- }
199
-
200
- #[ derive( Clone , Copy , Debug , Eq , PartialEq ) ]
201
- #[ riscv:: pac_enum( unsafe PriorityNumber ) ]
202
- pub ( crate ) enum Priority {
203
- P0 = 0 ,
204
- P1 = 1 ,
205
- P2 = 2 ,
206
- P3 = 3 ,
207
- }
208
-
209
- #[ derive( Clone , Copy , Debug , Eq , PartialEq ) ]
210
- #[ riscv:: pac_enum( unsafe HartIdNumber ) ]
211
- pub ( crate ) enum Context {
212
- C0 = 0 ,
213
- C1 = 1 ,
214
- C2 = 2 ,
215
- }
216
-
217
- #[ test]
218
- fn check_interrupt_enum ( ) {
219
- assert_eq ! ( Interrupt :: I1 . number( ) , 1 ) ;
220
- assert_eq ! ( Interrupt :: I2 . number( ) , 2 ) ;
221
- assert_eq ! ( Interrupt :: I3 . number( ) , 3 ) ;
222
- assert_eq ! ( Interrupt :: I4 . number( ) , 4 ) ;
223
-
224
- assert_eq ! ( Interrupt :: from_number( 1 ) , Ok ( Interrupt :: I1 ) ) ;
225
- assert_eq ! ( Interrupt :: from_number( 2 ) , Ok ( Interrupt :: I2 ) ) ;
226
- assert_eq ! ( Interrupt :: from_number( 3 ) , Ok ( Interrupt :: I3 ) ) ;
227
- assert_eq ! ( Interrupt :: from_number( 4 ) , Ok ( Interrupt :: I4 ) ) ;
228
-
229
- assert_eq ! ( Interrupt :: from_number( 0 ) , Err ( Error :: InvalidVariant ( 0 ) ) , ) ;
230
- assert_eq ! ( Interrupt :: from_number( 5 ) , Err ( Error :: InvalidVariant ( 5 ) ) , ) ;
231
- }
232
-
233
- #[ test]
234
- fn check_priority_enum ( ) {
235
- assert_eq ! ( Priority :: P0 . number( ) , 0 ) ;
236
- assert_eq ! ( Priority :: P1 . number( ) , 1 ) ;
237
- assert_eq ! ( Priority :: P2 . number( ) , 2 ) ;
238
- assert_eq ! ( Priority :: P3 . number( ) , 3 ) ;
239
-
240
- assert_eq ! ( Priority :: from_number( 0 ) , Ok ( Priority :: P0 ) ) ;
241
- assert_eq ! ( Priority :: from_number( 1 ) , Ok ( Priority :: P1 ) ) ;
242
- assert_eq ! ( Priority :: from_number( 2 ) , Ok ( Priority :: P2 ) ) ;
243
- assert_eq ! ( Priority :: from_number( 3 ) , Ok ( Priority :: P3 ) ) ;
244
-
245
- assert_eq ! ( Priority :: from_number( 4 ) , Err ( Error :: InvalidVariant ( 4 ) ) , ) ;
246
- }
247
-
248
- #[ test]
249
- fn check_context_enum ( ) {
250
- assert_eq ! ( Context :: C0 . number( ) , 0 ) ;
251
- assert_eq ! ( Context :: C1 . number( ) , 1 ) ;
252
- assert_eq ! ( Context :: C2 . number( ) , 2 ) ;
253
-
254
- assert_eq ! ( Context :: from_number( 0 ) , Ok ( Context :: C0 ) ) ;
255
- assert_eq ! ( Context :: from_number( 1 ) , Ok ( Context :: C1 ) ) ;
256
- assert_eq ! ( Context :: from_number( 2 ) , Ok ( Context :: C2 ) ) ;
257
-
258
- assert_eq ! ( Context :: from_number( 3 ) , Err ( Error :: InvalidVariant ( 3 ) ) , ) ;
259
- }
189
+ use crate :: test:: HartId ;
190
+ use riscv_pac:: HartIdNumber ;
260
191
261
192
#[ allow( dead_code) ]
262
193
#[ test]
263
194
fn check_plic ( ) {
264
195
crate :: plic_codegen!(
265
196
base 0x0C00_0000 ,
266
- harts [ Context :: C0 => 0 , Context :: C1 => 1 , Context :: C2 => 2 ] ,
197
+ harts [ HartId :: H0 => 0 , HartId :: H1 => 1 , HartId :: H2 => 2 ] ,
267
198
) ;
268
199
269
200
let plic = PLIC :: new ( ) ;
@@ -273,10 +204,10 @@ pub(crate) mod test {
273
204
assert_eq ! ( priorities. address( ) , 0x0C00_0000 ) ;
274
205
assert_eq ! ( pendings. address( ) , 0x0C00_1000 ) ;
275
206
276
- for i in 0 ..=Context :: MAX_HART_ID_NUMBER {
277
- let context = Context :: from_number ( i) . unwrap ( ) ;
207
+ for i in 0 ..=HartId :: MAX_HART_ID_NUMBER {
208
+ let hart_id = HartId :: from_number ( i) . unwrap ( ) ;
278
209
279
- let ctx = plic. ctx ( context ) ;
210
+ let ctx = plic. ctx ( hart_id ) ;
280
211
281
212
assert_eq ! ( ctx. enables( ) . address( ) , 0x0C00_0000 + 0x2000 + i * 0x80 ) ;
282
213
assert_eq ! (
@@ -289,8 +220,8 @@ pub(crate) mod test {
289
220
) ;
290
221
}
291
222
292
- assert_eq ! ( plic. ctx0( ) , plic. ctx( Context :: C0 ) ) ;
293
- assert_eq ! ( plic. ctx1( ) , plic. ctx( Context :: C1 ) ) ;
294
- assert_eq ! ( plic. ctx2( ) , plic. ctx( Context :: C2 ) ) ;
223
+ assert_eq ! ( plic. ctx0( ) , plic. ctx( HartId :: H0 ) ) ;
224
+ assert_eq ! ( plic. ctx1( ) , plic. ctx( HartId :: H1 ) ) ;
225
+ assert_eq ! ( plic. ctx2( ) , plic. ctx( HartId :: H2 ) ) ;
295
226
}
296
227
}
0 commit comments