diff options
-rw-r--r-- | bsps/riscv/riscv/start/start.S | 6 | ||||
-rw-r--r-- | cpukit/score/cpu/riscv/riscv-context-switch.S | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/bsps/riscv/riscv/start/start.S b/bsps/riscv/riscv/start/start.S index 3674a4bdb5..58bc57dc12 100644 --- a/bsps/riscv/riscv/start/start.S +++ b/bsps/riscv/riscv/start/start.S @@ -46,6 +46,12 @@ PUBLIC(_start) TYPE_FUNC(_start) SYM(_start): + /* Load global pointer */ + .option push + .option norelax + la gp, __global_pointer$ + .option pop + la t0, ISR_Handler csrw mtvec, t0 diff --git a/cpukit/score/cpu/riscv/riscv-context-switch.S b/cpukit/score/cpu/riscv/riscv-context-switch.S index 448a5991a0..705cd77175 100644 --- a/cpukit/score/cpu/riscv/riscv-context-switch.S +++ b/cpukit/score/cpu/riscv/riscv-context-switch.S @@ -51,7 +51,6 @@ SYM(_CPU_Context_switch): SREG x1, (1 * CPU_SIZEOF_POINTER)(a0) SREG x2, (2 * CPU_SIZEOF_POINTER)(a0) - SREG x3, (3 * CPU_SIZEOF_POINTER)(a0) SREG x4, (4 * CPU_SIZEOF_POINTER)(a0) SREG x5, (5 * CPU_SIZEOF_POINTER)(a0) SREG x6, (6 * CPU_SIZEOF_POINTER)(a0) @@ -85,7 +84,6 @@ SYM(_CPU_Context_switch): LREG x1, (1 * CPU_SIZEOF_POINTER)(a1) LREG x2, (2 * CPU_SIZEOF_POINTER)(a1) - LREG x3, (3 * CPU_SIZEOF_POINTER)(a1) LREG x4, (4 * CPU_SIZEOF_POINTER)(a1) LREG x5, (5 * CPU_SIZEOF_POINTER)(a1) LREG x6, (6 * CPU_SIZEOF_POINTER)(a1) |