# Platform build configurations for Linaro EDK2 builds # ==================================================== # The configuration file format is extremely simplistic: # - Each platform has a short name. # - A platform entry starts by the short name held in square brackets, '[]' # - Within each entry, all options are described in a NAME=VALUE scheme, # with the name being whatever comes before the first '=' on the line, # and the value being everything that comes after it. # # Mandatory options: # - LONGNAME A more descriptive name of the platform. # - DSC Pointer to the EDK2 build description file. (The # pandaboard is excused, all other ports must have this.) # - ARCH String describing the architecture to build for. # Currently supported are AARCH32 and AARCH64. # - UEFI_BIN Name of executable image produced. # - UEFI_IMAGE_DIR Build output directory name, relative to 'Build'. # # Options for Trusted OS # Note that OP-TEE (https://github.com/OP-TEE/optee_os) is the only currently # supported Trusted OS # - BUILD_TOS Set to "yes" if the build should automatically build # Trusted OS, mainly for ARM Trusted Firmware. # If this is set, you must also set ATF_SPD! # Else we will not know which specific Trusted OS to # build. # Set to "debug" to create a debug build. # - TOS_PLATFORM Platform name for Trusted OS build, if # different from ARM Trusted Firmware platform # or UEFI platform name. # - TOS_PLATFORM_FLAVOR If a core platform has multiple flavors, specify which # flavor here. # # Options for ARM Trusted Firmware platforms # - BUILD_ATF Set to "yes" if the build should automatically build # ARM Trusted Firmware and a fip containing UEFI image. # Set to "debug" to create a debug build. # - ATF_PLATFORM Platform name for ARM Trusted Firmware build, if # different from UEFI platform name. # - SCP_BIN SCP image to pass to ARM Trusted Firmware. # - TOS_BIN Trusted OS image to pass to ARM Trusted Firmware. # The path is relative to # $EDK2_DIR/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/. # To actually build the Trusted OS, you must also set # ATF_SPD. # - ATF_SPD Name of Secure Payload Dispatcher # To actually build the Trusted OS, you must also set # TOS_BIN. # - SPM_BIN Prebuilt Secure Partition image to pass to ARM Trusted Firmware. # The path is relative to # $EDK2_DIR/Build/StandaloneSmmPkg/$BUILD_PROFILE/FV/. # # Optional options: # - BUILDFLAGS Any special flags you want to pass to the build command. # - ATF_BUILDFLAGS Any special flags you want to pass to the ARM Trusted # Firmware build command. # - TOS_BUILDFLAGS Any special flags you want to pass to the Trusted OS # build command. # - EXTRA_FILES Any additional files to be copied to output dir. # - PREBUILD_CMDS Any commands you want to execute before the build step. # - POSTBUILD_CMDS Any commands you want to execute after the build step. # - PACKAGES_PATH Additional directories to search for packages under. # - INF Point to a .inf (in addition to a .dsc) in order to # build a single component (standalone driver/app). # [juno] LONGNAME=aarch64 Juno DSC=OpenPlatformPkg/Platforms/ARM/Juno/ArmJuno.dsc BUILDFLAGS= ARCH=AARCH64 BUILD_ATF=yes UEFI_BIN=BL33_AP_UEFI.fd UEFI_IMAGE_DIR=ArmJuno SCP_BIN=OpenPlatformPkg/Platforms/ARM/Juno/Binary/bl30.bin EXTRA_FILES=../../../../OpenPlatformPkg/Platforms/ARM/Juno/Binary/bl0.bin ../../../../OpenPlatformPkg/Platforms/ARM/Juno/Binary/Copying.txt # ARM FVP BASE AEMv8-A model [fvp_full] LONGNAME=aarch64 FVP RTSM with full perhiperhal set DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc BUILDFLAGS=-D EDK2_OUT_DIR=Build/ArmVExpress-FVP-AArch64-Full -D EDK2_ENABLE_SMSC_91X=1 -D EDK2_ENABLE_PL111=1 ARCH=AARCH64 UEFI_BIN=FVP_AARCH64_EFI.fd UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-Full [fvp] LONGNAME=aarch64 FVP RTSM DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc BUILDFLAGS=-D EDK2_ENABLE_SMSC_91X=1 ARCH=AARCH64 BUILD_ATF=yes UEFI_BIN=FVP_AARCH64_EFI.fd UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64 # ARM FVP BASE AEMv8-A model [fvp_mm_standalone] LONGNAME=FVP Base for MM Standalone image in secure world DSC=StandaloneSmmPkg/StandaloneSmmPkg.dsc ARCH=AARCH64 UEFI_BIN=FVP_AARCH64_EFI_MM_STANDALONE.fd UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-MM-Standalone [fvp_mm_normal] LONGNAME=FVP Base for UEFI image with MM support in normal world DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc BUILDFLAGS=-D EDK2_OUT_DIR=Build/ArmVExpress-FVP-AArch64-MM-Normal -D ARM_STANDALONE_MM_ENABLE=TRUE ARCH=AARCH64 BUILD_ATF=debug UEFI_BIN=FVP_AARCH64_EFI.fd UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-MM-Normal ATF_PLATFORM=fvp SPM_BIN=STANDALONESMM.fd ATF_BUILDFLAGS=ARM_BL31_IN_DRAM=1 [tc2] LONGNAME=Versatile Express TC2 BUILDFLAGS=-D ARM_BIGLITTLE_TC2=1 DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc ARCH=ARM UEFI_BIN=ARM_VEXPRESS_CTA15A7_EFI.fd UEFI_IMAGE_DIR=ArmVExpress-CTA15-A7 [beagle] LONGNAME=BeagleBoard BUILDFLAGS= DSC=BeagleBoardPkg/BeagleBoardPkg.dsc ARCH=ARM [d01] LONGNAME=HiSilicon D01 Cortex-A15 16-cores BUILDFLAGS=-D EDK2_ARMVE_STANDALONE=1 DSC=HisiPkg/D01BoardPkg/D01BoardPkg.dsc ARCH=ARM UEFI_BIN=D01.fd UEFI_IMAGE_DIR=D01 [d01-intelbds] LONGNAME=HiSilicon D01 Cortex-A15 16-cores Intel Bds BUILDFLAGS=-D EDK2_ARMVE_STANDALONE=1 -D INTEL_BDS -D NO_LINUX_LOADER -D EDK2_OUT_DIR=Build/D01-IntelBds DSC=HisiPkg/D01BoardPkg/D01BoardPkg.dsc ARCH=ARM UEFI_BIN=D01.fd UEFI_IMAGE_DIR=D01 [qemu] LONGNAME=QEMU ARM Emulator BUILDFLAGS=-D INTEL_BDS DSC=ArmVirtPkg/ArmVirtQemu.dsc ARCH=ARM UEFI_BIN=QEMU_EFI.fd UEFI_IMAGE_DIR=ArmVirtQemu-ARM [qemu64] LONGNAME=QEMU AArch64 Emulator BUILDFLAGS=-D INTEL_BDS DSC=ArmVirtPkg/ArmVirtQemu.dsc ARCH=AARCH64 UEFI_BIN=QEMU_EFI.fd UEFI_IMAGE_DIR=ArmVirtQemu-AARCH64 [mustang] LONGNAME=APM XGene Mustang BUILDFLAGS= DSC=ArmPlatformPkg/APMXGenePkg/APMXGene-Mustang.dsc ARCH=AARCH64 UEFI_BIN=APMXGENE-MUSTANG.fd SEC_APMXGENE-MUSTANG.fd UEFI_IMAGE_DIR=APMXGene-Mustang [overdrive] LONGNAME=AMD Overdrive BUILDFLAGS=-D INTEL_BDS DSC=OpenPlatformPkg/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc ARCH=AARCH64 PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary UEFI_BIN=STYX_ROM.fd UEFI_IMAGE_DIR=Overdrive [overdrive1000] LONGNAME=SoftIron Overdrive 1000 BUILDFLAGS=-D INTEL_BDS DSC=OpenPlatformPkg/Platforms/AMD/Styx/Overdrive1000Board/Overdrive1000Board.dsc ARCH=AARCH64 PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary UEFI_BIN=OVERDRIVE1000_ROM.fd UEFI_IMAGE_DIR=Overdrive1000Board [cello] LONGNAME=LeMaker Cello BUILDFLAGS=-D INTEL_BDS DSC=OpenPlatformPkg/Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc ARCH=AARCH64 PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary UEFI_BIN=STYX_ROM.fd UEFI_IMAGE_DIR=Cello # NOTE: If using upstream ATF, i.e. # https://github.com/ARM-software/arm-trusted-firmware # please set TOS_BIN=tee-pager.bin [hikey] LONGNAME=CircuitCo HiKey DSC=OpenPlatformPkg/Platforms/Hisilicon/HiKey/HiKey.dsc ARCH=AARCH64 UEFI_BIN=BL33_AP_UEFI.fd UEFI_IMAGE_DIR=HiKey BUILD_ATF=yes ATF_SPD=opteed TOS_BIN=tee.bin TOS_PLATFORM_FLAVOR=hikey BUILD_TOS=yes SCP_BIN=OpenPlatformPkg/Platforms/Hisilicon/HiKey/Binary/mcuimage.bin # Uncomment this to use UART0 as the EDK2 console #BUILDFLAGS=-DSERIAL_BASE=0xF8015000 # Uncomment this to use UART0 as the ARM Trusted Firmware console #ATF_BUILDFLAGS=CONSOLE_BASE=PL011_UART0_BASE CRASH_CONSOLE_BASE=PL011_UART0_BASE # Uncomment this to use UART0 as the OP-TEE Trusted OS console #TOS_BUILDFLAGS=CFG_CONSOLE_UART=0 [hikey960] LONGNAME=Hikey960 DSC=OpenPlatformPkg/Platforms/Hisilicon/HiKey960/HiKey960.dsc ARCH=AARCH64 UEFI_BIN=BL33_AP_UEFI.fd UEFI_IMAGE_DIR=HiKey960 BUILD_ATF=yes ATF_SPD=opteed TOS_BIN=tee-pager.bin TOS_PLATFORM=hikey TOS_PLATFORM_FLAVOR=hikey960 BUILD_TOS=yes SCP_BIN=OpenPlatformPkg/Platforms/Hisilicon/HiKey960/Binary/lpm3.img # Uncomment this to use UART5 as the EDK2 console for v1 hardware #BUILDFLAGS=-DSERIAL_BASE=0xFDF05000 [xen64] LONGNAME=AArch64 Xen guest BUILDFLAGS= DSC=ArmVirtPkg/ArmVirtXen.dsc ARCH=AARCH64 UEFI_BIN=XEN_EFI.fd UEFI_IMAGE_DIR=ArmVirtXen-AARCH64 [aarch64-shell] LONGNAME=AArch64 EFI Shell BUILDFLAGS=-D INCLUDE_TFTP_COMMAND DSC=ShellPkg/ShellPkg.dsc ARCH=AARCH64 [aarch64-shell-minimal] LONGNAME=AArch64 EFI Shell (Minimal) BUILDFLAGS=-D NO_SHELL_PROFILES DSC=ShellPkg/ShellPkg.dsc ARCH=AARCH64 [arm-shell] LONGNAME=ARM EFI Shell BUILDFLAGS=-D INCLUDE_TFTP_COMMAND DSC=ShellPkg/ShellPkg.dsc ARCH=ARM [arm-shell-minimal] LONGNAME=ARM EFI Shell (Minimal) BUILDFLAGS=-D NO_SHELL_PROFILES DSC=ShellPkg/ShellPkg.dsc ARCH=ARM [d02] LONGNAME=Hisilicon D02 DSC=OpenPlatformPkg/Platforms/Hisilicon/D02/Pv660D02.dsc ARCH=AARCH64 UEFI_BIN=PV660D02.fd UEFI_IMAGE_DIR=Pv660D02 [d03] LONGNAME=Hisilicon D03 DSC=OpenPlatformPkg/Platforms/Hisilicon/D03/D03.dsc ARCH=AARCH64 UEFI_BIN=D03.fd UEFI_IMAGE_DIR=D03 [d05] LONGNAME=HiSilicon D05 DSC=OpenPlatformPkg/Platforms/Hisilicon/D05/D05.dsc ARCH=AARCH64 UEFI_BIN=D05.fd UEFI_IMAGE_DIR=D05 [armada70x0] LONGNAME=Marvell Armada 70x0 DSC=OpenPlatformPkg/Platforms/Marvell/Armada/Armada70x0.dsc ARCH=AARCH64 [ovmfx64] LONGNAME=OVMF Qemu X64 DSC=OvmfPkg/OvmfPkgX64.dsc ARCH=X64 [hello] LONGNAME=EDK2 Hello World Example DSC=MdeModulePkg/MdeModulePkg.dsc INF=MdeModulePkg/Application/HelloWorld/HelloWorld.inf [chaoskey] LONGNAME=Altus Metrum ChaosKey Driver DSC=OptionRomPkg/OptionRomPkg.dsc INF=OpenPlatformPkg/Drivers/Usb/Misc/ChaosKeyDxe/ChaosKeyDxe.inf