diff --git a/RESEARCH.md b/RESEARCH.md index c211d85..d050eb0 100644 --- a/RESEARCH.md +++ b/RESEARCH.md @@ -784,3 +784,33 @@ stands as the only black-producing mechanism.) | black + white band | video probe completed; died between post_probe and banner | | black, no white band | died inside video_post_probe after video_clear (bind/probe of vidconsole) | | banner (white on black) | works | + +## Round 20 — post-probe black decoded: U-Boot reaches video_clear; two-band instrumentation + +Round 19 (`1f598c7a…`): wrapper color + blinks, then **black, no white +band**. Decoded: U-Boot runs (correct alignment), reaches the video +uclass `video_clear()` (the only black-painter — that's the blue→black +transition), and dies/ends before the white band at the end of +video_post_probe. The window contains only: colours setup, vidconsole +bind ("vidconsole0"), device_probe of the console child, cyclic +registration. A GRACEFUL failure there (bind/probe error → video probe +fails) leaves exactly the observed state: cleared black, no banner +(goes nowhere — no console), backlight on. Also noted: CONFIG_CYCLIC=y +makes video-uclass line 732's `gd->flags && GD_FLG_RELOC` typo live +(harmless-looking cyclic_register every 10 ms). + +### Round 20 payload (`90f0de99…`, flashed, cmp+vbutil OK) + +Two-band instrumentation inside video_post_probe: +- **cyan** band right after `video_clear()` — visible ⇒ the clear and + the fb mapping work, death is later in this function or after; +- **white** band after the vidconsole child is bound+probed (existing). + +### Decision tree + +| observation | meaning | +|---|---| +| black only (no cyan) | died between clear and cyan — video_set_default_colors/... (near-impossible) | +| cyan only | death/graceful-failure in bind or probe of vidconsole0 | +| cyan + white | died between post_probe end and the banner (jumptable/console_init_r/puts) | +| banner | works | diff --git a/krane-uboot-payload.bin b/krane-uboot-payload.bin index 4b09ae5..ea6b70c 100644 Binary files a/krane-uboot-payload.bin and b/krane-uboot-payload.bin differ diff --git a/krane-uboot.bin b/krane-uboot.bin index b8f41a7..9b91e29 100644 Binary files a/krane-uboot.bin and b/krane-uboot.bin differ