On 01/18/16 15:29, Ryan Harkin wrote:
> ARM Ltd Platform support is migrating to use OpenPlatformPkg [1].
> 
> Currently, FVP exists both in EDK2's ArmPlatformPkg and in
> OpenPlatformPkg [2].  And they are starting to diverge, with
> OpenPlatformPkg being the most up-to-date with current developments.
> To prevent this divergence, remove the .dsc and .fdf files from
> ArmPlatformPkg and leave OpenPlatformPkg as the master.
> 
> [1] https://git.linaro.org/uefi/OpenPlatformPkg.git
> [2] 
> https://git.linaro.org/uefi/OpenPlatformPkg.git/tree/master:/Platforms/ARM/VExpress
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ryan Harkin <ryan.har...@linaro.org>
> ---
>  .../ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc     | 317 ----------------
>  .../ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf     | 401 
> ---------------------
>  2 files changed, 718 deletions(-)

Shouldn't OpenPlatformPkg be merged into edk2 first?

Although, I admit that it's been many months (... hm, apparently a bit
more than a year) that I built ArmVExpress-FVP-AArch64, so perhaps it's
not even functional in edk2. Is that the case?

If it is, then there's nothing to regress with this patch I guess.

Otherwise, if ArmVExpress-FVP-AArch64 does work in edk2 (just lacks
features / fixes), then this looks like a pretty big functionality
regression to me. I vaguely recall that Leif mentioned wanting to bring
OpenPlatformPkg into edk2 -- can that happen first?

Anyway, I've got no horse in this race; it's just that we've been
stressing "no regressions pls".

Hm... I think I found the relevant message from Leif:

http://thread.gmane.org/gmane.comp.bios.tianocore.devel/17544/focus=552

After skimming the presentation linked therein: I guess nothing has
changed since last July, and at this point you'd like to avoid
fragmentation. I do find that convincing.

Thanks
Laszlo

> diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc 
> b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc
> deleted file mode 100644
> index af46331..0000000
> --- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc
> +++ /dev/null
> @@ -1,317 +0,0 @@
> -#
> -#  Copyright (c) 2011-2015, ARM Limited. All rights reserved.
> -#  Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
> -#
> -#  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                  = ArmVExpress-FVP-AArch64
> -  PLATFORM_GUID                  = 0de70077-9b3b-43bf-ba38-0ea37d77141b
> -  PLATFORM_VERSION               = 0.1
> -  DSC_SPECIFICATION              = 0x00010005
> -  OUTPUT_DIRECTORY               = Build/ArmVExpress-FVP-AArch64
> -  SUPPORTED_ARCHITECTURES        = AARCH64
> -  BUILD_TARGETS                  = DEBUG|RELEASE
> -  SKUID_IDENTIFIER               = DEFAULT
> -  FLASH_DEFINITION               = 
> ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf
> -
> -!ifndef ARM_FVP_RUN_NORFLASH
> -  DEFINE EDK2_SKIP_PEICORE=1
> -!endif
> -
> -
> -!include ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
> -
> -[LibraryClasses.common]
> -  ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf
> -  ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
> -  
> ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf
> -
> -  
> ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf
> -  
> NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf
> -  
> LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
> -
> -  TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
> -
> -  # Virtio Support
> -  VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
> -  
> VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
> -
> -[LibraryClasses.common.SEC]
> -  ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf
> -  
> ArmPlatformSecLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/ArmVExpressSecLib.inf
> -  
> ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
> -
> -[LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, 
> LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_DRIVER]
> -  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
> -
> -[BuildOptions]
> -  GCC:*_*_AARCH64_PLATFORM_FLAGS == 
> -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include 
> -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM
> -
> -
> -################################################################################
> -#
> -# Pcd Section - list of all EDK II PCD Entries defined by this Platform
> -#
> -################################################################################
> -
> -[PcdsFeatureFlag.common]
> -
> -  ## If TRUE, Graphics Output Protocol will be installed on virtual handle 
> created by ConsplitterDxe.
> -  #  It could be set FALSE to save size.
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
> -
> -[PcdsFixedAtBuild.common]
> -  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Fixed Virtual Platform"
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ARM-FVP"
> -
> -  # Up to 8 cores on Base models. This works fine if model happens to have 
> less.
> -  gArmPlatformTokenSpaceGuid.PcdCoreCount|8
> -  gArmPlatformTokenSpaceGuid.PcdClusterCount|2
> -
> -  #
> -  # NV Storage PCDs. Use base of 0x0C000000 for NOR1
> -  #
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0FFC0000
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00010000
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0FFD0000
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00010000
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0FFE0000
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00010000
> -
> -  gArmTokenSpaceGuid.PcdVFPEnabled|1
> -
> -  # FVP models can have 2 clusters with 4 cpus each
> -  # Stacks for MPCores in Secure World
> -  # Trusted SRAM (DRAM on Foundation model)
> -  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0x04000000
> -  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecPrimaryStackSize|0x1000
> -  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecSecondaryStackSize|0x800
> -
> -  # Stacks for MPCores in Normal World
> -  # Non-Trusted SRAM
> -  gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x2E000000
> -  gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000
> -  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize|0x1000
> -
> -  # System Memory (2GB - 16MB of Trusted DRAM at the top of the 32bit 
> address space)
> -  gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000
> -  gArmTokenSpaceGuid.PcdSystemMemorySize|0x7F000000
> -
> -  # Size of the region used by UEFI in permanent memory (Reserved 64MB)
> -  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000
> -
> -  #
> -  # ARM Pcds
> -  #
> -  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000
> -
> -  ## Trustzone enable (to make the transition from EL3 to NS EL2 in 
> ArmPlatformPkg/Sec)
> -  gArmTokenSpaceGuid.PcdTrustzoneSupport|TRUE
> -
> -  #
> -  # ARM PrimeCell
> -  #
> -
> -  ## SP805 Watchdog - Motherboard Watchdog at 24MHz
> -  gArmPlatformTokenSpaceGuid.PcdSP805WatchdogBase|0x1C0F0000
> -  gArmPlatformTokenSpaceGuid.PcdSP805WatchdogClockFrequencyInHz|24000000
> -
> -  ## PL011 - Serial Terminal
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c090000
> -  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|38400
> -
> -  ## PL031 RealTimeClock
> -  gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x1C170000
> -
> -  ## PL111 Versatile Express Motherboard controller
> -  gArmPlatformTokenSpaceGuid.PcdPL111LcdBase|0x1C1F0000
> -
> -  ## PL180 MMC/SD card controller
> -  gArmPlatformTokenSpaceGuid.PcdPL180SysMciRegAddress|0x1C010048
> -  gArmPlatformTokenSpaceGuid.PcdPL180MciBaseAddress|0x1C050000
> -
> -  #
> -  # ARM General Interrupt Controller
> -  #
> -!ifdef ARM_FVP_LEGACY_GICV2_LOCATION
> -  gArmTokenSpaceGuid.PcdGicDistributorBase|0x2C001000
> -  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C002000
> -!else
> -  gArmTokenSpaceGuid.PcdGicDistributorBase|0x2f000000
> -  gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x2f100000
> -  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C000000
> -!endif
> -
> -  #
> -  # ARM OS Loader
> -  #
> -  gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from 
> SemiHosting"
> -  
> gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"Fv(87940482-FC81-41C3-87E6-399CF85AC8A0)/LinuxLoader.efi"
> -  
> gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|L"VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/Image
>  -f VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/filesystem.cpio.gz -c 
> \"console=ttyAMA0 earlycon=pl011,0x1c090000 debug user_debug=31 loglevel=9\""
> -
> -  # Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)
> -  
> gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi();VenHw(407B4008-BF5B-11DF-9547-CF16E0D72085)"
> -  
> gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi()"
> -
> -  #
> -  # ARM Architectural Timer Frequency
> -  #
> -  # Set tick frequency value to 100Mhz
> -  gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|100000000
> -
> -[PcdsDynamicDefault.common]
> -  #
> -  # The size of a dynamic PCD of the (VOID*) type can not be increased at run
> -  # time from its size at build time. Set the "PcdFdtDevicePaths" PCD to a 
> 128
> -  # character "empty" string, to allow to be able to set FDT text device 
> paths
> -  # up to 128 characters long.
> -  #
> -  gEmbeddedTokenSpaceGuid.PcdFdtDevicePaths|L"                               
>                                                                               
>                    "
> -
> -################################################################################
> -#
> -# Components Section - list of all EDK II Modules needed by this Platform
> -#
> -################################################################################
> -[Components.common]
> -
> -  #
> -  # SEC
> -  #
> -  ArmPlatformPkg/Sec/Sec.inf {
> -    <LibraryClasses>
> -      # Use the implementation which set the Secure bits
> -      ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf
> -  }
> -
> -  #
> -  # PEI Phase modules
> -  #
> -!ifdef EDK2_SKIP_PEICORE
> -  # UEFI is placed in RAM by bootloader
> -  ArmPlatformPkg/PrePi/PeiMPCore.inf {
> -    <LibraryClasses>
> -      ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf
> -      
> ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf
> -  }
> -!else
> -  # UEFI lives in FLASH and copies itself to RAM
> -  ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
> -  MdeModulePkg/Core/Pei/PeiMain.inf
> -  MdeModulePkg/Universal/PCD/Pei/Pcd.inf  {
> -    <LibraryClasses>
> -      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -  }
> -  ArmPlatformPkg/PlatformPei/PlatformPeim.inf
> -  ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf
> -  ArmPkg/Drivers/CpuPei/CpuPei.inf
> -  IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
> -  Nt32Pkg/BootModePei/BootModePei.inf
> -  MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
> -  MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
> -    <LibraryClasses>
> -      
> NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
> -  }
> -!endif
> -
> -  #
> -  # 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
> -!if $(SECURE_BOOT_ENABLE) == TRUE
> -  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
> -    <LibraryClasses>
> -      
> NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
> -  }
> -  
> SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
> -!else
> -  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
> -!endif
> -  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> -  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
> -    <LibraryClasses>
> -      NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
> -  }
> -  MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
> -  
> MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.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/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
> -  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
> -  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
> -
> -  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
> -
> -  ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
> -!if $(SECURE_BOOT_ENABLE) == TRUE
> -  ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashAuthenticatedDxe.inf
> -!else
> -  ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
> -!endif
> -  ArmPkg/Drivers/TimerDxe/TimerDxe.inf
> -  ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf
> -  ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf
> -
> -  #
> -  # Semi-hosting filesystem
> -  #
> -  ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
> -
> -  #
> -  # Multimedia Card Interface
> -  #
> -  EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
> -  ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf
> -
> -  #
> -  # Platform Driver
> -  #
> -  ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf
> -  OvmfPkg/VirtioBlkDxe/VirtioBlk.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
> -
> -  #
> -  # Bds
> -  #
> -  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
> -!if $(USE_ARM_BDS) == TRUE
> -  ArmPlatformPkg/Bds/Bds.inf
> -!else
> -  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
> -  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
> -  IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
> -!endif
> diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf 
> b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf
> deleted file mode 100644
> index 53837d4..0000000
> --- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf
> +++ /dev/null
> @@ -1,401 +0,0 @@
> -#
> -#  Copyright (c) 2011 - 2015, ARM Limited. All rights reserved.
> -#  Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
> -#
> -#  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.FVP_AARCH64_EFI_SEC]
> -BaseAddress   = 0x00000000|gArmTokenSpaceGuid.PcdFdBaseAddress  # The base 
> address of the Firmware in SecureROM.
> -Size          = 0x04000000|gArmTokenSpaceGuid.PcdFdSize         # The size 
> in bytes of the device (64MiB).
> -ErasePolarity = 1
> -
> -# This one is tricky, it must be: BlockSize * NumBlocks = Size
> -BlockSize     = 0x00001000
> -NumBlocks     = 0x4000
> -
> -################################################################################
> -#
> -# 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|0x00080000
> -gArmTokenSpaceGuid.PcdSecureFvBaseAddress|gArmTokenSpaceGuid.PcdSecureFvSize
> -FV = FVMAIN_SEC
> -
> -[FD.FVP_AARCH64_EFI]
> -!ifdef ARM_FVP_RUN_NORFLASH
> -BaseAddress   = 0x08000000|gArmTokenSpaceGuid.PcdFdBaseAddress  # The base 
> address of the Firmware in Flash0.
> -!else
> -BaseAddress   = 0x88000000|gArmTokenSpaceGuid.PcdFdBaseAddress  # UEFI in 
> DRAM + 128MB.
> -!endif
> -Size          = 0x04000000|gArmTokenSpaceGuid.PcdFdSize         # The size 
> in bytes of the device (64MiB).
> -ErasePolarity = 1
> -
> -# This one is tricky, it must be: BlockSize * NumBlocks = Size
> -BlockSize     = 0x00001000
> -NumBlocks     = 0x4000
> -
> -0x00000000|0x00280000
> -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_SEC]
> -FvBaseAddress      = 0x0  # Secure ROM
> -FvForceRebase      = TRUE
> -FvAlignment        = 16
> -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/Sec/Sec.inf
> -
> -
> -[FV.FvMain]
> -BlockSize          = 0x40
> -NumBlocks          = 0         # This FV gets compressed so make it just big 
> enough
> -FvAlignment        = 16        # 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
> -FvNameGuid         = 87940482-fc81-41c3-87e6-399cf85ac8a0
> -
> -  APRIORI DXE {
> -    INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
> -  }
> -
> -  INF MdeModulePkg/Core/Dxe/DxeMain.inf
> -  INF MdeModulePkg/Universal/PCD/Dxe/Pcd.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
> -!if $(SECURE_BOOT_ENABLE) == TRUE
> -  INF 
> SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
> -!endif
> -  INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
> -  INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
> -  INF 
> MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
> -  INF EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
> -  INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
> -  INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
> -
> -  INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
> -
> -  #
> -  # Multiple Console IO support
> -  #
> -  INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
> -  INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
> -  INF 
> MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.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
> -!if $(SECURE_BOOT_ENABLE) == TRUE
> -  INF ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashAuthenticatedDxe.inf
> -!else
> -  INF ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
> -!endif
> -  INF 
> ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf
> -  INF ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf
> -
> -  #
> -  # Semi-hosting filesystem
> -  #
> -  INF ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
> -
> -  #
> -  # FAT filesystem + GPT/MBR partitioning
> -  #
> -  INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
> -  INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
> -  INF FatBinPkg/EnhancedFatDxe/Fat.inf
> -  INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
> -
> -  #
> -  # Multimedia Card Interface
> -  #
> -  INF EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
> -  INF ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf
> -
> -  #
> -  # Platform Driver
> -  #
> -  INF ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf
> -  INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
> -
> -  #
> -  # UEFI application (Shell Embedded Boot Loader)
> -  #
> -  INF ShellBinPkg/UefiShell/UefiShell.inf
> -
> -  #
> -  # Bds
> -  #
> -  INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
> -!if $(USE_ARM_BDS) == TRUE
> -  INF ArmPlatformPkg/Bds/Bds.inf
> -!else
> -  INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
> -  INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
> -  INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
> -
> -  #
> -  # TianoCore logo (splash screen)
> -  #
> -  FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) 
> {
> -   SECTION RAW = MdeModulePkg/Logo/Logo.bmp
> -  }
> -!endif
> -
> -  # Legacy Linux Loader
> -  INF ArmPkg/Application/LinuxLoader/LinuxLoader.inf
> -
> -  # FV Filesystem
> -  INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
> -
> -  #
> -  # FDT installation
> -  #
> -  # The UEFI driver is at the end of the list of the driver to be dispatched
> -  # after the device drivers (eg: Ethernet) to ensure we have support for 
> them.
> -  INF EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf
> -
> -!ifdef $(DTB_DIR)
> -  #
> -  # Embed flattened device tree (FDT) images for all known
> -  # variants of this platform
> -  #
> -  FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV2) {
> -    $(DTB_DIR)/fvp-base-gicv2-psci.dtb
> -  }
> -  FILE RAW = PCD 
> (gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV2Legacy) {
> -    $(DTB_DIR)/fvp-base-gicv2legacy-psci.dtb
> -  }
> -  FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV3) {
> -    $(DTB_DIR)/fvp-base-gicv3-psci.dtb
> -  }
> -  FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV2) {
> -    $(DTB_DIR)/fvp-foundation-gicv2-psci.dtb
> -  }
> -  FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV2Legacy) 
> {
> -    $(DTB_DIR)/fvp-foundation-gicv2legacy-psci.dtb
> -  }
> -  FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV3) {
> -    $(DTB_DIR)/fvp-foundation-gicv3-psci.dtb
> -  }
> -!endif
> -
> -[FV.FVMAIN_COMPACT]
> -FvAlignment        = 16
> -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
> -
> -!if $(EDK2_SKIP_PEICORE) == 1
> -  INF ArmPlatformPkg/PrePi/PeiMPCore.inf
> -!else
> -  INF ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
> -  INF MdeModulePkg/Core/Pei/PeiMain.inf
> -  INF ArmPlatformPkg/PlatformPei/PlatformPeim.inf
> -  INF ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf
> -  INF ArmPkg/Drivers/CpuPei/CpuPei.inf
> -  INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
> -  INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
> -  INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
> -  INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
> -!endif
> -
> -  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)
> -#      }
> -#    }
> -#  }
> -#
> -############################################################################
> -
> -[Rule.Common.SEC]
> -  FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED FIXED {
> -    TE  TE Align = Auto                 $(INF_OUTPUT)/$(MODULE_NAME).efi
> -  }
> -
> -[Rule.Common.PEI_CORE]
> -  FILE PEI_CORE = $(NAMED_GUID) FIXED {
> -    TE     TE Align = Auto              $(INF_OUTPUT)/$(MODULE_NAME).efi
> -    UI     STRING ="$(MODULE_NAME)" Optional
> -  }
> -
> -[Rule.Common.PEIM]
> -  FILE PEIM = $(NAMED_GUID) FIXED {
> -     PEI_DEPEX PEI_DEPEX Optional       $(INF_OUTPUT)/$(MODULE_NAME).depex
> -     TE       TE Align = Auto           $(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_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)
> -  }
> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to