diff options
Diffstat (limited to 'src/kernel/trap/trap.S')
| -rw-r--r-- | src/kernel/trap/trap.S | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/kernel/trap/trap.S b/src/kernel/trap/trap.S deleted file mode 100644 index 8bce53d..0000000 --- a/src/kernel/trap/trap.S +++ /dev/null @@ -1,90 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2026 Richard Qin - -.section .text -.global kernelvec -.global uservec -.global userret -.align 12 - -kernelvec: - addi sp, sp, -288 - - sd ra, 40(sp) - sd sp, 48(sp) - sd gp, 56(sp) - sd tp, 64(sp) - sd t0, 72(sp) - sd t1, 80(sp) - sd t2, 88(sp) - sd s0, 96(sp) - sd s1, 104(sp) - sd a0, 112(sp) - sd a1, 120(sp) - sd a2, 128(sp) - sd a3, 136(sp) - sd a4, 144(sp) - sd a5, 152(sp) - sd a6, 160(sp) - sd a7, 168(sp) - sd s2, 176(sp) - sd s3, 184(sp) - sd s4, 192(sp) - sd s5, 200(sp) - sd s6, 208(sp) - sd s7, 216(sp) - sd s8, 224(sp) - sd s9, 232(sp) - sd s10, 240(sp) - sd s11, 248(sp) - sd t3, 256(sp) - sd t4, 264(sp) - sd t5, 272(sp) - sd t6, 280(sp) - - csrr t0, sepc - csrr t1, sstatus - sd t0, 24(sp) # Trapframe.epc - sd t1, 32(sp) # Trapframe.kernel_hartid - - mv a0, sp - call kerneltrap - - ld t0, 24(sp) - ld t1, 32(sp) - csrw sepc, t0 - csrw sstatus, t1 - - ld ra, 40(sp) - ld gp, 56(sp) - ld tp, 64(sp) - ld t0, 72(sp) - ld t1, 80(sp) - ld t2, 88(sp) - ld s0, 96(sp) - ld s1, 104(sp) - ld a0, 112(sp) - ld a1, 120(sp) - ld a2, 128(sp) - ld a3, 136(sp) - ld a4, 144(sp) - ld a5, 152(sp) - ld a6, 160(sp) - ld a7, 168(sp) - ld s2, 176(sp) - ld s3, 184(sp) - ld s4, 192(sp) - ld s5, 200(sp) - ld s6, 208(sp) - ld s7, 216(sp) - ld s8, 224(sp) - ld s9, 232(sp) - ld s10, 240(sp) - ld s11, 248(sp) - ld t3, 256(sp) - ld t4, 264(sp) - ld t5, 272(sp) - ld t6, 280(sp) - - addi sp, sp, 288 - sret
\ No newline at end of file |
