TSEC: Difference between revisions
No edit summary |
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 == |