b26: S17 safe-logger baked

This commit is contained in:
SashegDev
2026-09-13 12:08:22 +00:00
parent 13b314e9cf
commit 8b1eaeba18
4 changed files with 120 additions and 5 deletions
+6 -1
View File
@@ -367,6 +367,11 @@ def main():
# S10 stublet (10B @0x08006C88, b23): rollback-exit router.
# movw/movt ip + bx ip to sbl_main 0x802f6a3.
mu.mem_write(0x08006C88, bytes.fromhex("4ff2a36cc0f6020c6047"))
# S17 safe-logger (50B @0x08006CF0, b26): print r1-string via
# UARTDM-TF only if r1 in rodata [0x804B800,0x8058000); pop-return.
mu.mem_write(0x08006CF0, bytes.fromhex(
"4bf60003c0f60403994211d348f20003c0f605039942"
"0bd210b54ff20003c0f28a730c4614f8010b08b11867fae710bd7047"))
# PBL version-table fabrication (b23): [0x080528D0] = STUBV so the
# rollback query's blx calls maze (returns 0 = versions OK).
W32(0x080528D0, STUBV)
@@ -430,7 +435,7 @@ def main():
# --- end parity ---
# stub range is readonly on HW/QEMU: ignore SBL heap-clobber writes,
# keep maze/stublets intact (restore-on-write with reentrancy guard)
STUB_LO, STUB_HI = 0x080068C0, 0x08006CF0 # +S7/S9/S10/S16 + banner
STUB_LO, STUB_HI = 0x080068C0, 0x08006D30 # +S7/S9/S10/S16/S17
stub_snap = bytes(mu.mem_read(STUB_LO, STUB_HI - STUB_LO))
_inww = [False]
_swn = [0]