diff --git a/docs/sbl-bringup.md b/docs/sbl-bringup.md index 77e4373..160930e 100644 --- a/docs/sbl-bringup.md +++ b/docs/sbl-bringup.md @@ -213,3 +213,18 @@ ложится на живой код, падает следующий fetch там. Периферийная запись, в эмуляции никто не читает (поллы на scaffolded `[0x73A100]`). NOP 2B→2B, как b17-stm. Поймано watchlow-фильтром. + +## b39 long runs: table phases + leak-sink (2026-09-14) +- b39 детерминирован (повторы 1:1 по prog-pc). После clock-фаз: + 5-entry table-loop ( flag, =pbl_shared), + math-хелпер (udiv/mls + ), arith + (udiv-интерполяция), акссессоры + (strb/strh/str по r5-моде 1..4), poll-цепочки ubfx#10 (bit10=+1). +- sbl_uni: каждые 2M (pc-сэмпл). 2M S12-check, 5M table r4=1, + 20M dispatch r4/r5=table-ptrs, 50M S-wrapper, 80M + (r5=вычисленное), 100M снова table-loop r4=0 (ВНЕШНИЙ re-pass!). +- Утечка sp: S12-stub не снимает фрейм враппера (8B/вызов, ~58B/Kinsn, + было 'harmless'). К 100M sp=0x807ABF0 (~500KB до дна DDRLOW). + Фикс: гэп (минус UARTDM-страница) замаплен + в uni как leak-sink (+8M runway, ~140M). QEMU не тронут (в гэпе + периферия; короткие прогоны не достают). UART всё ещё пуст.