User Tools

Site Tools


megabitchip:start

MegabitChip

Running index for the MegabitChip workstream — reverse-engineering and source-rebuilding the RK3588 DDR init blob (''rk3588_ddr_lp4_1848MHz_lp5_2112MHz_v1.19.bin'') with the goal of producing a buildable, working DDR blob — a behavioural equivalent under the reachability + MMIO-trace contract, not bit-identical reproduction.

Target hardware: ampere (CoolPi CM5 GenBook, RK3588 + LPDDR5). Repo: https://git.reauktion.de/marfrit/rk3588-ddr-analysis. Related running log: RK3588 DDR Init Blob — RE & Patching.

Current state (as of 2026-04-21)

  • MMIO-diff: 3173 / 3173 writes byte-identical (vendor ↔ rebuilt, happy-path LP5 cold boot).
  • Splicer: 104 candidates / 85 spliced / 19 skip-larger / 0 failed.
  • Splicer skip-list: 1 entry (''154_FUN_de40'', parked behind task #198).
  • Audit: ''make audit'' green across data-symbols + early-return-tail scans.
  • 6 silicon-hostile bugs caught pre-flash in today's extended session across 3 bug classes — see session wrap.

Sub-pages

Session recaps

Observations

"Markus' insistence on simulation before flashing paid off. Big time. Again." — 2026-04-21.

The tripwire + PC-bucketed diff caught 3 silent NULL-derefs that hid behind a green ''mmio_diff 3173/3173'' baseline. ''ld –unresolved-symbols=ignore-all'' was quietly zero-resolving undefined ''DATA_SYMS'' externs, turning ''adrp+ldr'' into NULL-deref on silicon. A second bug class (C early-return skipping vendor's shared-tail RMW) and a third (port-as-read-only where vendor writes) surfaced the same session. All three would have been silicon corruption if flashed.

The simulator layer is not optional, even when mmio_diff is green. Every bug a pre-silicon tool surfaces is a device not bricked.

megabitchip/start.txt · Last modified: by markus_fritsche