Skip to content

gem: use an explicit dsb sy in the polling RX path - #173

Open
dgarske wants to merge 1 commit into
wolfSSL:masterfrom
dgarske:gem_rx_poll_dsb
Open

dgarske wants to merge 1 commit into
wolfSSL:masterfrom
dgarske:gem_rx_poll_dsb

Conversation

@dgarske

@dgarske dgarske commented Sep 15, 2026

Copy link
Copy Markdown
Member

gem_eth_poll() in src/port/amd/ip/gem_rx_poll.c issues dsb with no option. That is valid ARMv7-A, where the option defaults to SY, but not AArch64, where it is mandatory - so the file fails to assemble with Error: missing immediate expression at operand 1 -- 'dsb' as soon as an AArch64 board selects the polling RX model. Both barriers become dsb sy, which both architectures accept.

This is a no-op for the existing ARMv7 user: boards/zynq7000 builds this file for a Cortex-A9, and the resulting gem_rx_poll.o is byte-identical before and after the change (f57ff04f, dsb sy, at all five sites).

Validated by building boards/zynq7000 for armv7-a and compiling the same file for AArch64, and on hardware: the zynq7000 demo on a ZC702 links at auto-negotiation, binds a DHCP lease, answers ping, and completes a UDP echo round trip through this RX path.

@dgarske dgarske self-assigned this Sep 15, 2026
Copilot AI lite review requested due to automatic review settings September 15, 2026 18:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Reconcile the file’s ARMv7 build path with the stated AArch64 target.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Updates GEM RX polling barriers from bare dsb to dsb sy for AArch64 compatibility.

Changes:

  • Replaces both inline barriers in the polling RX path.
  • Preserves full-system barrier semantics.
File summaries
File Summary
src/port/amd/ip/gem_rx_poll.c Updates RX descriptor memory barriers.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/port/amd/ip/gem_rx_poll.c
@dgarske dgarske changed the title Fix invalid bare dsb in the GEM polling RX path on AArch64 gem: use an explicit dsb sy in the polling RX path Sep 16, 2026
@dgarske
dgarske requested a lite review from Copilot September 16, 2026 00:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

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.

2 participants