From adecf626f023ee974e502703bdd024aceb9c7678 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Tue, 20 Dec 2016 15:46:12 -0800 Subject: Avoid jal to weak symbols The symbol may be overridden and end up out of range of JAL. --- bsp/env/entry.S | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'bsp/env/entry.S') diff --git a/bsp/env/entry.S b/bsp/env/entry.S index cbf26eb..b433628 100644 --- a/bsp/env/entry.S +++ b/bsp/env/entry.S @@ -46,7 +46,7 @@ trap_entry: csrr a0, mcause csrr a1, mepc mv a2, sp - jal handle_trap + call handle_trap csrw mepc, a0 # Remain in M-mode after mret @@ -90,6 +90,7 @@ trap_entry: .weak handle_trap handle_trap: - j handle_trap +1: + j 1b #endif -- cgit v1.2.3 From b1f048f991e7d743e46be9c48c73d00a843f400c Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Wed, 21 Dec 2016 11:09:10 -0800 Subject: Keep mtvec 4-byte aligned --- bsp/env/entry.S | 1 + 1 file changed, 1 insertion(+) (limited to 'bsp/env/entry.S') diff --git a/bsp/env/entry.S b/bsp/env/entry.S index b433628..1f5de24 100644 --- a/bsp/env/entry.S +++ b/bsp/env/entry.S @@ -7,6 +7,7 @@ #include "sifive/bits.h" .section .text.entry + .align 2 .global trap_entry trap_entry: addi sp, sp, -32*REGBYTES -- cgit v1.2.3