TSEC: Difference between revisions
No edit summary |
|||
Line 5,253: | Line 5,253: | ||
| 0x18 || [[#sigclr|sigclr]] || N/A || N/A || <code><nowiki>current_sig = NULL;</nowiki></code> || <code><nowiki>has_sig</nowiki></code> || <code><nowiki>has_sig = false;</nowiki></code> | | 0x18 || [[#sigclr|sigclr]] || N/A || N/A || <code><nowiki>current_sig = NULL;</nowiki></code> || <code><nowiki>has_sig</nowiki></code> || <code><nowiki>has_sig = false;</nowiki></code> | ||
|} | |} | ||
==== rnd ==== | ==== rnd ==== | ||
Line 5,281: | Line 5,266: | ||
Otherwise it hangs forever. | Otherwise it hangs forever. | ||
==== chmod ==== | |||
<code>00000000: f5 3c XY a8 cchmod $cY 0X</code> or <code>00000000: f5 3c XY a9 cchmod $cY 1X</code> | |||
This instruction takes a crypto register and a 5 bit immediate value which represents the [[#ACLs|ACLs]] mask to set. | |||
==== sigcmp ==== | |||
<code>00000000: f5 3c XY d8 csigcmp $cY $cX</code> | |||
Takes 2 crypto registers as operands and is automatically executed when jumping to a code region previously uploaded as secret. This instruction does not work in secure mode. | |||
==== sigclr ==== | |||
<code>00000000: f5 3c 00 e0 csigclr</code> | |||
This instruction takes no operands and clears the saved cauth signature used by the csigenc instruction. | |||
=== ACLs === | === ACLs === |