GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Add support for ARM GICv5 by sarah-walker-arm · Pull Request #11240 · tianocore/edk2

Conversation

@sarah-walker-arm

@sarah-walker-arm sarah-walker-arm commented Jun 30, 2025

Copy link
Copy Markdown
Contributor

Description

Add support for the ARM GICv5 interrupt controller. This pull request includes the changes to the ArmGicDxe driver, supporting ArmLib changes to detect GICv5 presence, and an update to the TimerDxe driver to support the GICv5 architected PPI numbers.

  • Breaking change?
    • Breaking change - Does this PR cause a break in build or boot behavior?
    • Examples: Does it add a new library class or move a module to a different repo.
  • Impacts security?
    • Security - Does this PR have a direct security impact?
    • Examples: Crypto algorithm change or buffer overflow fix.
  • Includes tests?
    • Tests - Does this PR include any explicit test code?
    • Examples: Unit tests or integration tests.

How This Was Tested

Boot FVP VersatileExpress model with both GICv3 and GICv5 configurations. Confirmed boot to Linux with appropriate DTB.

Integration Instructions

N/A

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@sarah-walker-arm sarah-walker-arm mentioned this pull request Jun 30, 2025
Platform: VExpressPkg: Add GICv5 support tianocore/edk2-platforms#807
Merged
@sarah-walker-arm

sarah-walker-arm commented Jun 30, 2025

Copy link
Copy Markdown
Contributor Author

The VersatileExpress platform integration is at tianocore/edk2-platforms#807

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@sarah-walker-arm
sarah-walker-arm force-pushed the 3668_GICv5_DT branch 2 times, most recently from 996eecf to 50a91d1 Compare July 1, 2025 10:36
@sarah-walker-arm
sarah-walker-arm marked this pull request as ready for review July 1, 2025 11:00
@tianocore-assign-reviewers
tianocore-assign-reviewers Bot requested review from ardbiesheuvel, leiflindholm, lgao4, mdkinney and samimujawar July 1, 2025 11:01
@leiflindholm

leiflindholm commented Jul 1, 2025

Copy link
Copy Markdown
Member

Note: This PR depends on features only documented in https://developer.arm.com/documentation/aes0070/latest/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@sarah-walker-arm
sarah-walker-arm force-pushed the 3668_GICv5_DT branch from a469101 to 6aff52b Compare July 1, 2025 11:09
leiflindholm
leiflindholm reviewed Jul 1, 2025
View reviewed changes
Comment thread MdePkg/Include/AArch64/AArch64.h Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread ArmPkg/Drivers/ArmGicDxe/GicV5/AArch64/ArmGicV5.S Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread ArmPkg/Drivers/ArmGicDxe/GicV5/AArch64/ArmGicV5.S Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread ArmPkg/Drivers/ArmGicDxe/GicV5/ArmGicV5Dxe.c Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread ArmPkg/Drivers/ArmGicDxe/ArmGicDxe.c Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread ArmPkg/Drivers/ArmGicDxe/ArmGicDxe.inf Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread ArmPkg/Drivers/ArmGicDxe/ArmGicV5Dxe.inf Resolved

Uh oh!

There was an error while loading. Please reload this page.

leiflindholm
leiflindholm reviewed Jul 1, 2025
View reviewed changes
Comment thread ArmPkg/Drivers/ArmGicDxe/GicV5/ArmGicV5Dxe.c Resolved

Uh oh!

There was an error while loading. Please reload this page.

@sarah-walker-arm
sarah-walker-arm force-pushed the 3668_GICv5_DT branch 4 times, most recently from 60392a9 to 1c32572 Compare July 2, 2025 13:39
mgamal
mgamal reviewed Jul 3, 2025
View reviewed changes
Comment thread MdePkg/Include/Library/ArmLib.h Resolved

Uh oh!

There was an error while loading. Please reload this page.

mgamal
mgamal reviewed Jul 3, 2025
View reviewed changes
Comment thread ArmPkg/Include/Library/ArmGicLib.h Resolved

