- drr_apply_config(pool_kb, log_size) before drr_init; pool_limit clamped to compile-time 64KB static pool (min sub-buffer layout enforced, defaults kept on bad values); recovery log size clamped to remaining pool - verified in QEMU: pool_kb=32 -> pool_limit=0x8000, log_capacity=0x80, boot continues (.build_tmp/qemu_serial_r3b.log)
2.3 KiB
2.3 KiB
Deshab-OS 任务板
按 ROADMAP_INSANE.md 五期编号的可勾选任务表。 状态:✅ 已实现 · 🔶 演示级 · ⬜ 仅设计。唯一状态源见 STATUS.md。
🔩 一期:骨架
- F1 内核 panic 统一兜底(莲花崩溃屏 + panic_symbol + DRR 归档)
- F4 boot_ok 分级启动自检(
[boot] selftest=0|1|2) - F5 可跳过 FirstInit(
[dsk] skip_firstinit+ build/configs 模板) - F2 统一帧缓冲控制台抽象(fbcon.h:panic 路径已用;统一控制台后端待做)
- F3 跨平台构建(根 Makefile:make dev/release/realtest;macOS 打包受 mkfs.ext4 限制)
🗝️ 二期:仪式(UTSM/UTRW)
- U1 UTSM 元数据区 / UUID 调谐表
- U2 UTRW Slow Path 真分支(EPOCH/KEY_MISS 恢复 + MAC_FAILED/POISONED→DRR;selftest PASS)
- U3
@sealed段可选标记(链接脚本__sealedsection) - U4 密文页 dump 工具(明文/密文对照命令)
- U5 UTSM selftest 全覆盖(修 chacha20 KAT 间歇 FAIL,覆盖率 ≥70%)
🔌 三期:自由(DKM/用户态)
- D5 最小 REPL/shell(shell.elf 25+ 命令)
- D1 DKM 热卸载(引用计数 + 资源回收,循环 100 次不崩)
- D2 裸机器码加载器
- D3 内核 API 按名导出表(kapi())
- D4 DKM 彩色日志前缀
⏪ 四期:落款(DRR/PCQ)
- R1 checkpoint 快照(A/B 双槽 + CRC64 + 原子切换)
- R2 看门狗(timeout 检出 + 回滚/复位,负向测试 PASS)
- R3 Emergency Pool(64KB 编译期独立池)
- R3b
drr_emergency_pool_kb/drr_recovery_log_sizeFUCK 键接线(运行期钳位到编译期上限) - R4 A/B 回滚收尾(segment/system 级验证,依赖真实加密)
- R5 PCQ 多核(per-cpu runqueue 负载均衡;BSP-only 🔶)
🪷 五期:品牌
- E5 疯圣典进 docs/(PHILOSOPHY.md)
- E1 启动莲花动画
- E2 "假想时光键"彩蛋
- E3 提交信息规范(疯洁版)
- E4 deshab-fuckyou-edition 风味 ISO
遗留工程债(Phase 存档,非五期编号)
- Vector allocator / MSI-X
- NVMe 高位 BAR MMIO(BAR0>4G)
- virtio-net virtqueue RX/TX
- FAT32 完整子目录路径解析(DKM 侧)
- DKM 零 warning + 统一 ABI 头