mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2025-09-21 05:14:38 -04:00
Introduce new bit to mark ROM as non-executable
This is dynamically set by hw in system_mode_ctrl. ROM will reset to executable, but will be marked as non-executable as soon as we are no longer executing in ROM, like system_mode. ROM will be marked as executable again, if function calls are made to either `syscall_addr_reg` or `blake2s_addr_reg`. Set reset value of `blake2s_addr_reg` to an illegal address, halting the CPU if it is called unset. The blake2s function is 4-byte aligned, to ensure the cpu_addr is is aligned with the address in the register. Co-authored-by: Mikael Ågren <mikael@tillitis.se>
This commit is contained in:
parent
9062b49804
commit
690bb53267
2 changed files with 81 additions and 38 deletions
|
@ -332,7 +332,7 @@ void blake2s_final(blake2s_ctx *ctx, void *out)
|
|||
//------------------------------------------------------------------
|
||||
// Convenience function for all-in-one computation.
|
||||
//------------------------------------------------------------------
|
||||
int blake2s(void *out, size_t outlen,
|
||||
int __attribute__((aligned(4))) blake2s(void *out, size_t outlen,
|
||||
const void *key, size_t keylen,
|
||||
const void *in, size_t inlen,
|
||||
blake2s_ctx *ctx)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue