From: Jun Nie <jun.nie@linaro.org>
To: Leif Lindholm <leif.lindholm@linaro.org>
Cc: haojian.zhuang@linaro.org, ard.biesheuvel@linaro.org,
linaro-uefi@lists.linaro.org, shawn.guo@linaro.org,
jason.liu@linaro.org, edk2-devel@lists.01.org
Subject: Re: [PATCH 4/4] Platforms/zx: Add platform build system files
Date: Thu, 17 Aug 2017 23:46:20 +0800 [thread overview]
Message-ID: <e8540607-fe3b-d9b1-899c-1684aeaf1926@linaro.org> (raw)
In-Reply-To: <20170810150018.tju34s6kgovyd77o@bivouac.eciton.net>
On 2017年08月10日 23:00, Leif Lindholm wrote:
> On Wed, Aug 09, 2017 at 10:12:39PM +0800, Jun Nie wrote:
>> Add platform build system files, including *.dsc *.fdf *.dec
>>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Jun Nie <jun.nie@linaro.org>
>> ---
>> Platform/Sanchip/Zx296718Evb/Zx296718Evb.dec | 33 ++
>> Platform/Sanchip/Zx296718Evb/Zx296718Evb.dsc | 467 +++++++++++++++++++++++++++
>> Platform/Sanchip/Zx296718Evb/Zx296718Evb.fdf | 331 +++++++++++++++++++
>> 3 files changed, 831 insertions(+)
>> create mode 100644 Platform/Sanchip/Zx296718Evb/Zx296718Evb.dec
>> create mode 100644 Platform/Sanchip/Zx296718Evb/Zx296718Evb.dsc
>> create mode 100644 Platform/Sanchip/Zx296718Evb/Zx296718Evb.fdf
>>
>> diff --git a/Platform/Sanchip/Zx296718Evb/Zx296718Evb.dec b/Platform/Sanchip/Zx296718Evb/Zx296718Evb.dec
>> new file mode 100644
>> index 0000000..078cfdf
>> --- /dev/null
>> +++ b/Platform/Sanchip/Zx296718Evb/Zx296718Evb.dec
>> @@ -0,0 +1,33 @@
>> +#
>> +# Copyright (C) 2017 Sanechips Technology Co., Ltd.
>> +# Copyright (c) 2017, Linaro Ltd.
>> +#
>> +# This program and the accompanying materials
>> +# are licensed and made available under the terms and conditions of the BSD License
>> +# which accompanies this distribution. The full text of the license may be found at
>> +# http://opensource.org/licenses/bsd-license.php
>> +#
>> +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
>> +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>> +#
>> +
>> +[Defines]
>> + DEC_SPECIFICATION = 0x00010005
>
> 0x00010019/1.25.
>
>> + PACKAGE_NAME = Zx296718Evb
>> + PACKAGE_GUID = d6db414d-ea67-4312-94d5-9c9e5b224d25
>> + PACKAGE_VERSION = 0.1
>> +
>> +################################################################################
>> +#
>> +# Include Section - list of Include Paths that are provided by this package.
>> +# Comments are used for Keywords and Module Types.
>> +#
>> +# Supported Module Types:
>> +# BASE SEC PEI_CORE PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATION
>> +#
>> +################################################################################
>> +[Includes.common]
>> + Include # Root include for the package
>
> This directory does not exist, breaking compilation. >
>> +
>> +[Guids.common]
>> + gZx296718EvbTokenSpaceGuid = { 0x91148425, 0xcdd2, 0x4830, { 0x8b, 0xd0, 0xc6, 0x1c, 0x6d, 0xea, 0x36, 0x21 } }
>
> This does not appear to actually be used anywhere.
I already remove this whole file in next version as Ard suggested.
>
>> diff --git a/Platform/Sanchip/Zx296718Evb/Zx296718Evb.dsc b/Platform/Sanchip/Zx296718Evb/Zx296718Evb.dsc
>> new file mode 100644
>> index 0000000..d104e7c
>> --- /dev/null
>> +++ b/Platform/Sanchip/Zx296718Evb/Zx296718Evb.dsc
>> @@ -0,0 +1,467 @@
>> +#
>> +# Copyright (C) 2017 Sanechips Technology Co., Ltd.
>> +# Copyright (c) 2017, Linaro Ltd.
>> +#
>> +# This program and the accompanying materials
>> +# are licensed and made available under the terms and conditions of the BSD License
>> +# which accompanies this distribution. The full text of the license may be found at
>> +# http://opensource.org/licenses/bsd-license.php
>> +#
>> +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
>> +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>> +#
>> +
>> +################################################################################
>> +#
>> +# Defines Section - statements that will be processed to create a Makefile.
>> +#
>> +################################################################################
>> +[Defines]
>> + PLATFORM_NAME = Zx296718Evb
>> + PLATFORM_GUID = 8edf1480-da5c-4857-bc02-7530bd8e7b7a
>> + PLATFORM_VERSION = 0.2
>> + DSC_SPECIFICATION = 0x00010005
>> + OUTPUT_DIRECTORY = Build/Zx296718Evb
>> + SUPPORTED_ARCHITECTURES = AARCH64
>> + BUILD_TARGETS = DEBUG|RELEASE
>> + SKUID_IDENTIFIER = DEFAULT
>> + FLASH_DEFINITION = Platform/Sanchip/Zx296718Evb/Zx296718Evb.fdf
>> +
>> +[LibraryClasses.common]
>> +!if $(TARGET) == RELEASE
>> + DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
>> +!else
>> + DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>> +!endif
>> + DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
>> +
>> + ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
>> + ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
>> + ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf
>> + ArmHvcLib|ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf
>> + ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
>> + ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf
>> +
>> + ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
>> + ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
>> + ArmPlatformLib|Platform/Sanchip/Zx296718Evb/Library/Zx296718EvbLib/Zx296718EvbLib.inf
>> + ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
>> + ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf
>> +
>> + BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
>> + BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
>> + CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
>> + DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
>> + CpuExceptionHandlerLib|ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf
>> + CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
>> + DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
>> + DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
>> + DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
>> + EfiResetSystemLib|ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.inf
>> + MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
>> + SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
>> +
>> + BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
>> + AndroidBootImgLib|EmbeddedPkg/Library/AndroidBootImgLib/AndroidBootImgLib.inf
>> + FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
>> + UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
>> + PlatformBootManagerLib|Silicon/Sanchip/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
>> + CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
>> +
>> + ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
>> + FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
>> + SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
>> +
>> + # UiApp dependencies
>> + ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
>> + FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
>> + DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
>> +
>> + HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
>> + BasePeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
>> + IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
>> + HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
>> + UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
>> + RealTimeClockLib|Silicon/Sanchip/Library/Zx6718RealTimeClockLib/Zx296718RealTimeClock.inf
>> + TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
>> + UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
>> + UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
>> + UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
>> +
>> + PL011UartLib|ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf
>> + SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf
>> +
>> + NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
>> +
>> + #
>> + # Assume everything is fixed at build
>> + #
>> + PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
>> +
>> + PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
>> + PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
>> + PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
>> + PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
>> + PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
>> + UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
>> + UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
>> + UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
>> + UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
>> +
>> + UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
>> +
>> + # Network Libraries
>> + UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
>> + NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
>> + DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
>> + IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
>> + UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
>> +
>> + # It is not possible to prevent compilers from generating calls to generic
>> + # intrinsic functions. This library provides the intrinsic functions
>> + # generated by a given compiler.
>> + NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>> +
>> + # Add support for GCC stack protector
>> + NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
>> +
>> +[LibraryClasses.common.SEC]
>> + PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
>> + ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
>> + LzmaDecompressLib|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
>> + MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
>> + HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
>> + PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
>> + PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
>> + PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
>> + MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf
>> + ArmGicArchLib|ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.inf
>> + DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf
>> +
>> +[LibraryClasses.common.DXE_CORE]
>> + DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
>> + DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
>> + ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
>> + HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
>> + MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
>> + ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
>> +
>> +[LibraryClasses.common.UEFI_DRIVER]
>> + ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
>> +
>> +[LibraryClasses.common.DXE_DRIVER]
>> + DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
>> + MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
>> + ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
>> + SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
>> +
>> +[LibraryClasses.common.DXE_RUNTIME_DRIVER]
>> + CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
>> + HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
>> + MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
>> + ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
>> +
>> +[BuildOptions]
>> + GCC:*_*_*_PLATFORM_FLAGS == -I$(WORKSPACE)/Silicon/Sanchip/Zx296718/Include -I$(WORKSPACE)/Platform/Sanchip/Zx296718Evb/Include
>
> Platform/Sanchip/Zx296718Evb/Include does not exist.
> Silicon/Sanchip/Zx296718 should be automatically added by including
> Silicon/Sanchip/Zx296718/Zx296718.dec where required.
Platform/Sanchip/Zx296718Evb/Include is empty folder in my env. Will
remove it.
>
>> +
>> +[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
>> + GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000
>> +
>> +################################################################################
>> +#
>> +# Pcd Section - list of all EDK II PCD Entries defined by this Platform
>> +#
>> +################################################################################
>> +
>> +[PcdsFeatureFlag.common]
>> + gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE
>> + gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE
>> + gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
>> + gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
>> +
>> + #
>> + # Control what commands are supported from the UI
>> + # Turn these on and off to add features or save size
>> + #
>> + gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE
>> + gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE
>> + gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE
>> + gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE
>> + gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE
>> + gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE
>> + gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE
>> +
>> + gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE
>> +
>> + # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress
>> + gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE
>> +
>> + gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
>> +
>> + gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec|TRUE
>> +
>> + ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
>> + # It could be set FALSE to save size.
>> + gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|FALSE
>> +
>> + gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
>> +
>> +[PcdsFixedAtBuild.common]
>> + gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
>> + gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
>> + gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
>> + gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
>> + gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
>> + gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1
>> + gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
>> + gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
>> +
>> + # DEBUG_ASSERT_ENABLED 0x01
>> + # DEBUG_PRINT_ENABLED 0x02
>> + # DEBUG_CODE_ENABLED 0x04
>> + # CLEAR_MEMORY_ENABLED 0x08
>> + # ASSERT_BREAKPOINT_ENABLED 0x10
>> + # ASSERT_DEADLOOP_ENABLED 0x20
>> +!if $(TARGET) == RELEASE
>> + gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
>> +!else
>> + gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
>> +!endif
>> +
>> + # DEBUG_INIT 0x00000001 // Initialization
>> + # DEBUG_WARN 0x00000002 // Warnings
>> + # DEBUG_LOAD 0x00000004 // Load events
>> + # DEBUG_FS 0x00000008 // EFI File system
>> + # DEBUG_POOL 0x00000010 // Alloc & Free's
>> + # DEBUG_PAGE 0x00000020 // Alloc & Free's
>> + # DEBUG_INFO 0x00000040 // Verbose
>> + # DEBUG_DISPATCH 0x00000080 // PEI/DXE Dispatchers
>> + # DEBUG_VARIABLE 0x00000100 // Variable
>> + # DEBUG_BM 0x00000400 // Boot Manager
>> + # DEBUG_BLKIO 0x00001000 // BlkIo Driver
>> + # DEBUG_NET 0x00004000 // SNI Driver
>> + # DEBUG_UNDI 0x00010000 // UNDI Driver
>> + # DEBUG_LOADFILE 0x00020000 // UNDI Driver
>> + # DEBUG_EVENT 0x00080000 // Event messages
>> + # DEBUG_GCD 0x00100000 // Global Coherency Database changes
>> + # DEBUG_CACHE 0x00200000 // Memory range cachability changes
>> + # DEBUG_ERROR 0x80000000 // Error
>> + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
>> +
>> + gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
>> +
>> + #
>> + # Optional feature to help prevent EFI memory map fragments
>> + # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
>> + # Values are in EFI Pages (4K). DXE Core will make sure that
>> + # at least this much of each type of memory can be allocated
>> + # from a single memory range. This way you only end up with
>> + # maximum of two fragements for each type in the memory map
>> + # (the memory used, and the free memory that was prereserved
>> + # but not used).
>> + #
>> + gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
>> + gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
>> + gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
>> + gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80
>> + gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|65
>> + gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400
>> + gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|20000
>> + gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
>> + gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
>> +
>> + gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4
>> +
>> + gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""
>> + gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
>> + gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
>> +
>> + gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ZTE"
>> + gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"Alpha"
>> + gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"Zx296718Evb"
>> +
>> + # System Memory (1GB)
>> + gArmTokenSpaceGuid.PcdSystemMemoryBase|0x40000000
>> + gArmTokenSpaceGuid.PcdSystemMemorySize|0x40000000
>> +
>> + # Zx296718 Cluster profile
>> + gArmPlatformTokenSpaceGuid.PcdCoreCount|4
>> + gArmPlatformTokenSpaceGuid.PcdClusterCount|1
>> +
>> + gArmTokenSpaceGuid.PcdVFPEnabled|1
>> +
>> + #
>> + # ARM PrimeCell
>> + #
>> +
>> + ## PL011 - Serial Terminal
>> + DEFINE SERIAL_BASE = 0x11F000 # UART0
>> + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|$(SERIAL_BASE)
>> + gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
>> + gArmPlatformTokenSpaceGuid.PL011UartRegOffsetVariant|1
>> +# gArmPlatformTokenSpaceGuid.PL011UartInteger|10
>> +# gArmPlatformTokenSpaceGuid.PL011UartFractional|26
>
> If these are not needed, please delete them rather than commenting
> out.
sure.
>
>> +
>> + ## RealTimeClock
>> + gSanchipTokenSpaceGuid.PcdZxRtcClockBase|0x115000
>> + gSanchipTokenSpaceGuid.PcdZxRtcClockFreq|24000
>> +
>> + #
>> + # ARM General Interrupt Controller
>> + #
>> + gArmTokenSpaceGuid.PcdGicDistributorBase|0x02a00000
>> + gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x2b00000
>> +
>> + # Use the serial console (ConIn & ConOut)
>> + gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi();VenHw(CE660500-824D-11E0-AC72-0002A5D5C51B)"
>> + gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi()"
>> + gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|1
>> +
>> + # GUID of the UEFI Shell
>> + gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
>> +
>> + # GUID of the UI app
>> + gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
>> +
>> + gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
>> +
>> + #
>> + # ARM Architectural Timer Frequency
>> + #
>> + gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|24000000
>> + gEmbeddedTokenSpaceGuid.PcdMetronomeTickPeriod|1000
>> + gEmbeddedTokenSpaceGuid.PcdTimerPeriod|10000
>> + gEmbeddedTokenSpaceGuid.PcdTimerPeriod|10000 # expressed in 100ns units, 10,000 x 100 ns = 1,000,000 ns = 1 ms
>> +
>> + #
>> + # DW MMC/SD card controller
>> + #
>> + gEmbeddedTokenSpaceGuid.PcdDwEmmcDxeBaseAddress|0x1470000
>> + gEmbeddedTokenSpaceGuid.PcdDwEmmcDxeClockFrequencyInHz|198000000
>> + gEmbeddedTokenSpaceGuid.PcdDwEmmcDxeMaxClockFreqInHz|26000000
>> + gEmbeddedTokenSpaceGuid.PcdDwEmmcDxeFifoDepth|128
>> +
>> + #
>> + # Android Loader
>> + #
>> + gEmbeddedTokenSpaceGuid.PcdAndroidBootDevicePath|L"VenHw(B549F005-4BD4-4020-A0CB-06F42BDA68C3)/HD(8,GPT,A092C620-D178-4CA7-B540-C4E26BD6D2E2,0x228000,0x10001)"
>> +
>> +################################################################################
>> +#
>> +# Components Section - list of all EDK II Modules needed by this Platform
>> +#
>> +################################################################################
>> +[Components.common]
>> + #
>> + # PEI Phase modules
>> + #
>> + ArmPlatformPkg/PrePi/PeiUniCore.inf
>> +
>> + #
>> + # DXE
>> + #
>> + MdeModulePkg/Core/Dxe/DxeMain.inf {
>> + <LibraryClasses>
>> + PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
>> + NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
>> + }
>> +
>> + #
>> + # Architectural Protocols
>> + #
>> + ArmPkg/Drivers/CpuDxe/CpuDxe.inf
>> + MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
>> + MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
>> + MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
>> + EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
>> + EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
>> + EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
>> + EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
>> +
>> + MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
>> + MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
>> + MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
>> + MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
>> +
>> + MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
>> + MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
>> +
>> + ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
>> + ArmPkg/Drivers/TimerDxe/TimerDxe.inf
>> +
>> + MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
>> +
>> + MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
>> +
>> + Platform/Sanchip/Zx296718Evb/Drivers/Zx296718EvbDxe/Zx296718EvbDxe.inf
>> +
>> + #
>> + # MMC/SD
>> + #
>> + EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
>> + EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.inf
>> +
>> + #
>> + # Android Loader
>> + #
>> + EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf
>> + EmbeddedPkg/Application/AndroidBoot/AndroidBootApp.inf {
>> + <LibraryClasses>
>> + BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
>
> This is already getting globally resolved to the same version.
>
>> + }
>> +
>> + #
>> + # UEFI Network Stack
>> + #
>> + MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
>> + MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
>> + MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
>> + MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
>> + MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
>> + MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
>> + MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
>> + MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
>> + MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
>> +
>> + #
>> + # FAT filesystem + GPT/MBR partitioning
>> + #
>> + MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
>> + MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
>> + MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
>> + FatPkg/EnhancedFatDxe/Fat.inf
>> +
>> + #
>> + # Bds
>> + #
>> + MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
>> + MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
>> + MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
>> + MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
>> + MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
>> + MdeModulePkg/Application/UiApp/UiApp.inf {
>> + <LibraryClasses>
>> + NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
>> + NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
>> + NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
>> + PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
>> + }
>> + ShellPkg/Application/Shell/Shell.inf {
>> + <LibraryClasses>
>> + ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
>> + NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
>> + NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
>> + NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
>> + NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
>> + NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
>> + NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
>> + NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
>> + NULL|ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf
>> + HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
>> + PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
>> + BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
>> + <PcdsFixedAtBuild>
>> + gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
>> + gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
>> + gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
>> + }
>> diff --git a/Platform/Sanchip/Zx296718Evb/Zx296718Evb.fdf b/Platform/Sanchip/Zx296718Evb/Zx296718Evb.fdf
>> new file mode 100644
>> index 0000000..bbafe45
>> --- /dev/null
>> +++ b/Platform/Sanchip/Zx296718Evb/Zx296718Evb.fdf
>> @@ -0,0 +1,331 @@
>> +#
>> +# Copyright (C) 2017 Sanechips Technology Co., Ltd.
>> +# Copyright (c) 2017, Linaro Ltd.
>> +#
>> +# This program and the accompanying materials
>> +# are licensed and made available under the terms and conditions of the BSD License
>> +# which accompanies this distribution. The full text of the license may be found at
>> +# http://opensource.org/licenses/bsd-license.php
>> +#
>> +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
>> +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>> +#
>> +
>> +################################################################################
>> +#
>> +# FD Section
>> +# The [FD] Section is made up of the definition statements and a
>> +# description of what goes into the Flash Device Image. Each FD section
>> +# defines one flash "device" image. A flash device image may be one of
>> +# the following: Removable media bootable image (like a boot floppy
>> +# image,) an Option ROM image (that would be "flashed" into an add-in
>> +# card,) a System "Flash" image (that would be burned into a system's
>> +# flash) or an Update ("Capsule") image that will be used to update and
>> +# existing system flash.
>> +#
>> +################################################################################
>> +
>> +[FD.BL33_AP_UEFI]
>> +BaseAddress = 0x4F000000|gArmTokenSpaceGuid.PcdFdBaseAddress # The base address of the Firmware in NOR Flash.
>> +Size = 0x000F0000|gArmTokenSpaceGuid.PcdFdSize # The size in bytes of the FLASH Device
>> +ErasePolarity = 1
>> +
>> +# This one is tricky, it must be: BlockSize * NumBlocks = Size
>> +BlockSize = 0x00001000
>> +NumBlocks = 0xF0
>> +
>> +################################################################################
>> +#
>> +# Following are lists of FD Region layout which correspond to the locations of different
>> +# images within the flash device.
>> +#
>> +# Regions must be defined in ascending order and may not overlap.
>> +#
>> +# A Layout Region start with a eight digit hex offset (leading "0x" required) followed by
>> +# the pipe "|" character, followed by the size of the region, also in hex with the leading
>> +# "0x" characters. Like:
>> +# Offset|Size
>> +# PcdOffsetCName|PcdSizeCName
>> +# RegionType <FV, DATA, or FILE>
>> +#
>> +################################################################################
>> +
>> +0x00000000|0x000F0000
>> +gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize
>> +FV = FVMAIN_COMPACT
>> +
>> +
>> +################################################################################
>> +#
>> +# FV Section
>> +#
>> +# [FV] section is used to define what components or modules are placed within a flash
>> +# device file. This section also defines order the components and modules are positioned
>> +# within the image. The [FV] section consists of define statements, set statements and
>> +# module statements.
>> +#
>> +################################################################################
>> +
>> +[FV.FvMain]
>> +BlockSize = 0x40
>> +NumBlocks = 0 # This FV gets compressed so make it just big enough
>> +FvAlignment = 8 # FV alignment and FV attributes setting.
>> +ERASE_POLARITY = 1
>> +MEMORY_MAPPED = TRUE
>> +STICKY_WRITE = TRUE
>> +LOCK_CAP = TRUE
>> +LOCK_STATUS = TRUE
>> +WRITE_DISABLED_CAP = TRUE
>> +WRITE_ENABLED_CAP = TRUE
>> +WRITE_STATUS = TRUE
>> +WRITE_LOCK_CAP = TRUE
>> +WRITE_LOCK_STATUS = TRUE
>> +READ_DISABLED_CAP = TRUE
>> +READ_ENABLED_CAP = TRUE
>> +READ_STATUS = TRUE
>> +READ_LOCK_CAP = TRUE
>> +READ_LOCK_STATUS = TRUE
>> +
>> + INF MdeModulePkg/Core/Dxe/DxeMain.inf
>> +
>> + #
>> + # PI DXE Drivers producing Architectural Protocols (EFI Services)
>> + #
>> + INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf
>> + INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
>> + INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
>> + INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
>> + INF EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
>> + INF EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
>> + INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
>> + INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
>> +
>> + #
>> + # Multiple Console IO support
>> + #
>> + INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
>> + INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
>> + INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
>> +
>> + INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
>> + INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
>> +
>> + INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
>> +
>> + INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
>> +
>> + #
>> + # Multimedia Card Interface
>> + #
>> + INF EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
>> + INF EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.inf
>> +
>> + #
>> + # Android Loader
>> + #
>> + INF EmbeddedPkg/Application/AndroidBoot/AndroidBootApp.inf
>> +
>> + #
>> + # UEFI Network Stack
>> + #
>> + INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
>> + INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
>> + INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
>> + INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
>> + INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
>> + INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
>> + INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
>> + INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
>> + INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
>> +
>> + #
>> + # FAT filesystem + GPT/MBR partitioning
>> + #
>> + INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
>> + INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
>> + INF FatPkg/EnhancedFatDxe/Fat.inf
>> + INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
>> +
>> + INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
>> + INF MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
>> +
>> + INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
>> +
>> + #
>> + # UEFI applications
>> + #
>> + INF ShellPkg/Application/Shell/Shell.inf
>> +
>> + #
>> + # Bds
>> + #
>> + INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
>> + INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
>> + INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
>> + INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
>> + INF MdeModulePkg/Application/UiApp/UiApp.inf
>> +
>> + #
>> + # Zx296718Evb Platform
>> + #
>> + INF Platform/Sanchip/Zx296718Evb/Drivers/Zx296718EvbDxe/Zx296718EvbDxe.inf
>> +
>> +[FV.FVMAIN_COMPACT]
>> +FvAlignment = 8
>> +ERASE_POLARITY = 1
>> +MEMORY_MAPPED = TRUE
>> +STICKY_WRITE = TRUE
>> +LOCK_CAP = TRUE
>> +LOCK_STATUS = TRUE
>> +WRITE_DISABLED_CAP = TRUE
>> +WRITE_ENABLED_CAP = TRUE
>> +WRITE_STATUS = TRUE
>> +WRITE_LOCK_CAP = TRUE
>> +WRITE_LOCK_STATUS = TRUE
>> +READ_DISABLED_CAP = TRUE
>> +READ_ENABLED_CAP = TRUE
>> +READ_STATUS = TRUE
>> +READ_LOCK_CAP = TRUE
>> +READ_LOCK_STATUS = TRUE
>> +
>> + INF ArmPlatformPkg/PrePi/PeiUniCore.inf
>> +
>> + FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
>> + SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
>> + SECTION FV_IMAGE = FVMAIN
>> + }
>> + }
>> +
>> +
>> +################################################################################
>> +#
>> +# Rules are use with the [FV] section's module INF type to define
>> +# how an FFS file is created for a given INF file. The following Rule are the default
>> +# rules for the different module type. User can add the customized rules to define the
>> +# content of the FFS file.
>> +#
>> +################################################################################
>> +
>> +
>> +############################################################################
>> +# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section #
>> +############################################################################
>> +#
>> +#[Rule.Common.DXE_DRIVER]
>> +# FILE DRIVER = $(NAMED_GUID) {
>> +# DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
>> +# COMPRESS PI_STD {
>> +# GUIDED {
>> +# PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
>> +# UI STRING="$(MODULE_NAME)" Optional
>> +# VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
>> +# }
>> +# }
>> +# }
>> +#
>> +############################################################################
>> +
>> +#
>> +# These SEC rules are used for ArmPlatformPkg/PrePi module.
>> +# ArmPlatformPkg/PrePi is declared as a SEC module to make GenFv patch the
>> +# UEFI Firmware to jump to ArmPlatformPkg/PrePi entrypoint
>> +#
>> +[Rule.ARM.SEC]
>> + FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {
>> + TE TE Align = 32 $(INF_OUTPUT)/$(MODULE_NAME).efi
>> + }
>> +
>> +[Rule.AARCH64.SEC]
>> + FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {
>> + TE TE Align = 4K $(INF_OUTPUT)/$(MODULE_NAME).efi
>> + }
>> +
>> +# A shim specific rule is required to ensure the alignment is 4K.
>> +# Otherwise BaseTools pick up the AArch32 alignment (ie: 32)
>> +[Rule.ARM.SEC.SHIM]
>> + FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {
>> + TE TE Align = 4K $(INF_OUTPUT)/$(MODULE_NAME).efi
>> + }
>> +
>> +[Rule.Common.PEI_CORE]
>> + FILE PEI_CORE = $(NAMED_GUID) {
>> + TE TE $(INF_OUTPUT)/$(MODULE_NAME).efi
>> + UI STRING ="$(MODULE_NAME)" Optional
>> + }
>> +
>> +[Rule.Common.PEIM]
>> + FILE PEIM = $(NAMED_GUID) {
>> + PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
>> + TE TE $(INF_OUTPUT)/$(MODULE_NAME).efi
>> + UI STRING="$(MODULE_NAME)" Optional
>> + }
>> +
>> +[Rule.Common.PEIM.TIANOCOMPRESSED]
>> + FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 {
>> + PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
>> + GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {
>> + PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
>> + UI STRING="$(MODULE_NAME)" Optional
>> + }
>> + }
>> +
>> +[Rule.Common.DXE_CORE]
>> + FILE DXE_CORE = $(NAMED_GUID) {
>> + PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
>> + UI STRING="$(MODULE_NAME)" Optional
>> + }
>> +
>> +[Rule.Common.UEFI_DRIVER]
>> + FILE DRIVER = $(NAMED_GUID) {
>> + DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
>> + PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
>> + UI STRING="$(MODULE_NAME)" Optional
>> + }
>> +
>> +[Rule.Common.DXE_DRIVER]
>> + FILE DRIVER = $(NAMED_GUID) {
>> + DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
>> + PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
>> + UI STRING="$(MODULE_NAME)" Optional
>> + }
>> +
>> +[Rule.Common.DXE_DRIVER.BINARY]
>> + FILE DRIVER = $(NAMED_GUID) {
>> + DXE_DEPEX DXE_DEPEX Optional |.depex
>> + PE32 PE32 |.efi
>> + UI STRING="$(MODULE_NAME)" Optional
>> + }
>> +
>> +[Rule.Common.DXE_RUNTIME_DRIVER]
>> + FILE DRIVER = $(NAMED_GUID) {
>> + DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
>> + PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
>> + UI STRING="$(MODULE_NAME)" Optional
>> + }
>> +
>> +[Rule.Common.UEFI_APPLICATION]
>> + FILE APPLICATION = $(NAMED_GUID) {
>> + UI STRING ="$(MODULE_NAME)" Optional
>> + PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
>> + }
>> +
>> +[Rule.Common.UEFI_DRIVER.BINARY]
>> + FILE DRIVER = $(NAMED_GUID) {
>> + DXE_DEPEX DXE_DEPEX Optional |.depex
>> + PE32 PE32 |.efi
>> + UI STRING="$(MODULE_NAME)" Optional
>> + VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
>> + }
>> +
>> +[Rule.Common.UEFI_APPLICATION.BINARY]
>> + FILE APPLICATION = $(NAMED_GUID) {
>> + PE32 PE32 |.efi
>> + UI STRING="$(MODULE_NAME)" Optional
>> + VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
>> + }
>> +
>> +[Rule.Common.USER_DEFINED.ACPITABLE]
>
> Are you planning on adding ACPI support?
>
>> + FILE FREEFORM = $(NAMED_GUID) {
>> + RAW ACPI |.acpi
>> + RAW ASL |.aml
>> + }
>> --
>> 1.9.1
>>
next prev parent reply other threads:[~2017-08-17 15:44 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1502287959-16806-1-git-send-email-jun.nie@linaro.org>
2017-08-10 13:04 ` [PATCH 1/4] Platforms: Add Sanchip Zx296718 basic library Leif Lindholm
2017-08-10 14:16 ` Laszlo Ersek
[not found] ` <e3573cc7-875f-6b44-12dd-b76ec8c9272a@linaro.org>
2017-08-17 15:51 ` Leif Lindholm
[not found] ` <1502287959-16806-3-git-send-email-jun.nie@linaro.org>
2017-08-10 14:41 ` [PATCH 3/4] Platforms/zx: Add boot manager lib and entries Leif Lindholm
2017-08-17 15:45 ` Jun Nie
2017-08-17 18:53 ` Leif Lindholm
[not found] ` <1502287959-16806-4-git-send-email-jun.nie@linaro.org>
2017-08-10 15:00 ` [PATCH 4/4] Platforms/zx: Add platform build system files Leif Lindholm
2017-08-17 15:46 ` Jun Nie [this message]
[not found] ` <1502287959-16806-2-git-send-email-jun.nie@linaro.org>
2017-08-10 14:03 ` [PATCH 2/4] Platforms: Add ZX RTC driver for Sanchip SoC Leif Lindholm
2017-08-17 15:43 ` Jun Nie
2017-08-17 15:55 ` Leif Lindholm
2017-08-10 15:15 ` Leif Lindholm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e8540607-fe3b-d9b1-899c-1684aeaf1926@linaro.org \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox