@@ -16,6 +16,7 @@ use num_enum::TryFromPrimitive;
16
16
/// SDT (the end of the Creator Revision at offset 36).
17
17
mod offsets {
18
18
use super :: * ;
19
+
19
20
/// 32-bit physical address at which each processor can access its
20
21
/// local APIC.
21
22
pub const LOCAL_INT_CTRL_ADDR : Range < usize > = 0 ..4 ;
@@ -80,10 +81,9 @@ impl IcsType {
80
81
if length == self . expected_len ( ) as usize - 2 {
81
82
Ok ( ( ) )
82
83
} else {
83
- Err ( Error :: InvalidValue ( format ! (
84
- "Invalid length={} for type=0x{:x}" ,
85
- * self as u8 , length
86
- ) ) )
84
+ error ! ( "Invalid length={} for type=0x{:x}" ,
85
+ * self as u8 , length) ;
86
+ Err ( Error :: InvalidValue )
87
87
}
88
88
}
89
89
}
@@ -254,16 +254,17 @@ impl Ics {
254
254
) ,
255
255
apic_proc_uid : NativeEndian :: read_u32 ( & bytes[ 10 ..14 ] ) ,
256
256
} ) ,
257
- _ => Err ( Error :: NotImplemented ( format ! (
258
- "type=0x{:x} length={} not implemented" ,
259
- ty as u8 ,
260
- bytes. len( )
261
- ) ) ) ,
257
+ _ => {
258
+ error ! ( "type=0x{:x} length={} not implemented" ,
259
+ ty as u8 ,
260
+ bytes. len( ) ) ;
261
+ Err ( Error :: NotImplemented )
262
+ }
262
263
}
263
264
}
264
265
265
266
/// Encode into the byte sequence
266
- pub fn encode < T : Array < Item = u8 > > (
267
+ pub fn encode < T : Array < Item = u8 > > (
267
268
& self ,
268
269
buffer : & mut ArrayVec < T > ,
269
270
) -> Result < ( ) > {
@@ -294,10 +295,9 @@ impl Ics {
294
295
NativeEndian :: write_u32 ( & mut tmp_buf[ 8 ..12 ] , gsi_base) ;
295
296
}
296
297
_ => {
297
- return Err ( Error :: NotImplemented ( format ! (
298
- "The ICS Type {:?} has not been implemented" ,
299
- self . ics_type( )
300
- ) ) )
298
+ error ! ( "The ICS Type {:?} has not been implemented" ,
299
+ self . ics_type( ) ) ;
300
+ return Err ( Error :: NotImplemented ) ;
301
301
}
302
302
}
303
303
buffer. try_extend_from_slice (
@@ -393,26 +393,23 @@ impl<'a> Iterator for IcsIterator<'a> {
393
393
let ty = match IcsType :: try_from ( self . bytes [ 0 ] ) {
394
394
Ok ( ty) => ty,
395
395
_ => {
396
- return Some ( Err ( Error :: InvalidValue ( format ! (
397
- "Invalid ICS type: {}" ,
398
- self . bytes[ 0 ]
399
- ) ) ) ) ;
396
+ error ! ( "Invalid ICS type: {}" ,
397
+ self . bytes[ 0 ] ) ;
398
+ return Some ( Err ( Error :: InvalidValue ) ) ;
400
399
}
401
400
} ;
402
401
let len = self . bytes [ 1 ] as usize ;
403
402
404
403
if len > self . bytes . len ( ) {
405
- return Some ( Err ( Error :: InvalidValue ( format ! (
406
- "Payload for type=0x{:x} and len={} to big for buffer len={}" ,
407
- ty as u8 ,
408
- len,
409
- self . bytes. len( )
410
- ) ) ) ) ;
404
+ error ! ( "Payload for type=0x{:x} and len={} to big for buffer len={}" ,
405
+ ty as u8 ,
406
+ len,
407
+ self . bytes. len( ) ) ;
408
+ return Some ( Err ( Error :: InvalidValue ) ) ;
411
409
} else if len < 3 {
412
- return Some ( Err ( Error :: InvalidValue ( format ! (
413
- "length `{}` provided is too small" ,
414
- len,
415
- ) ) ) ) ;
410
+ error ! ( "length `{}` provided is too small" ,
411
+ len) ;
412
+ return Some ( Err ( Error :: InvalidValue ) ) ;
416
413
}
417
414
418
415
let bytes = & self . bytes [ 2 ..len] ;
@@ -437,7 +434,7 @@ pub struct MADTBuilder<T: Array> {
437
434
structures : ArrayVec < T > ,
438
435
}
439
436
440
- impl < T : Array < Item = Ics > > MADTBuilder < T > {
437
+ impl < T : Array < Item = Ics > > MADTBuilder < T > {
441
438
/// Create a new builder for the MADT SDT.
442
439
pub fn new ( ) -> MADTBuilder < T > {
443
440
MADTBuilder {
@@ -465,8 +462,8 @@ impl<T: Array<Item = Ics>> MADTBuilder<T> {
465
462
}
466
463
467
464
impl < U > SDTBuilder for MADTBuilder < U >
468
- where
469
- U : Array < Item = Ics > ,
465
+ where
466
+ U : Array < Item = Ics > ,
470
467
{
471
468
const SIGNATURE : [ u8 ; 4 ] = [ b'A' , b'P' , b'I' , b'C' ] ;
472
469
@@ -475,7 +472,7 @@ where
475
472
5u8
476
473
}
477
474
478
- fn encode_table < T : Array < Item = u8 > > (
475
+ fn encode_table < T : Array < Item = u8 > > (
479
476
& mut self ,
480
477
buffer : & mut ArrayVec < T > ,
481
478
) -> Result < ( ) > {
0 commit comments