孙浩宇 commented on issue #4 at NameNotFound / OSKernel2026-NameNotFound

孙浩宇
2026-04-05T06:50:43Z

补充：entry.S 中分页相关代码已注释

在 #3 (closed) 的实现中（commit 2f4f1fb0），entry.S 启动汇编注释掉了以下分页相关代码：

# li.w $t0, 0xb0 # PLV=0, IE=0, PG=1
# csrwr $t0, 0x0 # LOONGARCH_CSR_CRMD
# li.w $t0, 0x00 # PLV=0, PIE=0, PWE=0
# csrwr $t0, 0x1 # LOONGARCH_CSR_PRMD
# li.w $t0, 0x00 # FPE=0, SXE=0, ASXE=0, BTE=0
# csrwr $t0, 0x2 # LOONGARCH_CSR_EUEN

这些代码来自 rCoreLoongArch 项目，用于启用分页模式（CRMD.PG=1），但在当前阶段直接启用会导致跑飞（因为还没有配置好页表和 TLB 重填处理）。

在本 issue 中需要处理

实现异常入口后，配置 TLB 重填异常处理程序

与 #5 协调：先建好页表，再在适当时机启用 PG=1

配置 CRMD/PRMD/EUEN 寄存器的正确时序

参考 entry.S 中的注释："在这里开分页会跑飞，等后面设置好页表后再开"