Uh oh!

There was an error while loading. Please reload this page.

mgamal
mgamal approved these changes Jul 4, 2025
View reviewed changes

@mgamal mgamal left a comment

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Aside from the comments that @leiflindholm has. Looks good to me.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
ardbiesheuvel
ardbiesheuvel reviewed Jul 4, 2025
View reviewed changes
Comment thread ArmPkg/ArmPkg.dec Resolved

Uh oh!

There was an error while loading. Please reload this page.

@sarah-walker-arm
sarah-walker-arm force-pushed the 3668_GICv5_DT branch from 1c32572 to aff42d0 Compare July 4, 2025 17:16
ardbiesheuvel
ardbiesheuvel reviewed Jul 8, 2025
View reviewed changes
Comment thread MdePkg/Include/AArch64/AArch64.h Resolved

Uh oh!

There was an error while loading. Please reload this page.

ardbiesheuvel
ardbiesheuvel reviewed Jul 8, 2025
View reviewed changes
Comment thread ArmPkg/Drivers/ArmGicDxe/GicV5/ArmGicV5Dxe.c Resolved

Uh oh!

There was an error while loading. Please reload this page.

ardbiesheuvel
ardbiesheuvel reviewed Jul 8, 2025
View reviewed changes
Comment thread ArmPkg/Drivers/ArmGicDxe/GicV5/ArmGicV5Dxe.c Resolved

Uh oh!

There was an error while loading. Please reload this page.

ardbiesheuvel
ardbiesheuvel reviewed Jul 8, 2025
View reviewed changes
Comment thread ArmPkg/Drivers/ArmGicDxe/GicV5/ArmGicV5Dxe.c Resolved

Uh oh!

There was an error while loading. Please reload this page.

ardbiesheuvel
ardbiesheuvel reviewed Jul 8, 2025
View reviewed changes
Comment thread ArmPkg/Drivers/ArmGicDxe/GicV5/ArmGicV5Dxe.c Resolved

Uh oh!

There was an error while loading. Please reload this page.

ardbiesheuvel
ardbiesheuvel reviewed Jul 8, 2025
View reviewed changes
Comment thread ArmPkg/Drivers/ArmGicDxe/GicV5/ArmGicV5Dxe.c Resolved

Uh oh!

There was an error while loading. Please reload this page.

ardbiesheuvel
ardbiesheuvel reviewed Jul 8, 2025
View reviewed changes
Comment thread ArmPkg/Drivers/ArmGicDxe/GicV5/ArmGicV5Dxe.c Resolved

Uh oh!

There was an error while loading. Please reload this page.

ardbiesheuvel
ardbiesheuvel reviewed Jul 8, 2025
View reviewed changes
Comment thread ArmPkg/Drivers/ArmGicDxe/GicV5/ArmGicV5Dxe.c Resolved

Uh oh!

There was an error while loading. Please reload this page.

ardbiesheuvel
ardbiesheuvel reviewed Jul 8, 2025
View reviewed changes
Comment thread ArmPkg/Drivers/ArmGicDxe/GicV5/ArmGicV5Dxe.c Resolved

Uh oh!

There was an error while loading. Please reload this page.

ardbiesheuvel
ardbiesheuvel reviewed Jul 8, 2025
View reviewed changes
Comment thread ArmPkg/Drivers/ArmGicDxe/GicV5/ArmGicV5Dxe.c Resolved

Uh oh!

There was an error while loading. Please reload this page.

ardbiesheuvel
ardbiesheuvel reviewed Jul 8, 2025
View reviewed changes
Comment thread ArmPkg/Drivers/TimerDxe/TimerDxe.c Resolved

Uh oh!

There was an error while loading. Please reload this page.

@sarah-walker-arm
sarah-walker-arm force-pushed the 3668_GICv5_DT branch from aff42d0 to e243d7f Compare July 8, 2025 10:44
ardbiesheuvel
ardbiesheuvel reviewed Jul 9, 2025
View reviewed changes
Comment thread ArmPkg/Drivers/ArmGicDxe/GicV5/ArmGicV5Dxe.c Resolved

Uh oh!

There was an error while loading. Please reload this page.

ardbiesheuvel
ardbiesheuvel reviewed Jul 9, 2025
View reviewed changes
Comment thread ArmPkg/ArmPkg.dsc Resolved

Uh oh!

There was an error while loading. Please reload this page.

@sarah-walker-arm
sarah-walker-arm force-pushed the 3668_GICv5_DT branch 4 times, most recently from 2b3457e to 1441204 Compare July 9, 2025 13:03
ardbiesheuvel and others added 3 commits July 10, 2025 11:00
@ardbiesheuvel @sarah-walker-arm
ArmPkg/ArmGicV3Dxe: Make v3 driver AArch64-only
127e30f
Before extending the GicV3Dxe driver with support for GICv5, make the
driver AArch64-only to avoid the need for adding support to the 32-bit
build, which would be rather pointless.

Signed-off-by: Ard Biesheuvel <[email protected]>
@sarah-walker-arm
MdePkg: Include: Add defines for AA64PFR2 system register
89cf173
The AA64PFR2 system register is required to detect GICv5 support.

Signed-off-by: Sarah Walker <[email protected]>
@sarah-walker-arm
ArmPkg: ArmLib: Add functions to read AA64PFR2 and check GICv5 support
963f258
Signed-off-by: Sarah Walker <[email protected]>
@sarah-walker-arm
sarah-walker-arm force-pushed the 3668_GICv5_DT branch 2 times, most recently from 331870a to abd24c5 Compare July 14, 2025 08:42
ardbiesheuvel and others added 2 commits July 14, 2025 11:15
@ardbiesheuvel @sarah-walker-arm
ArmPkg: ArmGicDxe: Add support for GICv5
0c02d21
Add initial driver support for GICv5. This initial driver supports Private
Peripheral Interrupts (PPIs) and Shared Peripheral Interrupts (SPIs).

Signed-off-by: Sarah Walker <[email protected]>
[ardb: Merge v5 support into GicV3Dxe]
Signed-off-by: Ard Biesheuvel <[email protected]>
@sarah-walker-arm
ArmPkg: TimerDxe: Add support for GICv5 PPIs
abc4a84
GICv5 uses a different ID scheme for interrupt numbers to previous GICs; the
top bits indicate the type of interrupt (PPI/SPI/LPI). Update TimerDxe to use
the new ID scheme for GICv5. As the timer PPIs are architected for GICv5 they
should be the same on all GICv5 platforms.

Signed-off-by: Sarah Walker <[email protected]>
@sarah-walker-arm
sarah-walker-arm force-pushed the 3668_GICv5_DT branch from abd24c5 to abc4a84 Compare July 14, 2025 10:16
ardbiesheuvel
ardbiesheuvel approved these changes Jul 15, 2025
View reviewed changes
@ardbiesheuvel ardbiesheuvel added the push Auto push patch series in PR if all checks pass label Jul 15, 2025
@mergify
Merge branch 'master' into 3668_GICv5_DT
3d2dbfc
@mergify
mergify Bot merged commit b762965 into tianocore:master Jul 15, 2025
@lgao4 lgao4 added the type:feature-request A new feature proposal label Aug 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@ardbiesheuvel ardbiesheuvel ardbiesheuvel approved these changes
@lgao4 lgao4 Awaiting requested review from lgao4
@mdkinney mdkinney Awaiting requested review from mdkinney
@samimujawar samimujawar Awaiting requested review from samimujawar
+2 more reviewers
@leiflindholm leiflindholm leiflindholm left review comments
@mgamal mgamal mgamal approved these changes
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

push Auto push patch series in PR if all checks pass type:feature-request A new feature proposal

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

6 participants

@sarah-walker-arm @leiflindholm @mgamal @ardbiesheuvel @samimujawar @lgao4
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.