Files
Deshab-OS/docs/STATUS.md
T
Linehu e4307ff0ec feat: F1/F4/F5 phase-1 skeleton + insane-roadmap docs rework
- docs: ROADMAP_INSANE (five-phase plan), TASKBOARD, STATUS single source of truth, PHILOSOPHY; rewrite README/ARCHITECTURE non-goals; archive ROADMAP phase 0-9; drop contradictory dev-plan doc
- F1: unified lotus panic screen (panic_full: fb draw + regs dump + DRR crash archive); IDT exception path and dkm_api_panic routed through it
- F4: leveled boot selftest (FUCK [boot] selftest=0|1|2), IDT/CS fatal checks + DMA probe
- F5: [dsk] skip_firstinit direct-to-desktop; build/configs dev+release templates now injected
2026-10-01 23:29:49 +08:00

5.4 KiB
Raw Blame History

Deshab-OS 状态总表(单一事实源)

本文件是全项目唯一的子系统状态来源。其他文档(README/ROADMAP/ARCHITECTURE/CLAUDE.md)只引用本表,不得自抄状态。 状态规范:✅ 已实现 · 🔶 演示级(注明边界) · ⬜ 仅设计/未实现。 更新规则:状态变更必须同步本表,并附证据(串口日志路径 / QEMU 现象)。

内核底座

子系统 状态 边界/说明 证据
早期启动(Limine→long mode→C) ✅ cli/cld 纪律、early serial 非阻塞 QEMU 启动日志
IDT/异常 ✅ 0–255 stub 全覆盖;异常路径走 F1 莲花崩溃屏 arch/x86_64/idt.c
PIC remap + IRQ 分发 ✅ remap 0x20–0x2f,handler 注册 + EOI —
IOAPIC→LAPIC 路由(B7) ✅ apic_route=1 接管;失败自动降级 PIC .build_tmp/qemu_serial_*.log
LAPIC timer ✅ TSC 校准 + 周期模式,[sched] 配置 M4 QEMU 日志
DMA 物理页分配器 ✅ bitmap,低 4G 钳位 e1000 DMA 根治记录
页表映射接口(map/unmap) ⬜ mmio 通用映射待做 —
panic 统一兜底(F1) ✅ 莲花崩溃屏 + panic_symbol + DRR 归档;CPU 异常/驱动 panic 统一入口 .build_tmp/qemu_serial_f1panic.log
boot 分级自检(F4) ✅ [boot] selftest=0|1|2,5 项全过 BOOT-OK .build_tmp/qemu_serial_f1f4f5.log
构建系统 🔶 Windows build.ps1 + WSL mkfs;跨平台 ⬜ build.ps1

UTSM / UTRW

子系统 状态 边界/说明 证据
封缄段表 / UUID 调谐(U1) ✅ 段创建/查询闭环 CODE/UTSM/core/segment.c
UTRW Fast Path ✅ capability→PCKC→line 解密→seqlock utrw/read.c
UTRW Slow Path(U2) ⬜ utrw/slow_path.c 当前为 stub —
@sealed 段标记(U3) ⬜ 未实现 —
selftest(U5) 🔶 KAT/段表/越界已覆盖;chacha20 KAT 间歇 FAIL 待修 test/utsm_selftest.c
真实加密原语 🔶 chacha20/KDF/MAC 已落(Phase 9 早期),PCKC schedule 待接 crypto/

DKM 驱动系统

子系统 状态 边界/说明 证据
ELF64 .drv 加载(4 stage) ✅ 14/14 驱动装载 + driver_init QEMU 启动日志
驱动列表(timer/acpi/pci/ahci/nvme/bootfs/vfs/devfs/fat32/ps2kbd/e1000/virtio_net/console_fb/apic) ✅ 能力各异,见下行分项 manifest.json
AHCI ✅ IDENTIFY/READ/WRITE DMA + ahci0 provider —
NVMe 🔶 PCI discovery only,BAR0>4G 待映射 —
FAT32(DKM 侧) 🔶 只读,子目录路径待完善 —
e1000 ✅ RX/TX + DHCP/ARP/UDP/DNS(polling) —
virtio_net 🔶 PCI/capability 枚举,无 virtqueue —
热卸载(D1) ⬜ 仅有 NO_UNLOAD 标志与状态机文档 —
按名 API 导出表(D3) ⬜ 固定偏移 struct ABI CODE/sdk/include/deshab/kernel_api.h
彩色日志(D4) ⬜ 仅 info/warn/error/panic —

DSK 主内核 / 用户态

子系统 状态 边界/说明 证据
启动 Logo(静态莲花) ✅ 旋转加载环已移除 QEMU 现象
FirstInit 向导 🔶 输入+SHA256+写盘闭环;按键崩溃未复现(B6) .build_tmp/qemu_serial_b6.log
可跳过 FirstInit(F5) ✅ [dsk] skip_firstinit=1 直达 desktop,跳过向导与登录 .build_tmp/qemu_serial_f1f4f5.log
mouseInit(PS/2 鼠标) ✅ IRQ12 + 包解码 + 光标(M1) .build_tmp/qemu_serial_mouse.log
desktop.elf ✅ 三页面+窗口+任务栏+双缓冲 —
shell.elf ✅ 25+ 命令(ls/cat/cp/mv/run/probe/test/pci…) —
login.elf ✅ USER.CONF + skip_login —
PE/EXE 兼容层 ✅ PE32+ 原生 / PE32 走 x86emu32 —
Linux 兼容层 🔶 VMM+park-and-resume;VMX 实机验证待 VT-x/KVM —
Pacman ⬜ 五阶段方案 —

调度 / 恢复

子系统 状态 边界/说明 证据
SAS-R0-PCQ 调度器 🔶 O(1) 位图 + LAPIC tick + xv6 式切换 ✅;BSP-only,per-cpu 多核 ⬜ .build_tmp/qemu_serial_sched_m4.log
task_kill crypto erase ⬜ key_epoch++ 待做 —
DRR checkpoint(R1) ✅ dirty shard → dma 页快照 + A/B 双槽 + CRC64 原子切换 M4 QEMU 日志
DRR 回滚(R4) 🔶 page 级 + BLAKE2b keyed 页 MAC ✅;segment/system 级待验证 M4 QEMU 日志
DRR 看门狗(R2) ✅ timeout 检出→回滚/复位;负向测试 PASS M4 QEMU 日志
Emergency Pool(R3) ✅ 64KB 编译期独立池;drr_emergency_pool_kb 键未接线 ⬜ include/utsm/drr.h

文档体系

文档 状态 说明
STATUS.md ✅ 单一状态源(本文件)
ROADMAP_INSANE.md ✅ 五期填补计划(唯一任务编号 F/U/D/R/E)
TASKBOARD.md ✅ 可勾选任务表
PHILOSOPHY.md ✅ 疯圣典
ROADMAP.md ✅ Phase 0–9 历史存档 + 用户态主线
ARCHITECTURE.md ✅ 架构 + 非目标章
BOOT_SEQUENCE.md ✅ B0–B4 演示版
系统开发策划.md 已删除 状态与本表矛盾,收编于此