TermiNexus
|
b887d3d9c2
|
更新,部分功能可用
|
2026-08-27 09:47:47 +08:00 |
|
TermiNexus
|
f963fb16ad
|
debug(fat32): sfn_from_lfn 打印 dot_pos/i/ext_i 与生成的 sfn——Hello 生成 HELLO 空格(缺扩展名),定位 for-in 遍历/扩展名写入间歇性失败
|
2026-08-27 01:30:02 +08:00 |
|
TermiNexus
|
e49c74fb12
|
debug(fat32): handle_alloc 表满诊断加 handle_table 地址——定位 BSS 相邻越界写源
|
2026-08-27 01:27:38 +08:00 |
|
TermiNexus
|
8f15455784
|
debug(fat32): handle_alloc 表满时打印 handles_initialized 与前 4 个 handle 的 is_open——spawn scan open failed err=18(FR_TOO_MANY_OPEN_FILES)
|
2026-08-27 01:26:12 +08:00 |
|
TermiNexus
|
f6154bfed3
|
debug(fat32): dir_find 打印 sfn_from_lfn 生成的 11 字节 hex——hello.elf 的 sfn 显示为 H(sfn[1]=0x00),定位 sfn 生成被破坏
|
2026-08-27 01:21:15 +08:00 |
|
TermiNexus
|
364daa111b
|
debug(fat32,elf): win_read 打印 abs_sector/hidden_sectors/win 前4字节(win[0..1] 被清零);not x86_64 分支 dump ehdr 前20字节(read_len=64 但内容错)
|
2026-08-27 01:11:05 +08:00 |
|
TermiNexus
|
a621b0d264
|
debug(paging,process,fat32): 定位 BSS 全局内存破坏——clone AllocPage 失败打印 pt_pool_raw/pt_pool_used,create_process malloc 返回实际值(mm 成功但调用方收 None),dir_find 失败 dump win 缓冲内容
|
2026-08-27 01:02:39 +08:00 |
|
TermiNexus
|
42312a39b1
|
fix(desktop): mm.malloc 显式 CUInt64T 参数规避裸名回退 i32 参数(bg_row_buf 收到 0x0);fat32 dir_get_entry_info 加 win 缓冲内容诊断(根目录显示 (None) size=523360、dir_find offset=0 失败疑似 win 污染)
|
2026-08-27 00:55:54 +08:00 |
|
TermiNexus
|
038b0a428e
|
fix(ide,elf): 移除每次读扇区前的 0x3F6 SRST 软复位写(Gargantua 大数据段读取中途 waitDataReady 失败根因);spawn_elf 用指针算术替代 path[name_start:] 切片传参并加 entry/pid 运行时诊断
|
2026-08-27 00:45:23 +08:00 |
|
TermiNexus
|
25d2628cd4
|
fix(fat32,devfs): c.Set 坏模式静默不写——lfn_extract/lfn_set_char 从未写入 LFN 缓冲,dir_find 长文件名匹配永远失败;devfs 键盘/鼠标 buffer 未写入;改 c.Set(c.Deref(ptr),val) 与下标赋值,并补 sfn 超 8 字符生成 ~1 短名;elf bad magic 加 hex dump 诊断
|
2026-08-27 00:32:54 +08:00 |
|
TermiNexus
|
3418bc6a59
|
fix(fat32): c.Set 写指针误用值赋值,改为 c.Set(c.Deref(ptr),val)——read/write 的 br/bw、dir_sector_out、ioctl 扇区参数从未写入导致 ehdr 读取返回0
|
2026-08-27 00:20:27 +08:00 |
|
TermiNexus
|
c0685fe6bd
|
debug(fat32): read 包装打印 br 实际值,确认 c.Set 是否写入(types 内 total_read=64 但 read_len<64)
|
2026-08-27 00:12:46 +08:00 |
|
TermiNexus
|
51c7475031
|
debug(fat32): read 打印文件状态(size/first_cluster/pos)与实际读取字节数,定位 ehdr 读取失败根因
|
2026-08-27 00:08:52 +08:00 |
|
TermiNexus
|
4c25e0e35c
|
debug(desktop,uhci): malloc 判空失败处打印实际返回值,定位 mm.malloc 返回值与调用方接收不一致
|
2026-08-26 23:25:15 +08:00 |
|
TermiNexus
|
7b084803f5
|
fix(cpu): 启动早期启用 SSE/FPU,修复 movaps #GP
faulting RSP=0x7d760 16 对齐证明非栈对齐问题,movaps #GP(err=0) 真因是 CR4.OSFXSR 未置位(SSE 未启用)。OVMF 启动后 SSE 默认关闭,变参函数传 float/double 保存 xmm 寄存器时触发。新增 cpu.enable_sse(CR0 清 EM 置 MP + CR4 OSFXSR|OSXMMEXCPT + fninit),main.vp __init__ 开头调用。
|
2026-08-26 19:36:50 +08:00 |
|
TermiNexus
|
ee329c313f
|
fix(apic): early_init 改用 IA32_APIC_BASE EN 位判断,避免 cpuid 误判跳过 init
lint0 读回 0x0(QEMU 复位默认 0x10000)说明此前读的是 RAM,_lapic_base 为 0,
init() 很可能未执行。msr_read 已在前置流程验证可用,改按 MSR bit11 判断更可靠。
main.vp 增补综合诊断:打印 base/version/svr/lint0 重写读回/特性位,一次性区分
init 未执行、MMIO 映射失效、写不粘三种假设。
|
2026-08-26 18:39:07 +08:00 |
|
TermiNexus
|
8b40203b63
|
提交新的建议忽略
|
2026-08-06 18:08:50 +08:00 |
|
TermiNexus
|
be92f671d0
|
根据静态注解修正了部分的 global 修正(遍历截止fat32 fileio.vp)
|
2026-07-31 13:36:26 +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 |
|