mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2025-10-17 07:50:48 -04:00
PoC: Make sensitive assets only readable/writable before system_mode is set
After the first time system_mode is set to one, the assets will no longer be read- or writeable, even if system_mode is set to zero at a later syscall. This is to make sure syscalls does not have the same privilege as the firmware has at first boot. We need to monitor when system_mode is set to one, otherwise we might accedentially lock the assets before actually leaving firmware, for example if firmware would use a function set in any of the registers used in system_mode_ctrl. Co-authored-by: Mikael Ågren <mikael@tillitis.se>
This commit is contained in:
parent
eacfd6eddc
commit
833bf63bc8
5 changed files with 44 additions and 24 deletions
|
@ -154,7 +154,7 @@ module application_fpga (
|
|||
reg [31 : 0] tk1_write_data;
|
||||
wire [31 : 0] tk1_read_data;
|
||||
wire tk1_ready;
|
||||
wire system_mode;
|
||||
wire rw_locked;
|
||||
wire force_trap;
|
||||
wire [14 : 0] ram_addr_rand;
|
||||
wire [31 : 0] ram_data_rand;
|
||||
|
@ -256,7 +256,6 @@ module application_fpga (
|
|||
.reset_n(reset_n),
|
||||
|
||||
.en(fw_ram_en),
|
||||
|
||||
.cs(fw_ram_cs),
|
||||
.we(fw_ram_we),
|
||||
.address(fw_ram_address),
|
||||
|
@ -295,7 +294,7 @@ module application_fpga (
|
|||
.clk(clk),
|
||||
.reset_n(reset_n),
|
||||
|
||||
.system_mode(system_mode),
|
||||
.en(~rw_locked),
|
||||
|
||||
.cs(uds_cs),
|
||||
.address(uds_address),
|
||||
|
@ -341,7 +340,7 @@ module application_fpga (
|
|||
.clk(clk),
|
||||
.reset_n(reset_n),
|
||||
|
||||
.system_mode(system_mode),
|
||||
.rw_locked(rw_locked),
|
||||
|
||||
.cpu_addr (cpu_addr),
|
||||
.cpu_instr (cpu_instr),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue