public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
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
>>



  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