summaryrefslogtreecommitdiff
path: root/mips/mips_wrappers.sail
diff options
context:
space:
mode:
Diffstat (limited to 'mips/mips_wrappers.sail')
-rw-r--r--mips/mips_wrappers.sail10
1 files changed, 9 insertions, 1 deletions
diff --git a/mips/mips_wrappers.sail b/mips/mips_wrappers.sail
index e8b17a29..03d03cec 100644
--- a/mips/mips_wrappers.sail
+++ b/mips/mips_wrappers.sail
@@ -35,7 +35,15 @@
(* mips_wrappers.sail: wrappers functions and hooks for CHERI extensibility
(mostly identity functions here) *)
-function unit effect {wmem} MEMw_wrapper(addr, size, data) = MEMw(addr, size, data)
+function unit effect {wmem} MEMw_wrapper(addr, size, data) =
+ if (addr == 0x000000007f000000) then
+ {
+ UART_WDATA := data[31..24];
+ UART_WRITTEN := 1;
+ }
+ else
+ MEMw(addr, size, data)
+
function bool effect {wmem} MEMw_conditional_wrapper(addr, size, data) =
MEMw_conditional(addr, size, data)