Changes

157 bytes added ,  13:50, 5 January 2019
no edit summary
Line 1,740: Line 1,740:  
== Authenticated Mode ==
 
== Authenticated Mode ==
 
===== Entry =====
 
===== Entry =====
From non-secure mode, upon jumping to a page marked as secret, a secret fault occurs. This causes the CPU to verify the region specified in $cauth against the MAC loaded in $c6. If the comparison is successful, $pc is set to the base of the $cauth region. If the comparsion fails, the CPU is halted.
+
From non-secure mode, upon jumping to a page marked as secret, a secret fault occurs. This causes the CPU to verify the region specified in $cauth against the MAC loaded in $c6. If the comparison is successful, the valid bit (bit0) is set on all pages in the $cauth region, and $pc is set to the base of the $cauth region. If the comparsion fails, the CPU is halted.
    
===== Exit =====
 
===== Exit =====
The CPU automatically goes back to non-secure mode when returning back into non-secret pages.
+
The CPU automatically goes back to non-secure mode when returning back into non-secret pages. When this happens, the valid bit (bit0) in the TLB flags is cleared for all secret pages.
    
== Crypto processing ==
 
== Crypto processing ==