@@ -327,7 +327,7 @@ impl<'a, K: AESKeySize> Saes<'a, K> {
327327 buf[ ..slice. len ( ) ] . copy_from_slice ( slice) ;
328328
329329 for chunk in buf. chunks_exact ( 4 ) {
330- let word = u32:: from_le_bytes ( chunk. try_into ( ) . unwrap ( ) ) ;
330+ let word = u32:: from_be_bytes ( chunk. try_into ( ) . unwrap ( ) ) ;
331331 self . registers . dinr . set ( word) ;
332332 }
333333 }
@@ -365,6 +365,9 @@ impl<'a, K: AESKeySize> Saes<'a, K> {
365365 self . registers . cr . modify ( CR :: EN :: SET ) ;
366366 }
367367 self . write_input ( ctx) ;
368+ debug ! ( "wrote input" ) ;
369+ debug ! ( "CR: {:02x?}" , self . registers. cr. get( ) ) ;
370+ debug ! ( "SR: {:02x?}" , self . registers. sr. get( ) ) ;
368371 }
369372
370373 fn start_key_wrapping ( & self , ctx : CryptoContext , key_id : KeyID ) {
@@ -441,6 +444,9 @@ impl<'a, K: AESKeySize> Saes<'a, K> {
441444 }
442445
443446 pub fn handle_interrupt ( & self ) {
447+ debug ! ( "INTERRUPT" ) ;
448+ debug ! ( "CR: {:02x?}" , self . registers. cr. get( ) ) ;
449+ debug ! ( "SR: {:02x?}" , self . registers. sr. get( ) ) ;
444450 if self . registers . isr . is_set ( ISR :: CCF ) {
445451 debug ! ( "CCF" ) ;
446452 self . registers . icr . write ( ICR :: CCF :: SET ) ;
@@ -471,6 +477,7 @@ impl<'a, K: AESKeySize> kernel::hil::symmetric_encryption::AES<'a, K> for Saes<'
471477 self . registers . cr . modify ( CR :: DATATYPE :: Byte ) ;
472478 self . state . set ( State :: Idle ) ;
473479 self . enable_interrupts ( ) ;
480+ debug ! ( "ENABLE" ) ;
474481 debug ! ( "CR: {:02x?}" , self . registers. cr. get( ) ) ;
475482 debug ! ( "SR: {:02x?}" , self . registers. sr. get( ) ) ;
476483 }
@@ -487,6 +494,9 @@ impl<'a, K: AESKeySize> kernel::hil::symmetric_encryption::AES<'a, K> for Saes<'
487494 }
488495
489496 fn set_key ( & self , key : AESKey ) -> Result < ( ) , ErrorCode > {
497+ debug ! ( "KEY" ) ;
498+ debug ! ( "CR: {:02x?}" , self . registers. cr. get( ) ) ;
499+ debug ! ( "SR: {:02x?}" , self . registers. sr. get( ) ) ;
490500 if self . registers . cr . any_matching_bits_set ( CR :: EN :: SET )
491501 || self . registers . sr . any_matching_bits_set ( SR :: BUSY :: SET )
492502 {
@@ -532,6 +542,9 @@ impl<'a, K: AESKeySize> kernel::hil::symmetric_encryption::AES<'a, K> for Saes<'
532542 }
533543
534544 fn set_iv ( & self , iv : & [ u8 ] ) -> Result < ( ) , ErrorCode > {
545+ debug ! ( "IV" ) ;
546+ debug ! ( "CR: {:02x?}" , self . registers. cr. get( ) ) ;
547+ debug ! ( "SR: {:02x?}" , self . registers. sr. get( ) ) ;
535548 if iv. len ( ) != AES_IV_SIZE {
536549 return Err ( ErrorCode :: INVAL ) ;
537550 }
@@ -565,6 +578,9 @@ impl<'a, K: AESKeySize> kernel::hil::symmetric_encryption::AES<'a, K> for Saes<'
565578 Option < & ' static mut [ u8 ] > ,
566579 & ' static mut [ u8 ] ,
567580 ) > {
581+ debug ! ( "CRYPT" ) ;
582+ debug ! ( "CR: {:02x?}" , self . registers. cr. get( ) ) ;
583+ debug ! ( "SR: {:02x?}" , self . registers. sr. get( ) ) ;
568584 let state = self . state . get ( ) ;
569585
570586 // Hardware busy check
0 commit comments