Separate page faults from physical memory access exceptions
[riscv-isa-sim.git] / riscv / mmu.h
index 936545735ebe6cc83dd899d5c7735b89b0b69879..66454bed09ebd8f5a010f5c80623eebd108f6701 100644 (file)
@@ -115,6 +115,9 @@ public:
         auto lhs = load_##type(addr); \
         store_##type(addr, f(lhs)); \
         return lhs; \
+      } catch (trap_load_page_fault& t) { \
+        /* AMO faults should be reported as store faults */ \
+        throw trap_store_page_fault(t.get_badaddr()); \
       } catch (trap_load_access_fault& t) { \
         /* AMO faults should be reported as store faults */ \
         throw trap_store_access_fault(t.get_badaddr()); \