summaryrefslogtreecommitdiff
path: root/rtl/core/cp15/far.sv
diff options
context:
space:
mode:
Diffstat (limited to 'rtl/core/cp15/far.sv')
-rw-r--r--rtl/core/cp15/far.sv5
1 files changed, 5 insertions, 0 deletions
diff --git a/rtl/core/cp15/far.sv b/rtl/core/cp15/far.sv
index b90dc0f..3d86151 100644
--- a/rtl/core/cp15/far.sv
+++ b/rtl/core/cp15/far.sv
@@ -11,6 +11,9 @@ module core_cp15_far
input cp_opcode op2,
input word write,
+ input logic fault_register,
+ input ptr fault_addr,
+
output word read
);
@@ -21,6 +24,8 @@ module core_cp15_far
always @(posedge clk or negedge rst_n)
if(!rst_n)
far <= 0;
+ else if(fault_register)
+ far <= {fault_addr, 2'b00};
else if(transfer && !load)
far <= write;