tillitis-key/hw/application_fpga/fw/tk1
Daniel Jobson 690bb53267
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>
2024-12-09 09:36:57 +01:00
..
blake2s Introduce new bit to mark ROM as non-executable 2024-12-09 09:36:57 +01:00
assert.c fw: Remove unused header includes 2024-03-26 13:09:06 +01:00
assert.h fw: clang-tidy and splint: New make target: check 2023-03-22 11:05:32 +01:00
firmware.lds fw: load app at the start of RAM 2023-03-14 10:25:03 +01:00
led.c fw: Remove unusued forever_redflash() 2024-03-18 16:19:59 +01:00
led.h fw: Remove unusued forever_redflash() 2024-03-18 16:19:59 +01:00
lib.c fw: remove warning of missing prototypes when building with QEMU console 2024-09-19 16:52:04 +02:00
lib.h fw: remove warning of missing prototypes when building with QEMU console 2024-09-19 16:52:04 +02:00
main.c Add needed changes to firmware for simulation. 2024-11-28 16:10:00 +01:00
Makefile fw: Move LED defines and function to own files 2023-03-14 10:25:01 +01:00
proto.c fw: Fix erroneous type in frame header 2024-10-09 15:52:00 +02:00
proto.h fw: Fix erroneous type in frame header 2024-10-09 15:52:00 +02:00
start.S fw: zeroise FW-RAM instead of RAM 2024-06-12 18:11:10 +02:00
state.h fw: Simplify logic 2023-03-14 11:31:47 +01:00
types.h fw: Introduce an explicit state machine - changes protocol! 2022-11-28 16:17:19 +01:00