TermiNexus
|
dcb7c5c2c0
|
chore(ViperOS): 落库内核侧进行中的改动(26 文件,+1573/-1805)
内容由用户产出,本次仅代为提交、未做任何语义修改;含 static 修饰符前置迁移等(新增 static 前缀 16 行)。提交消息为中性描述——如需更精确的说明请 amend。
|
2026-09-28 15:24:52 +08:00 |
|
TermiNexus
|
2a54e2bafb
|
清理了 t.CVoid
|
2026-09-16 16:07:04 +08:00 |
|
TermiNexus
|
6a54373c26
|
fix(vkernel): 补 ISR/调度 call 的 rsi/rdi clobber、rep stosb 内存 clobber,修 mm 别名笔误
N8 paging.vp:AllocPage 的 rep stosb 写 4096B 补 CLOBBER_MEMORY,避免优化器
重排/消除其前后的内存读写
N9 coroutine.vp / sched.vp:_coro_entry/_thread_entry 的 call rax 补
CLOBBER_RSI/CLOBBER_RDI(RSP 由 sub rsp,8 / add rsp,8 配对抵消,无需声明)
N15 process.vp:mm_mm.malloc/free → mm.malloc/free(该文件只有 import mm.mm as mm)
N16 elf.vp:读 RAX 的 c.Asm 补 CLOBBER_RAX([DIAG] 探针)
N20 elf.vp / idt.vp(12 处):外部 ELF 入口 / ISR handler 的 call 补
CLOBBER_RSI/CLOBBER_RDI(被调方破坏全部 caller-saved 寄存器)
|
2026-09-11 17:40:21 +08:00 |
|
TermiNexus
|
a518f75b24
|
chore(vkernel): 重置基线 — 纳入 TPV codegen 修复配合的内核侧调整与既有工作区内容
- devfs.vp: string.split 传 PATH_BUFFER_SIZE(配合 split 新增容量参数)
- fat32_types.vp: lfn_extract 越界钳制(base+i > MAX_LFN 返回 -1)
- sheet.vp: gfx.Renderer 实参修正为 (fb, zb, w, h)(原单参导致 w/h=0 渲染空操作)
- 同批包含 VKernel 其余既有移植改动与 vpsdk/Apps/Libs 工作区内容
|
2026-09-11 14:27:01 +08:00 |
|
TermiNexus
|
cd1cc915c5
|
修正了build.py,重置基线
|
2026-09-11 10:34:34 +08:00 |
|
TermiNexus
|
2a03330a9d
|
fix(kernel): 分裂 2MB 大页使 .rodata 真正只读,加页表与格式串校验诊断并禁用 App 自动启动
|
2026-08-30 07:27:45 +08:00 |
|
TermiNexus
|
efa99a8c4b
|
fix(kernel): [STK] 用户态 rbp 跳过链回溯(防嵌套 #PF 死循环)
用户进程异常时 rbp=0x7fffff...(用户栈),链回溯读 [rbp+8] 触发嵌套 #PF 无限循环(rsp 递减耗尽)。fr0>=0x80000000 时跳过链回溯。
|
2026-08-29 18:14:48 +08:00 |
|
TermiNexus
|
3a3d026f95
|
fix(debug): _fault_rax 改为 ISR 入口最早保存(避免被读 CS 覆盖)
ISR_ERR/NOERR 入口 mov rax,[rsp+16] 读 CS 已覆盖崩溃 rax,且内核路径 xor rax 后再 push——_fault_rax 恒 0。改为入口第一条 mov [_fault_rax],rax,删除 push 后冗余覆盖。
|
2026-08-29 18:06:03 +08:00 |
|
TermiNexus
|
25af08ecf4
|
debug(kernel): 保存并打印崩溃时 RAX(验证 cr2=rax-偏移 关系)
[STK] 显示崩溃帧 rbp=0x7d640 正常,但 cr2=0x0 需 rax=0x6f0——矛盾待解。isr.s 新增 _fault_rax,异常打印 [RAX] 行确认崩溃时 rax 真实值。
|
2026-08-29 18:00:13 +08:00 |
|
TermiNexus
|
084061f97e
|
debug(kernel): [STK] rbp 链回溯扩展到所有异常(含 #UD int 6)
本次崩溃为 int=6 rip=0x7bada(执行流跳栈地址),走 [EX] 分支未打印链。统一 [PF]/[EX] 均输出 [STK] rbp 链。
|
2026-08-29 17:53:40 +08:00 |
|
TermiNexus
|
a85f826adf
|
debug(kernel): #PF 打印 rbp 链回溯(崩溃帧 + 4 级返回地址)
devfs_directory.find 崩溃(cr2=0x0 写 NULL,rax=rsp=0x6f0 异常)说明调用链栈已被破坏。isr.s 新增 _fault_rbp 保存异常现场 rbp,idt.vp [PF] 分支打印 [STK] 链定位栈损坏源。
|
2026-08-29 17:50:32 +08:00 |
|
TermiNexus
|
b887d3d9c2
|
更新,部分功能可用
|
2026-08-27 09:47:47 +08:00 |
|
TermiNexus
|
4296d2a19e
|
fix(asm-inline): cmos_read 裸 in/out al 补 CLOBBER_RAX + 显式 mov;rdmsr out 绑定与 clobber 冲突(lo/hi 读不到 EAX/EDX)改显式 mov——同类 EAX 破坏根因,残留间歇性数据损坏源
|
2026-08-27 01:33:19 +08:00 |
|
TermiNexus
|
cdee5e0e87
|
debug(idt): 非 #GP/#PF 异常打印 rip/rsp,定位 tid=1 #UD 执行位置
|
2026-08-26 22:22:56 +08:00 |
|
TermiNexus
|
ff802c2eed
|
debug(intr): #GP 打印 CR0/CR4
movaps 地址 0x7d780 16 对齐仍 #GP——需确认 SSE 是否真启用(CR4.OSFXSR bit9)
与 CR0.EM(bit2)。若 OSFXSR=0 则 enable_sse 未生效(可能是 stub 解析问题)。
|
2026-08-26 19:40:13 +08:00 |
|
TermiNexus
|
4ff48efde9
|
debug(intr): #GP/#PF 打印 faulting RSP
memmap 修复后栈写 #PF 消失,但 sched started 后出现 [GP] rip=0x134e1b
err=0x0——0x134e1b 是 serial.printf(变参)序言的 movaps(SSE 对齐存储),
说明调用方 RSP 未对齐。isr.s 新增 _fault_rsp 捕获(ISR_ERR 宏保存 faulting
RSP),idt.vp #GP/#PF 打印 rsp=0x%lx,定位 RSP 偏差来源。
|
2026-08-26 19:34:01 +08:00 |
|
TermiNexus
|
f675540c64
|
chore(boot): 移除全部中断排查诊断(int20 测试 + T/[T]/D 打印)
定时中断已确认恢复(APIC LINT0=EXTINT)。移除 int 0x20 软件触发测试与
isr32_handler 'T'、timer_handler '[T]'、isr_default 'D' 打印,回归干净
内核,定位 sti 后新出现的 #GP(疑似 int 0x20 测试触发)。
|
2026-08-26 18:19:41 +08:00 |
|
TermiNexus
|
10857e58ed
|
debug(intr): isr32_handler 入口打印 T + isr_default 打印 D,定位定时中断丢失
前一轮 timer_handler [T] 未打印 → timer_handler 未被调用。本轮加两处
确定性诊断:isr32_handler 入口 'T'(IRQ0 是否到达 isr32)、isr_default
'D'(是否有中断向量到默认处理)。三种结果:
- 无输出 → 定时中断根本没触发(PIC/PIT/APIC 路由问题)
- D 输出 → 中断触发但向量到默认处理(IDT gate 未设置)
- T 输出 → IRQ0 到达 isr32(问题在 handler 内)
用后移除。
|
2026-08-26 18:11:47 +08:00 |
|
TermiNexus
|
20e7289c61
|
将 .py 和 .pyi 后缀名改为了 .vp 和 .vpi 后缀名
|
2026-07-30 16:34:26 +08:00 |
|
Viper
|
6813947181
|
Initial import of ViperOS
|
2026-07-19 12:38:20 +08:00 |
|