-
Notifications
You must be signed in to change notification settings - Fork 8k
Update the versalnet apu to load TF-A as APU runs at EL1 NS #96438
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Update the versalnet apu to load TF-A as APU runs at EL1 NS #96438
Conversation
53e1c28
to
b1e3184
Compare
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.
I am expecting that commit message say some information about s/3DD/3EE/ qemu command line change.
boards/amd/versalnet_apu/board.cmake
Outdated
if(CONFIG_BUILD_WITH_TFA) | ||
set(TFA_PLAT "versal_net") | ||
# Add Versal NET specific TF-A build parameters | ||
set(TFA_EXTRA_ARGS "TFA_NO_PM=1;PRELOADED_BL33_BASE=0x0") |
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.
that ; is not needed. It should be enough to pass it as one big string which is used on command line.
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.
@michalsimek : Thanks for the review.
We need to pass the ; otherwise CMake treats this as a single string, and when it gets expanded in the make command, it becomes
make ... TFA_NO_PM=1\ PRELOADED_BL33_BASE=0x0 which is causing compilation error
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.
IMHO this should be set(TFA_EXTRA_ARGS "TFA_NO_PM=1;PRELOADED_BL33_BASE=${CONFIG_SRAM_BASE_ADDRESS}")
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.
Thanks for the review fixed in the updated pull request
Thanks for the review |
b1e3184
to
19f195f
Compare
19f195f
to
b4cfc5c
Compare
Enhance the TF-A build system to support board-specific build parameters through TFA_EXTRA_ARGS mechanism. Changes: - Add TFA_EXTRA_ARGS variable support for board-specific parameters - Implement proper string-to-list conversion for make argument expansion This allows individual board configurations to specify platform-specific TF-A build parameters without modifying the core TF-A build logic. Signed-off-by: Appana Durga Kedareswara rao <[email protected]>
Enable ARM Trusted Firmware support for Versal NET APU board with platform-specific optimizations. Changes: - Add TF-A platform configuration (PLAT=versal_net) - Configure board-specific TF-A parameters (TFA_NO_PM, PRELOADED_BL33_BASE) - Add automatic TF-A module selection in Kconfig - Update QEMU kernel loading to use TF-A bl31.elf - Update the data value that QEMU expects(0x3EE) at the specified memory address for proper board emulation. - Modified data address configuration to match QEMU implementation The board now automatically builds ARM Trusted Firmware during Zephyr application compilation with Versal NET specific optimizations. Boot flow: Boot PDI -> TF-A -> Zephyr Signed-off-by: Appana Durga Kedareswara rao <[email protected]>
b4cfc5c
to
e433e9c
Compare
|
This pull request updates the versalnet_apu board support to build TF-A alongside the Zephyr application.
By default, the APU runs at EL1-Non Secure, and QEMU requires a secure OS to configure GIC-V3 and other secure settings. Integrating TF-A with the Zephyr build ensures the necessary secure initialization is performed before the Zephyr application runs.