Skip to content
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

UefiPayloadPkg: Add AARCH64 support #6545

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

AjanZhong
Copy link
Contributor

@AjanZhong AjanZhong commented Dec 17, 2024

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4849

Description

Add base FIT image support on the AARCH64 architecture, introduce new dsc and fdf files for AARCH64 architecture, and introduce new PCD: PcdUseUniversalPayloadSerialPort to indicate which serial port component is used due to some serial port parameters are fixed for ARM SoC and Platform.

  • Breaking change?
    • N/A
  • Impacts security?
    • N/A
  • Includes tests?
    • N/A

How This Was Tested

Validated on top of qemu-system-x86_64 and qemu-system-aarch64.

Integration Instructions

export GCC5_AARCH64_PREFIX=aarch64-linux-gnu-
python UefiPayloadPkg/UniversalPayloadBuild.py -a AARCH64 -t GCC5 -b DEBUG --Fit

@AjanZhong AjanZhong force-pushed the upstream-arm64 branch 7 times, most recently from 01d072a to f06afd7 Compare December 19, 2024 04:43
Copy link

mergify bot commented Dec 19, 2024

PR can not be merged due to conflict. Please rebase and resubmit

@AjanZhong AjanZhong force-pushed the upstream-arm64 branch 5 times, most recently from 75210b2 to c9a715a Compare December 19, 2024 12:07
@AjanZhong AjanZhong changed the title UefiPayloadPkg/UefiCpuPkg: Add AARCH64 support UefiPayloadPkg: Add AARCH64 support Dec 20, 2024
@AjanZhong AjanZhong marked this pull request as ready for review December 20, 2024 09:29
@AjanZhong AjanZhong force-pushed the upstream-arm64 branch 5 times, most recently from a505283 to b52c670 Compare December 20, 2024 14:01
@AjanZhong AjanZhong force-pushed the upstream-arm64 branch 10 times, most recently from 6884aeb to 13bc27f Compare December 20, 2024 16:05
@AjanZhong AjanZhong closed this Dec 20, 2024
@AjanZhong AjanZhong reopened this Dec 20, 2024
@AjanZhong AjanZhong closed this Dec 20, 2024
@AjanZhong AjanZhong reopened this Dec 22, 2024
@AjanZhong
Copy link
Contributor Author

AjanZhong commented Dec 22, 2024

@leiflindholm @benjamindoron This PR (6545) is created to address comments in PR 6339, using existing DSC/FDF to build UPL for both X64 and AARCH64 architectures. I have built X64 and AARCH64 separately by command: "build -a X64" and "build -a AARCh64" successfully.

However, CI check will build X64, AARCh64 at one build by command "build -a X64 -a AARCH64". This is CI check, for instance module BdsDXE will be built for both X64/AARCH64, then trigger this error:
"Module built under multiple ARCHs ['AARCH64', 'X64']. Not able to determine which output to put into flash for Module MdeModulePkg/Universal/BdsDxe/BdsDxe.inf."

Any suggestion to fix this issue?

Add basic support for FIT image on the AARCH64 architecture, reuse
exsitting DSC and FDF files for IA32, X64 and AARCH64 architectures.

Introduce new PCD: PcdUseUniversalPayloadSerialPort to indicate
which serial port module is used due to some serial port parameters
are fixed for ARM SoC and Platform.

Please use following command to build AARCH64 UPL FIT image:
"
 export GCC5_AARCH64_PREFIX=aarch64-linux-gnu-
 python UefiPayloadPkg/UniversalPayloadBuild.py -a AARCH64
        -t GCC5 -b DEBUG --Fit
"

Signed-off-by: Amos Bu <[email protected]>
Signed-off-by: Ajan Zhong <[email protected]>
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.

3 participants