From 9ebb4b712e1d6c97a999652d0b9105847eabd134 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Fri, 16 Dec 2022 22:20:01 -0600 Subject: Implement mode privilege checks in MMU --- rtl/core/psr.sv | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'rtl/core/psr.sv') diff --git a/rtl/core/psr.sv b/rtl/core/psr.sv index c1fe0fd..41982c0 100644 --- a/rtl/core/psr.sv +++ b/rtl/core/psr.sv @@ -17,7 +17,8 @@ module core_psr output psr_intmask mask, output psr_mode mode, output word cpsr_rd, - spsr_rd + spsr_rd, + output logic privileged ); typedef struct packed @@ -54,6 +55,7 @@ module core_psr assign wr_word = psr_wr; assign cpsr_rd = cpsr_word; assign spsr_rd = spsr_word; + assign privileged = |mode[3:0]; // Not user assign {wr_state.flags, wr_state.mask, wr_state.mode} = {wr_word.nzcv, wr_word.if_, wr_word.m}; `ifdef VERILATOR -- cgit v1.2.3