feat: R3b wire drr_emergency_pool_kb / drr_recovery_log_size from FUCK

- 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)
This commit is contained in:
Linehu
2026-10-02 14:34:35 +08:00
parent b76e8f1556
commit 42fc06439c
12 changed files with 53 additions and 7 deletions
+1 -1
View File
@@ -76,7 +76,7 @@ Deshab 最标志性的疯点——给空气上锁。
|------|------|---------|------|-------------------|
| R1 | checkpoint 快照 | 时光键雏形 | ✅ | dirty shard 位图收集 → dma 页快照 + A/B 双槽 + CRC64 + 原子切换(`CODE/UTSM/drr/drr_core.c`) |
| R2 | 看门狗计时器 | 卡死也能体面 | ✅ | register/kick/timeout → fault 路径 → 回滚/复位;负向测试 PASS(demo_fault=1) |
| R3 | Emergency Pool | 崩溃后有地方喘气 | ✅ | 编译期 64KB 独立静态池(独立于堆)+ bump 分配器;`drr_emergency_pool_kb` 键未接线 ⬜ |
| R3 | Emergency Pool | 崩溃后有地方喘气 | ✅ | 编译期 64KB 独立静态池(独立于堆)+ bump 分配器;`drr_emergency_pool_kb`/`drr_recovery_log_size` FUCK 接线 ✅(运行期钳位) |
| R4 | A/B 镜像回滚 | 时光机第 1 台 | 🔶 | 页级回滚 + CRC verify + BLAKE2b keyed 页 MAC ✅;segment/system 级回滚待真实加密验证 |
| R5 | PCQ 位图调度器(单核→多核) | 让"凭感觉"变 O(1) | 🔶 | O(1) 位图 + LAPIC tick + xv6 式切换 ✅;BSP-only,per-cpu 多核负载均衡 ⬜ |
+1 -1
View File
@@ -70,7 +70,7 @@
| 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` |
| Emergency Pool(R3) | ✅ | 64KB 编译期独立池;`drr_emergency_pool_kb`/`drr_recovery_log_size` FUCK 接线 ✅(运行期钳位) | `.build_tmp/qemu_serial_r3b.log` |
## 文档体系
+1 -1
View File
@@ -32,7 +32,7 @@
- [x] R1 checkpoint 快照(A/B 双槽 + CRC64 + 原子切换)
- [x] R2 看门狗(timeout 检出 + 回滚/复位,负向测试 PASS)
- [x] R3 Emergency Pool(64KB 编译期独立池)
- [ ] R3b `drr_emergency_pool_kb` / `drr_recovery_log_size` FUCK 键接线
- [x] R3b `drr_emergency_pool_kb` / `drr_recovery_log_size` FUCK 键接线(运行期钳位到编译期上限)
- [ ] R4 A/B 回滚收尾(segment/system 级验证,依赖真实加密)
- [ ] R5 PCQ 多核(per-cpu runqueue 负载均衡;BSP-only 🔶)