-
Notifications
You must be signed in to change notification settings - Fork 484
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
Platform/ADLINK: Add new ComHpcAltPkg platform #226
base: master
Are you sure you want to change the base?
Conversation
5a8b036
to
b6d9ce2
Compare
Platform/ADLINK/ComHpcAltPkg/AdlinkKeys/Dbb_AdlinkTest.cert.pem
Outdated
Show resolved
Hide resolved
b6d9ce2
to
235f1bc
Compare
0ce7280
to
7ac9199
Compare
Add scripts which help users to build and flash firmware images for platforms based on the Ampere Altra SoC. 'buildfw.sh' can be used to build images containing just UEFI, or if the TF-A (ATF) binary is present TF-A + UEFI and complete 32MB SPI-NOR images. If the SYS (SMPro and PMPro microprocessors) binary is also present then a capsule update file for the SYS/SCP component of the SOC will also be built. Usage: Usage: ./Platform/Ampere/buildfw.sh [options] Options: -b <bldtype>, --build <bldtype> Specify the build type: DEBUG or RELEASE -t <tc>, --toolchain <tc> Specify the toolchain to use: GCC or CLANG -m <mfg>, --manufacturer <mfg> Specify platform manufacturer (e.g. Ampere) -p <plat>, --platform <plat> Specify platform to build (e.g. Jade) -l <kern>, --linuxboot <kern> Build LinuxBoot firmware instead of full EDK2 with UEFI Shell, specifying path to flashkernel -f, --flash Copy firmware to BMC and flash firmware (keeping EFI variables and NVPARAMs) after building -F, --full-flash Copy firmware to BMC and flash full EEPROM (resetting EFI variables and NVPARAMs) after building Note: flash options require bmc.sh file with env vars BMC_HOST, BMC_USER and BMC_PASS defined Available manufacturers: ADLINK Ampere ASRockRack Available platforms: ADLINK -> ComHpcAlt Ampere -> Jade ASRockRack -> Altrad8ud2 'fwver.sh' is used by buildfw.sh to keep track of the number of builds done, so that firmware files of the format e.g. comhpcalt_uefi_2024-10-22-5.bin are created along with displaying the date including build number during boot. 'fwflash.sh' automates flashing the host firmware when the target system is running a BMC with OpenBMC. 'fwflash.exp' is a helper script used by 'fwflash.sh' to ssh into the BMC and run the ampere_flash_bios.sh utility. Usage: Copies firmware to the BMC (running OpenBMC) and runs ampere_flash_bios.sh to flash the host. Usage: fwflash.sh [options] <Host firmware file> Options: -f, --full Flash the entire SPI-NOR chip (default) -c, --code Flash the code (TF-A + UEFI) area -t, --tfa Flash the TF-A (ATF) area -u, --uefi Flash the UEFI area -h, --help This help message Note: TF-A (Trusted Firmware for ARMv8-A) is the same as ATF (ARM Trusted Firmware). Signed-off-by: Rebecca Cran <[email protected]>
This new ComHpcAltPkg platform supports ADLINK's Ampere Altra Dev Kit, Ampere Altra Developer Platform, and AVA Developer Platform. They're all based on the COM-HPC-ALT module and carrier with an LGA 4926 socket supporting Ampere Altra and Ampere Altra Max CPUs up to 128 cores. Signed-off-by: Rebecca Cran <[email protected]>
7ac9199
to
db8d2f2
Compare
|
||
!if $(NETWORK_ENABLE) == TRUE | ||
# Intel I210 | ||
INF IntelUndiBin/GigUndiBinRelease.inf |
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.
This file not found in edk2-platforms or edk2-non-osi
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.
Right - I'm working on figuring out if it can be added to edk2-platforms or edk2-non-osi. In the meantime I'll create an IntelUndiPkg repo with binary releases that people can extract into the top-level directory.
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 have not fully reviewed this. But there are several common comments can be applied in multiple places. Please help address them, then I will continue to review in the next revision.
# | ||
INF Drivers/OptionRomPkg/RenesasFirmwarePD720202/RenesasFirmwarePD720202.inf | ||
FILE FREEFORM = A059EBC4-D73D-4279-81BF-E4A89308B923 { | ||
SECTION RAW = $(WORKSPACE)/K2026090.mem |
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.
K2026090.mem not found
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.
You should get an error message saying how to get it.
Error: Renesas UPD720202 USB3 Controller firmware file /home/bcran/tiano/K2026090.mem not found.
See edk2-platforms/Drivers/OptionRomPkg/RenesasFirmwarePD720202/README.md for details on how to obtain it.
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 think we should get user input from the build command for this mem file instead of failing to build. I would suggest adding a DEFINE USB_UPD720202_ROM_FILE which provides a way for users to input the mem file.
Then, we can check if the file exist or not before adding it to the FDF
!ifdef $(USB_UPD720202_ROM_FILE)
FILE FREEFORM = A059EBC4-D73D-4279-81BF-E4A89308B923 {
SECTION RAW = $(USB_UPD720202_ROM_FILE)
}
!endif
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.
Should we combine this file with ComHpcAlt.dec to have a single DEC file in a package? And, rename the DEC file to follow the rule (Leif suggested me earlier) <Name>Pkg/<Name>Pkg.dec
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'm not sure I understand the idea of having multiple the *.dsc.inc and *.fdf.inc here. I find it difficult to read. Should we combine them into single DSC/FDF file?
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.
Yes, I'll do that. I left them as they were provided by ADLINK but I think combining them would be good.
/** @file | ||
|
||
**/ | ||
|
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.
Missing license header. And, please check coding style in this file.
This new ComHpcAltPkg platform supports ADLINK's Ampere Altra Dev Kit,
Ampere Altra Developer Platform, and AVA Developer Platform.
They're all based on the COM-HPC-ALT module and carrier with an LGA
4926 socket supporting Ampere Altra and Ampere Altra Max CPUs up to
128 cores.
Add scripts which help users to build and flash firmware images for
platforms based on the Ampere Altra SoC.
'buildfw.sh' can be used to build images containing just UEFI, or if
the TF-A (ATF) binary is present TF-A + UEFI and complete 32MB SPI-NOR
images. If the SYS (SMPro and PMPro microprocessors) binary is also
present then a capsule update file for the SYS/SCP component of the SOC
will also be built. Usage:
'fwver.sh' is used by buildfw.sh to keep track of the number of builds
done, so that firmware files of the format e.g.
comhpcalt_uefi_2024-10-22-5.bin are created along with displaying the
date including build number during boot.
'fwflash.sh' automates flashing the host firmware when the target
system is running a BMC with OpenBMC. 'fwflash.exp' is a helper
script used by 'fwflash.sh' to ssh into the BMC and run the
ampere_flash_bios.sh utility. Usage: