From 0d05926e3e627e6c9f81ecb9a4798dd0d6385407 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Mon, 6 Apr 2026 15:29:32 -0700 Subject: [PATCH] Convert ssamoswap load traps to store traps The difference can manifest when checking triggers. --- riscv/mmu.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/riscv/mmu.h b/riscv/mmu.h index ee8ebd15..f1fac1be 100644 --- a/riscv/mmu.h +++ b/riscv/mmu.h @@ -196,10 +196,12 @@ public: // for shadow stack amoswap template T ssamoswap(reg_t addr, reg_t value) { + convert_load_traps_to_store_traps({ store_slow_path(addr, sizeof(T), nullptr, {.ss_access=true}, false, true); auto data = load(addr, {.ss_access=true}); store(addr, value, {.ss_access=true}); return data; + }) } template