diff options
| -rw-r--r-- | cheri/cheri_prelude_common.sail | 5 | ||||
| -rw-r--r-- | mips/mips_wrappers.sail | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/cheri/cheri_prelude_common.sail b/cheri/cheri_prelude_common.sail index 89fd99bf..63af1021 100644 --- a/cheri/cheri_prelude_common.sail +++ b/cheri/cheri_prelude_common.sail @@ -261,9 +261,10 @@ function (bit[64]) align((bit[64]) addr, (nat) alignment) = addr - remainder function unit effect {wmem} MEMw_wrapper(addr, size, data) = + let ledata = reverse_endianness(data) in if (addr == 0x000000007f000000) then { - UART_WDATA := data[7..0]; + UART_WDATA := ledata[7..0]; UART_WRITTEN := 1; } else @@ -273,7 +274,7 @@ function unit effect {wmem} MEMw_wrapper(addr, size, data) = should probably be done in memory model. *) TAGw(align(addr, cap_size), 0x00); MEMea(addr,size); - MEMval(addr, size, reverse_endianness(data)); + MEMval(addr, size, ledata); } function bool effect {wmem} MEMw_conditional_wrapper(addr, size, data) = diff --git a/mips/mips_wrappers.sail b/mips/mips_wrappers.sail index f43b9939..02131204 100644 --- a/mips/mips_wrappers.sail +++ b/mips/mips_wrappers.sail @@ -36,13 +36,14 @@ (mostly identity functions here) *) function unit effect {wmem} MEMw_wrapper(addr, size, data) = + let ledata = reverse_endianness(data) in if (addr == 0x000000007f000000) then { - UART_WDATA := data[7..0]; + UART_WDATA := ledata[7..0]; UART_WRITTEN := 1; } else { MEMea(addr, size); - MEMval(addr, size, reverse_endianness(data)); + MEMval(addr, size, ledata); } function bool effect {wmem} MEMw_conditional_wrapper(addr, size, data) = |
