QEMU is now stricter with MMIO sizes and accesses. uintptr_t on RV64 is 8 bytes and generates an sd instruction that Store/AMO faults because sifive_test MMIO expects 4 bytes accesses. --- bsps/riscv/riscv/start/bsp_fatal_halt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bsps/riscv/riscv/start/bsp_fatal_halt.c b/bsps/riscv/riscv/start/bsp_fatal_halt.c index af9e2ac7c6..348fa4f8f4 100644 --- a/bsps/riscv/riscv/start/bsp_fatal_halt.c +++ b/bsps/riscv/riscv/start/bsp_fatal_halt.c @@ -35,7 +35,7 @@ void _CPU_Fatal_halt(uint32_t source, uint32_t error) { const char *fdt; int node; - volatile uintptr_t *sifive_test; + volatile uint32_t *sifive_test; #if RISCV_ENABLE_HTIF_SUPPORT != 0 htif_poweroff(); -- 2.25.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel