Skip to content

Settle pending SELECT before banked DP access. - #87

Open
jon wants to merge 1 commit into
work/audit-ci-guardsfrom
work/audit-wide-select
Open

jon wants to merge 1 commit into
work/audit-ci-guardsfrom
work/audit-wide-select

Conversation

@jon

@jon jon commented Oct 25, 2026

Copy link
Copy Markdown
Owner

Banked DP accesses now settle a pending SELECT through RDBUFF before using or changing the bank. Previously, an immediate SELECT write could make those accesses fail without traffic and strand Release on an ADIv6 port with an address width above 32 bits. SELECT1 access and release retries now make progress on 40-, 48-, and 52-bit ports.

If a WAIT during SELECT confirmation leaves the SWD connection requiring repair, DAP also requires protocol re-entry. Explicit Release attempts use the supplied context for re-entry and restoration; a canceled context sends no traffic. Recovery inside a failed transport operation retains its independent budget.

Why

A SELECT acknowledgement precedes the write data, so it does not establish that the new bank took effect. RDBUFF can settle the write without guessing which bank is active. A failed confirmation stops the requested banked access, while a later release can retry cleanup with a fresh context. The release test observes restored power, response mode, and upper address selection through the target model.

On an ASIZE-32 port, an AP base at or above 4 GiB must be rejected before traffic; truncating it could select a different AP.

Documentation

The DAP guide describes the selection barrier and release retry behavior. The Release documentation specifies the caller's context and distinguishes it from recovery performed inside a failed transport operation.

An acknowledged bank-changing SELECT remained provisional, but immediate
banked access rejected it before the RDBUFF barrier could settle it.
Wide-address release needed SELECT1 and could therefore remain stuck on
every retry, retaining power and response-mode ownership.

Settle that selection before banked access. If a WAIT makes the
underlying SWD connection require repair, invalidate DAP framing too.
Honor the explicit release context during re-entry and preserve
independent recovery budgets inside failed operations. An out-of-range
AP base at ASIZE 32 also needs a regression because truncating it could
silently select another AP.
@jon

jon commented Oct 25, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-25T21:29:27.907029Z c0190dc Manual request
🔒 Security Review ✅ Completed 2026-10-25T21:31:35.511075Z c0190dc PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Chef's kiss.

Reviewed commit: c0190dc60a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant