Skip to content

Adds additional Armv8-R AArch64 example programs#73

Merged
BartMassey merged 2 commits into
mainfrom
additional-armv8r-examples
May 8, 2026
Merged

Adds additional Armv8-R AArch64 example programs#73
BartMassey merged 2 commits into
mainfrom
additional-armv8r-examples

Conversation

@jonathanpallant
Copy link
Copy Markdown
Contributor

@jonathanpallant jonathanpallant commented Mar 19, 2026

This PR adds additional Armv8-R AArch64 example programs, along with a single-core critical section implementation. The examples expand upon the existing Hello, World example and demonstrate the use of the Arm Generic Interrupt Controller and logging using defmt via the PL011 UART.

This PR was developed by Ferrous Systems on behalf of Arm. Arm is the owner of these changes.

Currently this PR is using a patched copy of arm-fvp-base-pac (changes at https://review.trustedfirmware.org/c/arm-firmware-crates/arm-fvp-base-pac/+/49345/2) to support the BaseR FVP memory map. I will undraft once that is accepted.

Changes to arm-fvp-base-pac available at https://github.com/ArmFirmwareCrates/arm-fvp-base-pac.

@jonathanpallant jonathanpallant force-pushed the additional-armv8r-examples branch from b2a1190 to 9bd7bc4 Compare March 19, 2026 11:43
@jonathanpallant jonathanpallant marked this pull request as draft March 19, 2026 12:06
@jonathanpallant jonathanpallant force-pushed the additional-armv8r-examples branch from a0c9307 to 4c2c4fe Compare March 27, 2026 12:02
@jonathanpallant jonathanpallant marked this pull request as ready for review March 27, 2026 12:03
@jonathanpallant
Copy link
Copy Markdown
Contributor Author

Ping @davidtwco on this one.

…-core critical section implementation. The examples expand upon the existing Hello, World example and demonstrate the use of the Arm Generic Interrupt Controller and logging using defmt via the PL011 UART.
@jonathanpallant jonathanpallant force-pushed the additional-armv8r-examples branch from 4c2c4fe to 7f05560 Compare March 31, 2026 14:28
@jonathanpallant
Copy link
Copy Markdown
Contributor Author

Rebased, and updated to use new DAIFSet/DAIFClr API.

Copy link
Copy Markdown
Member

@davidtwco davidtwco left a comment

Choose a reason for hiding this comment

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

This looks good to me but I'm not particularly familiar with aarch64-cpu so you might want to get another opinion too.

@BartMassey
Copy link
Copy Markdown
Member

I've read stuff reasonably carefully, but also have no experience with Armv8-R in particular. The changes all look great, and so I'm going to go ahead and merge them based on the approving review. I don't see anything particularly bad happening if there's an issue here.

Is there a guide somewhere on how to try this stuff out with QEMU? It would be great if I could see it run myself, but I don't have the funds right now to buy an Armv8-R board.

@BartMassey BartMassey merged commit ff89c7e into main May 8, 2026
32 checks passed
@BartMassey BartMassey deleted the additional-armv8r-examples branch May 8, 2026 20:46
@thejpster
Copy link
Copy Markdown

Armv8-R AArch64 isn't yet supported in QEMU (Armv8-R AArch32 is, but that's a totally different CPU architecture with a different run-time library and target), but you can use the free copy of Arm's Fixed Virtual Platform emulator, which works in a fairly similar way.

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.

4 participants