summaryrefslogtreecommitdiff
path: root/src/kernel/trap/trap.S
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-07-10 11:31:46 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-07-10 11:31:46 +0800
commite90b72ec3082588b296956730bd2930cf8d5d671 (patch)
tree36ff6916af9b4176ea5a9662219d11e721f0b691 /src/kernel/trap/trap.S
parent1767d390fbf3d0c65389de46caf0b6d43ef3b6ad (diff)
downloadlume-e90b72ec3082588b296956730bd2930cf8d5d671.tar.gz
lume-e90b72ec3082588b296956730bd2930cf8d5d671.tar.xz
refactor: promote new architecture to repository root
Archive the deprecated implementation under lume-legacy, make the new kernel the default root-level build, and update repository entry points without changing kernel behavior.
Diffstat (limited to 'src/kernel/trap/trap.S')
-rw-r--r--src/kernel/trap/trap.S90
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