-
我的刀队 authored
主要变更: - LoongArch内核启动框架 (start_la.S, entry_la.S, vm_la.c) - TLB refill异常处理 (tlbrefill_la.S, trap_la.c kerneltrap TLBR handler) - PTE格式修正: LA_PTE_G@bit6, MAT@bit4, NX@bit62, PTE2PA mask 0x0000FFFFFFFFF000 - TLBIDX PS shift修正 (bit24), TLBRELO转换: PTE->TLB硬件格式 - DMW0覆盖VSEG=0xF (KERNBASE), 移除DMW1避免kalloc冲突 - RAMDISK_BASE移至PHYSTOP-8MB, combined.img加载 - usys.pl适配LoongArch syscall, user_la.ld用户链接脚本 - arch.h替代riscv.h供用户态使用 - kerneltrap TLBR handler: page walk + TLBRELO转换 + invtlb + tlbfill - volatile修复tlb_lo0/tlb_lo1编译器优化导致的CSR写零问题 - tlb_search_and_check验证helper, ISTLBR控制尝试 - CSR诊断输出 (TLBRERA/ESTAT/TLBEHI readback) 当前状态: TLBR #1 (ext2/fat32 mount)通过, TLBR #2+ (TRAMPOLINE va=3ffffff0b0) 无限循环 - tlbfill后tlbsrch未命中, 需继续排查QEMU TLB search逻辑
c7c4aec8