From cd4d01fd69554cf4bd03ba9961665c3dfc59d962 Mon Sep 17 00:00:00 2001 From: Markus Fritsche Date: Fri, 3 Apr 2026 23:10:13 +0200 Subject: [PATCH] Add trampoline patcher v5 - counted loop timeouts for all 45 polls Each poll loop branches to an appended trampoline that: - Initializes w18 = 0x20000 (128K iterations) - Copies the original loop body (LDR + condition check) - Decrements w18, retries until timeout - Falls through on timeout (no hang) QEMU verified: original stuck at 0x10350, trampoline progresses through all polls. Blob grows from 76704 to 78068 bytes (+1364 bytes trampoline section). NOT YET TESTED ON REAL HARDWARE - the NOP approach bricked the GenBook. This counted approach preserves the poll loops with a safety timeout. Co-Authored-By: Claude Opus 4.6 (1M context) --- patch_trampoline.py | 222 ++++++++++++++++++++++++++++++++ rk3588_ddr_v1.19_trampoline.bin | Bin 0 -> 78068 bytes 2 files changed, 222 insertions(+) create mode 100644 patch_trampoline.py create mode 100644 rk3588_ddr_v1.19_trampoline.bin diff --git a/patch_trampoline.py b/patch_trampoline.py new file mode 100644 index 0000000..e4f1991 --- /dev/null +++ b/patch_trampoline.py @@ -0,0 +1,222 @@ +#!/usr/bin/env python3 +""" +RK3588 DDR Blob Patcher v5 - Assembly trampolines with counted loops. + +Appends a trampoline section AFTER the entire blob. Each poll loop's +backward branch is replaced with a B to its trampoline. The trampoline +does a counted loop and branches back. + +The blob is loaded at a fixed address (0x0) by BL2. The data section +references are absolute addresses within the blob. By appending (not +inserting), we don't shift any existing code or data. + +The only risk: if the BL2 loader checks the blob size and rejects larger +blobs. Testing with QEMU will verify the control flow. +""" +import struct, sys, os, hashlib + +TIMEOUT = 0x20000 # 128K iterations (~1ms at 2GHz) + +def encode_b(src, dst): + """Unconditional branch B.""" + off = (dst - src) >> 2 + return 0x14000000 | (off & 0x3FFFFFF) + +def encode_b_cond(src, dst, cond): + """Conditional branch B.cond.""" + off = (dst - src) >> 2 + return 0x54000000 | ((off & 0x7FFFF) << 5) | cond + +def encode_tbz(src, dst, bit, rt): + """TBZ instruction.""" + off = (dst - src) >> 2 + b5 = (bit >> 5) & 1 + b40 = bit & 0x1F + return (0x36000000 | (b5 << 31) | (b40 << 19) | + ((off & 0x3FFF) << 5) | rt) + +def encode_tbnz(src, dst, bit, rt): + """TBNZ instruction.""" + off = (dst - src) >> 2 + b5 = (bit >> 5) & 1 + b40 = bit & 0x1F + return (0x37000000 | (b5 << 31) | (b40 << 19) | + ((off & 0x3FFF) << 5) | rt) + +def encode_cbz(src, dst, rt, is64=False): + """CBZ instruction.""" + off = (dst - src) >> 2 + op = 0xB4000000 if is64 else 0x34000000 + return op | ((off & 0x7FFFF) << 5) | rt + +def encode_cbnz(src, dst, rt, is64=False): + """CBNZ instruction.""" + off = (dst - src) >> 2 + op = 0xB5000000 if is64 else 0x35000000 + return op | ((off & 0x7FFFF) << 5) | rt + +def find_polls(blob): + polls = [] + for i in range(0, len(blob) - 12, 4): + inst = struct.unpack_from('> 5) & 0x7FFFF + if imm19 & 0x40000: + offset = -((~imm19 & 0x7FFFF) + 1) * 4 + if -16 <= offset <= -4: + ls = i + offset + has_load = any((struct.unpack_from('> 24) & 0xFF + if op in (0x36, 0x37): + imm14 = (inst >> 5) & 0x3FFF + if imm14 & 0x2000: + offset = -((~imm14 & 0x3FFF) + 1) * 4 + if -12 <= offset <= -4: + ls = i + offset + has_load = any((struct.unpack_from('> 19) & 0x1F) | ((inst >> 26) & 0x20) + rt = inst & 0x1F + n_body = (i - ls) // 4 + body = [struct.unpack_from('> 5) & 0x7FFFF + if imm19 & 0x40000: + offset = -((~imm19 & 0x7FFFF) + 1) * 4 + if -12 <= offset <= -4: + ls = i + offset + has_load = any((struct.unpack_from('= 0xB4 + n_body = (i - ls) // 4 + body = [struct.unpack_from('> 16), LSL #16 (if needed) + if TIMEOUT > 0xFFFF: + instrs.append(0x72A00012 | (((TIMEOUT >> 16) & 0xFFFF) << 5)) + + ldr_offset = len(instrs) # index of first body instruction + + # Copy loop body (LDR + any intermediate) + for instr in body_instrs: + instrs.append(instr) + + # Check: did condition become true? If so, exit to return_addr + cur = tramp_addr + len(instrs) * 4 + if ptype == 'Bcond': + cond = extra + inv = cond ^ 1 # invert: loop while cond → exit when !cond + instrs.append(encode_b_cond(cur, return_addr, inv)) + elif ptype == 'TBZ': + bit, rt = extra + # TBZ loops while bit=0 → exit when bit=1 (TBNZ) + instrs.append(encode_tbnz(cur, return_addr, bit, rt)) + elif ptype == 'TBNZ': + bit, rt = extra + # TBNZ loops while bit=1 → exit when bit=0 (TBZ) + instrs.append(encode_tbz(cur, return_addr, bit, rt)) + elif ptype == 'CBZ': + rt, is64 = extra + instrs.append(encode_cbnz(cur, return_addr, rt, is64)) + elif ptype == 'CBNZ': + rt, is64 = extra + instrs.append(encode_cbz(cur, return_addr, rt, is64)) + + # SUBS w18, w18, #1 + cur = tramp_addr + len(instrs) * 4 + instrs.append(0x71000652) + + # B.NE back to LDR in trampoline + cur = tramp_addr + len(instrs) * 4 + ldr_addr = tramp_addr + ldr_offset * 4 + instrs.append(encode_b_cond(cur, ldr_addr, 1)) # NE + + # B return_addr (timeout fallthrough) + cur = tramp_addr + len(instrs) * 4 + instrs.append(encode_b(cur, return_addr)) + + return instrs + +def patch(inpath, outpath): + with open(inpath, 'rb') as f: + blob = bytearray(f.read()) + orig_size = len(blob) + + polls = find_polls(blob) + print(f"Found {len(polls)} poll loops in {orig_size} byte blob") + + # Append trampoline section + # Align to 16 bytes + while len(blob) % 16: + blob.append(0) + tramp_base = len(blob) + + patched = 0 + for ptype, branch_addr, loop_start, body, extra, orig_inst in polls: + tramp_addr = len(blob) + t_instrs = build_trampoline(ptype, branch_addr, loop_start, + body, extra, orig_inst, tramp_addr) + + # Append trampoline + for inst in t_instrs: + blob += struct.pack('5s} -> trampoline @ 0x{tramp_addr:05x} " + f"({len(t_instrs)} instrs, {len(body)} body)") + + tramp_size = len(blob) - tramp_base + print(f"\nTrampoline section: {tramp_size} bytes @ 0x{tramp_base:x}") + print(f"Patched: {patched}/{len(polls)} polls") + print(f"Timeout: {TIMEOUT} iterations per poll") + print(f"Blob: {orig_size} -> {len(blob)} bytes (+{len(blob)-orig_size})") + + with open(outpath, 'wb') as f: + f.write(blob) + + oh = hashlib.sha256(open(inpath,'rb').read()).hexdigest()[:16] + ph = hashlib.sha256(blob).hexdigest()[:16] + print(f"\nSHA256 orig: {oh}") + print(f"SHA256 patched: {ph}") + +if __name__ == '__main__': + inp = sys.argv[1] if len(sys.argv) > 1 else '/opt/rkbin/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.19.bin' + out = sys.argv[2] if len(sys.argv) > 2 else '/opt/work/rk3588_ddr_v1.19_trampoline.bin' + patch(inp, out) diff --git a/rk3588_ddr_v1.19_trampoline.bin b/rk3588_ddr_v1.19_trampoline.bin new file mode 100644 index 0000000000000000000000000000000000000000..cd1ddb121d75c398c01678c02168675b78d048de GIT binary patch literal 78068 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 m3i7YaLC^W