mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2025-11-25 01:53:21 -05:00
PoC: Remove low privilege syscall
This commit is contained in:
parent
ecdbb25013
commit
7f34f5db91
4 changed files with 16 additions and 63 deletions
|
|
@ -54,14 +54,12 @@ module application_fpga (
|
|||
localparam UART_PREFIX = 6'h03;
|
||||
localparam TOUCH_SENSE_PREFIX = 6'h04;
|
||||
localparam FW_RAM_PREFIX = 6'h10;
|
||||
localparam IRQ30_PREFIX = 6'h20;
|
||||
localparam IRQ31_PREFIX = 6'h21;
|
||||
localparam TK1_PREFIX = 6'h3f;
|
||||
|
||||
// Instruction used to cause a trap.
|
||||
localparam ILLEGAL_INSTRUCTION = 32'h0;
|
||||
|
||||
localparam IRQ30_IRQ_MASK = 2 ** 30;
|
||||
localparam IRQ31_IRQ_MASK = 2 ** 31;
|
||||
|
||||
//----------------------------------------------------------------
|
||||
|
|
@ -143,10 +141,6 @@ module application_fpga (
|
|||
wire [31 : 0] touch_sense_read_data;
|
||||
wire touch_sense_ready;
|
||||
|
||||
reg irq30_cs;
|
||||
reg irq30_we;
|
||||
reg irq30_eoi;
|
||||
|
||||
reg irq31_cs;
|
||||
reg irq31_we;
|
||||
reg irq31_eoi;
|
||||
|
|
@ -187,8 +181,8 @@ module application_fpga (
|
|||
.ENABLE_IRQ (1),
|
||||
.ENABLE_IRQ_QREGS(0),
|
||||
.ENABLE_IRQ_TIMER(0),
|
||||
.MASKED_IRQ (~(IRQ31_IRQ_MASK | IRQ30_IRQ_MASK)),
|
||||
.LATCHED_IRQ (IRQ31_IRQ_MASK | IRQ30_IRQ_MASK)
|
||||
.MASKED_IRQ (~IRQ31_IRQ_MASK),
|
||||
.LATCHED_IRQ (IRQ31_IRQ_MASK)
|
||||
) cpu (
|
||||
.clk(clk),
|
||||
.resetn(reset_n),
|
||||
|
|
@ -368,8 +362,7 @@ module application_fpga (
|
|||
.gpio3(app_gpio3),
|
||||
.gpio4(app_gpio4),
|
||||
|
||||
.access_level_hi (irq31_eoi),
|
||||
.access_level_med(irq30_eoi),
|
||||
.access_level_hi(irq31_eoi),
|
||||
|
||||
.fw_ram_en(fw_ram_en),
|
||||
|
||||
|
|
@ -405,14 +398,11 @@ module application_fpga (
|
|||
//----------------------------------------------------------------
|
||||
always @* begin : irq_ctrl
|
||||
reg irq31_set;
|
||||
reg irq30_set;
|
||||
|
||||
irq31_set = irq31_cs & irq31_we;
|
||||
irq30_set = irq30_cs & irq30_we;
|
||||
cpu_irq = {irq31_set, irq30_set, 30'h0};
|
||||
cpu_irq = {irq31_set, 31'h0};
|
||||
|
||||
irq31_eoi = cpu_eoi[31];
|
||||
irq30_eoi = cpu_eoi[30];
|
||||
end
|
||||
|
||||
|
||||
|
|
@ -465,9 +455,6 @@ module application_fpga (
|
|||
touch_sense_we = |cpu_wstrb;
|
||||
touch_sense_address = cpu_addr[9 : 2];
|
||||
|
||||
irq30_cs = 1'h0;
|
||||
irq30_we = |cpu_wstrb;
|
||||
|
||||
irq31_cs = 1'h0;
|
||||
irq31_we = |cpu_wstrb;
|
||||
|
||||
|
|
@ -543,11 +530,6 @@ module application_fpga (
|
|||
muxed_ready_new = fw_ram_ready;
|
||||
end
|
||||
|
||||
IRQ30_PREFIX: begin
|
||||
irq30_cs = 1'h1;
|
||||
muxed_ready_new = 1'h1;
|
||||
end
|
||||
|
||||
IRQ31_PREFIX: begin
|
||||
irq31_cs = 1'h1;
|
||||
muxed_ready_new = 1'h1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue