05d0d8edd5
v1 NOP approach was WRONG — removed the poll entirely, proceeding with stale/incomplete register values. ZQ cal, DFI handshake, and PHY mailbox all require actual polling until the hardware responds. v2 uses trampoline functions appended to the binary: - Each poll site jumps to a trampoline that retries with a W16 counter - 16384 iterations (~91us at 1.8GHz) before timeout - On timeout, returns with condition NOT met (hits existing error path) - On success, returns normally (original behavior preserved) - W16 (IP0) used as counter — caller-saved, not used by poll loop bodies 35 poll loops patched, 13 non-poll backward branches left intact. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
77 KiB
77 KiB