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