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
+4
View File
@@ -102,6 +102,10 @@ typedef struct {
/* ---- 公共接口 ---- */
void drr_init(void);
/* R3b: FUCK [utsm] 配置接线(须在 drr_init 前调用;0 = 用编译期默认)。
* pool_kb 钳位到编译期静态池上限(Emergency Pool 为编译期数组,运行期只
* 能缩小可用量);recovery_log_size 钳位到池内剩余容量。 */
void drr_apply_config(u64 pool_kb, u64 recovery_log_size);
const u64 *drr_get_root_key(void);
u64 drr_recovery_generation(void);
void drr_report_fault(const char *reason);