From 7272e3f9bc7ce1b397db74bd120e0aeb56a6e872 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Tue, 19 Jul 2016 17:35:51 -0700 Subject: Handle misaligned loads in ascending order of byte address --- machine/misaligned_ldst.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machine/misaligned_ldst.c b/machine/misaligned_ldst.c index 2225ea1..dd56f7f 100644 --- a/machine/misaligned_ldst.c +++ b/machine/misaligned_ldst.c @@ -39,7 +39,7 @@ void misaligned_load_trap(uintptr_t* regs, uintptr_t mcause, uintptr_t mepc) return truly_illegal_insn(regs, mcause, mepc, mstatus, insn); val.int64 = 0; - for (intptr_t i = len-1; i >= 0; i--) + for (intptr_t i = 0; i < len; i++) val.bytes[i] = load_uint8_t((void *)(addr + i), mepc); if (!fp) -- cgit v1.1