Renamed ArmPlatformPkg/ArmVirtualizationPkg into ArmVirtPkg
authorOlivier Martin <olivier.martin@arm.com>
Fri, 29 May 2015 13:50:43 +0000 (13:50 +0000)
committeroliviermartin <oliviermartin@Edk2>
Fri, 29 May 2015 13:50:43 +0000 (13:50 +0000)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17537 6f19259b-4bc3-4df7-8a09-765794883524

113 files changed:
ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c
ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationPkg.dec [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.fdf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationXen.dsc [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationXen.fdf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Include/ArmPlatform.h [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Include/Guid/EarlyPL011BaseAddress.h [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationDxeHobLib/ArmVirtualizationDxeHobLib.inf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationDxeHobLib/HobLib.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationMemoryInitPeiLib/ArmVirtualizationMemoryInitPeiLib.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationMemoryInitPeiLib/ArmVirtualizationMemoryInitPeiLib.inf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/AARCH64/VirtHelper.S [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/ARM/VirtHelper.S [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/ARM/VirtHelper.asm [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/ArmVirtualizationPlatformLib.inf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/Virt.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/VirtMem.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPsciResetSystemLib/ArmVirtualizationPsciResetSystemLib.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPsciResetSystemLib/ArmVirtualizationPsciResetSystemLib.inf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/AARCH64/MemnodeParser.S [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/AARCH64/RelocatableVirtHelper.S [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/ArmXenRelocatablePlatformLib.inf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/BaseCachingPciExpressLib/PciExpressLib.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/FdtPL011SerialPortLib.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/FdtPL011SerialPortLib.inf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.h [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/QemuKernel.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformPeiLib/PlatformPeiLib.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformPeiLib/PlatformPeiLib.inf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/XenRealTimeClockLib/XenRealTimeClockLib.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/Library/XenRealTimeClockLib/XenRealTimeClockLib.inf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/PciHostBridgeDxe/PciHostBridge.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/PciHostBridgeDxe/PciHostBridge.h [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/PciHostBridgeDxe/PciRootBridgeIo.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/PrePi/AArch64/ArchPrePi.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/PrePi/AArch64/ModuleEntryPoint.S [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/PrePi/LzmaDecompress.h [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/PrePi/PrePi.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/PrePi/PrePi.h [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/PrePi/Scripts/PrePi-PIE.lds [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c [deleted file]
ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf [deleted file]
ArmVirtPkg/ArmVirt.dsc.inc [new file with mode: 0644]
ArmVirtPkg/ArmVirtPkg.dec [new file with mode: 0644]
ArmVirtPkg/ArmVirtQemu.dsc [new file with mode: 0644]
ArmVirtPkg/ArmVirtQemu.fdf [new file with mode: 0644]
ArmVirtPkg/ArmVirtXen.dsc [new file with mode: 0644]
ArmVirtPkg/ArmVirtXen.fdf [new file with mode: 0644]
ArmVirtPkg/Include/ArmPlatform.h [new file with mode: 0644]
ArmVirtPkg/Include/Guid/EarlyPL011BaseAddress.h [new file with mode: 0644]
ArmVirtPkg/Library/ArmVirtDxeHobLib/ArmVirtDxeHobLib.inf [new file with mode: 0644]
ArmVirtPkg/Library/ArmVirtDxeHobLib/HobLib.c [new file with mode: 0644]
ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.c [new file with mode: 0644]
ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.inf [new file with mode: 0644]
ArmVirtPkg/Library/ArmVirtPlatformLib/AARCH64/VirtHelper.S [new file with mode: 0644]
ArmVirtPkg/Library/ArmVirtPlatformLib/ARM/VirtHelper.S [new file with mode: 0644]
ArmVirtPkg/Library/ArmVirtPlatformLib/ARM/VirtHelper.asm [new file with mode: 0644]
ArmVirtPkg/Library/ArmVirtPlatformLib/ArmVirtPlatformLib.inf [new file with mode: 0644]
ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c [new file with mode: 0644]
ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c [new file with mode: 0644]
ArmVirtPkg/Library/ArmVirtPsciResetSystemLib/ArmVirtPsciResetSystemLib.c [new file with mode: 0644]
ArmVirtPkg/Library/ArmVirtPsciResetSystemLib/ArmVirtPsciResetSystemLib.inf [new file with mode: 0644]
ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/AARCH64/MemnodeParser.S [new file with mode: 0644]
ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/AARCH64/RelocatableVirtHelper.S [new file with mode: 0644]
ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/ArmXenRelocatablePlatformLib.inf [new file with mode: 0644]
ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c [new file with mode: 0644]
ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c [new file with mode: 0644]
ArmVirtPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf [new file with mode: 0644]
ArmVirtPkg/Library/BaseCachingPciExpressLib/PciExpressLib.c [new file with mode: 0644]
ArmVirtPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.c [new file with mode: 0644]
ArmVirtPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf [new file with mode: 0644]
ArmVirtPkg/Library/FdtPL011SerialPortLib/FdtPL011SerialPortLib.c [new file with mode: 0644]
ArmVirtPkg/Library/FdtPL011SerialPortLib/FdtPL011SerialPortLib.inf [new file with mode: 0644]
ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c [new file with mode: 0644]
ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf [new file with mode: 0644]
ArmVirtPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c [new file with mode: 0644]
ArmVirtPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.h [new file with mode: 0644]
ArmVirtPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf [new file with mode: 0644]
ArmVirtPkg/Library/PlatformIntelBdsLib/QemuKernel.c [new file with mode: 0644]
ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c [new file with mode: 0644]
ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.inf [new file with mode: 0644]
ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c [new file with mode: 0644]
ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf [new file with mode: 0644]
ArmVirtPkg/Library/XenRealTimeClockLib/XenRealTimeClockLib.c [new file with mode: 0644]
ArmVirtPkg/Library/XenRealTimeClockLib/XenRealTimeClockLib.inf [new file with mode: 0644]
ArmVirtPkg/PciHostBridgeDxe/PciHostBridge.c [new file with mode: 0644]
ArmVirtPkg/PciHostBridgeDxe/PciHostBridge.h [new file with mode: 0644]
ArmVirtPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf [new file with mode: 0644]
ArmVirtPkg/PciHostBridgeDxe/PciRootBridgeIo.c [new file with mode: 0644]
ArmVirtPkg/PrePi/AArch64/ArchPrePi.c [new file with mode: 0644]
ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S [new file with mode: 0644]
ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf [new file with mode: 0755]
ArmVirtPkg/PrePi/LzmaDecompress.h [new file with mode: 0644]
ArmVirtPkg/PrePi/PrePi.c [new file with mode: 0755]
ArmVirtPkg/PrePi/PrePi.h [new file with mode: 0644]
ArmVirtPkg/PrePi/Scripts/PrePi-PIE.lds [new file with mode: 0644]
ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c [new file with mode: 0644]
ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf [new file with mode: 0644]

index df4e113..8df54fd 100644 (file)
@@ -2,11 +2,11 @@
   Support ResetSystem Runtime call using PSCI calls\r
 \r
   Note: A similar library is implemented in\r
-  ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPsciResetSystemLib\r
+  ArmVirtPkg/Library/ArmVirtualizationPsciResetSystemLib\r
   So similar issues might exist in this implementation too.\r
 \r
   Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
-  Copyright (c) 2013-2014, ARM Ltd. All rights reserved.<BR>\r
+  Copyright (c) 2013-2015, ARM Ltd. All rights reserved.<BR>\r
   Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>\r
 \r
   This program and the accompanying materials\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc
deleted file mode 100644 (file)
index 2fa0aeb..0000000
+++ /dev/null
@@ -1,392 +0,0 @@
-#\r
-#  Copyright (c) 2011-2015, ARM Limited. All rights reserved.\r
-#  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#\r
-\r
-[Defines]\r
-  DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x8000004F\r
-\r
-[LibraryClasses.common]\r
-!if $(TARGET) == RELEASE\r
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
-  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf\r
-!else\r
-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
-  UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf\r
-!endif\r
-  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
-\r
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
-  SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
-  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
-  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
-  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf\r
-\r
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
-  HobLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationDxeHobLib/ArmVirtualizationDxeHobLib.inf\r
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
-  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
-  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
-  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
-\r
-  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
-  OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf\r
-\r
-  #\r
-  # Allow dynamic PCDs\r
-  #\r
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
-\r
-  # 1/123 faster than Stm or Vstm version\r
-  #BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
-  BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf\r
-\r
-  # Networking Requirements\r
-  NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf\r
-  DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf\r
-  UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf\r
-  IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf\r
-\r
-  # ARM Architectural Libraries\r
-  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf\r
-  DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf\r
-  CpuExceptionHandlerLib|MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf\r
-  ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf\r
-  DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf\r
-  ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf\r
-  ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf\r
-  ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf\r
-  ArmHvcLib|ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf\r
-  ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerVirtCounterLib/ArmGenericTimerVirtCounterLib.inf\r
-\r
-  PlatformPeiLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformPeiLib/PlatformPeiLib.inf\r
-  MemoryInitPeiLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationMemoryInitPeiLib/ArmVirtualizationMemoryInitPeiLib.inf\r
-  EfiResetSystemLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPsciResetSystemLib/ArmVirtualizationPsciResetSystemLib.inf\r
-\r
-  # ARM PL031 RTC Driver\r
-  RealTimeClockLib|ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf\r
-  # ARM PL011 UART Driver\r
-  PL011UartLib|ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf\r
-  SerialPortLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/FdtPL011SerialPortLib.inf\r
-  SerialPortExtLib|EmbeddedPkg/Library/SerialPortExtLibNull/SerialPortExtLibNull.inf\r
-\r
-  #\r
-  # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window\r
-  # in the debugger will show load and unload commands for symbols. You can cut and paste this\r
-  # into the command window to load symbols. We should be able to use a script to do this, but\r
-  # the version of RVD I have does not support scripts accessing system memory.\r
-  #\r
-  #PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf\r
-  PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf\r
-  #PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
-\r
-  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
-  DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf\r
-\r
-  # BDS Libraries\r
-  BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf\r
-  FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf\r
-\r
-  # PCI Libraries\r
-  PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf\r
-  PciExpressLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf\r
-\r
-  # USB Libraries\r
-  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf\r
-\r
-  XenIoMmioLib|OvmfPkg/Library/XenIoMmioLib/XenIoMmioLib.inf\r
-\r
-  #\r
-  # Secure Boot dependencies\r
-  #\r
-!if $(SECURE_BOOT_ENABLE) == TRUE\r
-  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf\r
-  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf\r
-  TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf\r
-  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf\r
-\r
-  # re-use the UserPhysicalPresent() dummy implementation from the ovmf tree\r
-  PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf\r
-!endif\r
-\r
-[LibraryClasses.common.SEC]\r
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
-  ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf\r
-  ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Sec/SecArmPlatformGlobalVariableLib.inf\r
-\r
-  DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf\r
-  DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf\r
-  SerialPortLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf\r
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
-  PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf\r
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
-\r
-[LibraryClasses.common.PEI_CORE]\r
-  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
-  PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf\r
-  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf\r
-  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf\r
-  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
-  ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf\r
-\r
-  ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf\r
-  PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf\r
-  SerialPortLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf\r
-\r
-[LibraryClasses.common.PEIM]\r
-  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
-  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf\r
-  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf\r
-  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf\r
-  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
-  PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf\r
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
-  ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf\r
-\r
-  ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf\r
-  PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf\r
-  SerialPortLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf\r
-\r
-[LibraryClasses.common.DXE_CORE]\r
-  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
-  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
-  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
-  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
-  PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf\r
-\r
-[LibraryClasses.common.DXE_DRIVER]\r
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
-  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf\r
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
-  ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Dxe/DxeArmPlatformGlobalVariableLib.inf\r
-\r
-[LibraryClasses.common.UEFI_APPLICATION]\r
-  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf\r
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
-\r
-[LibraryClasses.common.UEFI_DRIVER]\r
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
-  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf\r
-  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
-\r
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]\r
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
-  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
-\r
-!if $(SECURE_BOOT_ENABLE) == TRUE\r
-  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf\r
-!endif\r
-\r
-[LibraryClasses.ARM]\r
-  #\r
-  # It is not possible to prevent the ARM compiler for generic intrinsic functions.\r
-  # This library provides the instrinsic functions generate by a given compiler.\r
-  # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.\r
-  #\r
-  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
-\r
-  # Add support for GCC stack protector\r
-  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf\r
-\r
-[LibraryClasses.AARCH64]\r
-  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
-\r
-\r
-[BuildOptions]\r
-  RVCT:RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG\r
-\r
-  GCC:RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG\r
-\r
-################################################################################\r
-#\r
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
-#\r
-################################################################################\r
-\r
-[PcdsFeatureFlag.common]\r
-  gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE\r
-  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE\r
-  gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE\r
-  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE\r
-\r
-  #\r
-  # Control what commands are supported from the UI\r
-  # Turn these on and off to add features or save size\r
-  #\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE\r
-\r
-  gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE\r
-\r
-  # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress\r
-  gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE\r
-\r
-  gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE\r
-\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE\r
-\r
-[PcdsFixedAtBuild.common]\r
-  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Virtualization Platform"\r
-\r
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000\r
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000\r
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000\r
-  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000\r
-  gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF\r
-  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1\r
-  gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0\r
-  gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320\r
-\r
-  # DEBUG_ASSERT_ENABLED       0x01\r
-  # DEBUG_PRINT_ENABLED        0x02\r
-  # DEBUG_CODE_ENABLED         0x04\r
-  # CLEAR_MEMORY_ENABLED       0x08\r
-  # ASSERT_BREAKPOINT_ENABLED  0x10\r
-  # ASSERT_DEADLOOP_ENABLED    0x20\r
-!if $(TARGET) == RELEASE\r
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21\r
-!else\r
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f\r
-!endif\r
-\r
-  #  DEBUG_INIT      0x00000001  // Initialization\r
-  #  DEBUG_WARN      0x00000002  // Warnings\r
-  #  DEBUG_LOAD      0x00000004  // Load events\r
-  #  DEBUG_FS        0x00000008  // EFI File system\r
-  #  DEBUG_POOL      0x00000010  // Alloc & Free's\r
-  #  DEBUG_PAGE      0x00000020  // Alloc & Free's\r
-  #  DEBUG_INFO      0x00000040  // Informational debug messages\r
-  #  DEBUG_DISPATCH  0x00000080  // PEI/DXE/SMM Dispatchers\r
-  #  DEBUG_VARIABLE  0x00000100  // Variable\r
-  #  DEBUG_BM        0x00000400  // Boot Manager\r
-  #  DEBUG_BLKIO     0x00001000  // BlkIo Driver\r
-  #  DEBUG_NET       0x00004000  // SNI Driver\r
-  #  DEBUG_UNDI      0x00010000  // UNDI Driver\r
-  #  DEBUG_LOADFILE  0x00020000  // UNDI Driver\r
-  #  DEBUG_EVENT     0x00080000  // Event messages\r
-  #  DEBUG_GCD       0x00100000  // Global Coherency Database changes\r
-  #  DEBUG_CACHE     0x00200000  // Memory range cachability changes\r
-  #  DEBUG_VERBOSE   0x00400000  // Detailed debug messages that may\r
-  #                              // significantly impact boot performance\r
-  #  DEBUG_ERROR     0x80000000  // Error\r
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)\r
-\r
-  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07\r
-\r
-  #\r
-  # Optional feature to help prevent EFI memory map fragments\r
-  # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob\r
-  # Values are in EFI Pages (4K). DXE Core will make sure that\r
-  # at least this much of each type of memory can be allocated\r
-  # from a single memory range. This way you only end up with\r
-  # maximum of two fragements for each type in the memory map\r
-  # (the memory used, and the free memory that was prereserved\r
-  # but not used).\r
-  #\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|50\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|20\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|20000\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0\r
-\r
-  #\r
-  # ARM Pcds\r
-  #\r
-  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000000000000\r
-\r
-!if $(SECURE_BOOT_ENABLE) == TRUE\r
-  # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot\r
-  gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04\r
-  gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04\r
-  gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04\r
-!endif\r
-\r
-[Components.common]\r
-  #\r
-  # Networking stack\r
-  #\r
-  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
-  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf\r
-  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
-  MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf\r
-  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
-  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf\r
-  MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf\r
-  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
-  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
-  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
-  MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
-  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
-\r
-  #\r
-  # UEFI application (Shell Embedded Boot Loader)\r
-  #\r
-  ShellPkg/Application/Shell/Shell.inf {\r
-    <LibraryClasses>\r
-      ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
-      NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf\r
-      NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf\r
-      NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf\r
-      NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf\r
-      NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf\r
-      NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf\r
-      NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf\r
-      HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf\r
-      ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
-      FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
-      SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
-      PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
-      BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf\r
-\r
-    <PcdsFixedAtBuild>\r
-      gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF\r
-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
-      gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000\r
-  }\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationPkg.dec b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationPkg.dec
deleted file mode 100644 (file)
index 791b45b..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-#/** @file\r
-#\r
-#  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#**/\r
-\r
-[Defines]\r
-  DEC_SPECIFICATION              = 0x00010005\r
-  PACKAGE_NAME                   = ArmVirtualizationPkg\r
-  PACKAGE_GUID                   = A0B31216-508E-4025-BEAB-56D836C66F0A\r
-  PACKAGE_VERSION                = 0.1\r
-\r
-################################################################################\r
-#\r
-# Include Section - list of Include Paths that are provided by this package.\r
-#                   Comments are used for Keywords and Module Types.\r
-#\r
-# Supported Module Types:\r
-#  BASE SEC PEI_CORE PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATION\r
-#\r
-################################################################################\r
-[Includes.common]\r
-  Include                        # Root include for the package\r
-\r
-[Guids.common]\r
-  gArmVirtualizationTokenSpaceGuid = { 0x0B6F5CA7, 0x4F53, 0x445A, { 0xB7, 0x6E, 0x2E, 0x36, 0x5B, 0x80, 0x63, 0x66 } }\r
-  gEarlyPL011BaseAddressGuid       = { 0xB199DEA9, 0xFD5C, 0x4A84, { 0x80, 0x82, 0x2F, 0x41, 0x70, 0x78, 0x03, 0x05 } }\r
-\r
-[PcdsFixedAtBuild, PcdsPatchableInModule]\r
-  #\r
-  # This is the physical address where the device tree is expected to be stored\r
-  # upon first entry into UEFI. This needs to be a FixedAtBuild PCD, so that we\r
-  # can do a first pass over the device tree in the SEC phase to discover the\r
-  # UART base address.\r
-  #\r
-  gArmVirtualizationTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress|0x0|UINT64|0x00000001\r
-\r
-  #\r
-  # Padding in bytes to add to the device tree allocation, so that the DTB can\r
-  # be modified in place (default: 256 bytes)\r
-  #\r
-  gArmVirtualizationTokenSpaceGuid.PcdDeviceTreeAllocationPadding|256|UINT32|0x00000002\r
-\r
-[PcdsDynamic, PcdsFixedAtBuild]\r
-  #\r
-  # ARM PSCI function invocations can be done either through hypervisor\r
-  # calls (HVC) or secure monitor calls (SMC).\r
-  # PcdArmPsciMethod == 1 : use HVC\r
-  # PcdArmPsciMethod == 2 : use SMC\r
-  #\r
-  gArmVirtualizationTokenSpaceGuid.PcdArmPsciMethod|0|UINT32|0x00000003\r
-\r
-  gArmVirtualizationTokenSpaceGuid.PcdFwCfgSelectorAddress|0x0|UINT64|0x00000004\r
-  gArmVirtualizationTokenSpaceGuid.PcdFwCfgDataAddress|0x0|UINT64|0x00000005\r
-\r
-[PcdsFeatureFlag]\r
-  #\r
-  # "Map PCI MMIO as Cached"\r
-  #\r
-  # Due to the way Stage1 and Stage2 mappings are combined on Aarch64, and\r
-  # because KVM -- for the time being -- does not try to interfere with the\r
-  # Stage1 mappings, we must not set EFI_MEMORY_UC for emulated PCI MMIO\r
-  # regions.\r
-  #\r
-  # EFI_MEMORY_UC is mapped to Device-nGnRnE, and that Stage1 attribute would\r
-  # direct guest writes to host DRAM immediately, bypassing the cache\r
-  # regardless of Stage2 attributes. However, QEMU's reads of the same range\r
-  # can easily be served from the (stale) CPU cache.\r
-  #\r
-  # Setting this PCD to TRUE will use EFI_MEMORY_WB for mapping PCI MMIO\r
-  # regions, which ensures that guest writes to such regions go through the CPU\r
-  # cache. Strictly speaking this is wrong, but it is needed as a temporary\r
-  # workaround for emulated PCI devices. Setting the PCD to FALSE results in\r
-  # the theoretically correct EFI_MEMORY_UC mapping, and should be the long\r
-  # term choice, especially with assigned devices.\r
-  #\r
-  # The default is to turn off the kludge; DSC's can selectively enable it.\r
-  #\r
-  gArmVirtualizationTokenSpaceGuid.PcdKludgeMapPciMmioAsCached|FALSE|BOOLEAN|0x00000006\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc
deleted file mode 100644 (file)
index 4ce27f9..0000000
+++ /dev/null
@@ -1,370 +0,0 @@
-#\r
-#  Copyright (c) 2011-2013, ARM Limited. All rights reserved.\r
-#  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#\r
-\r
-################################################################################\r
-#\r
-# Defines Section - statements that will be processed to create a Makefile.\r
-#\r
-################################################################################\r
-[Defines]\r
-  PLATFORM_NAME                  = ArmVirtualizationQemu\r
-  PLATFORM_GUID                  = 37d7e986-f7e9-45c2-8067-e371421a626c\r
-  PLATFORM_VERSION               = 0.1\r
-  DSC_SPECIFICATION              = 0x00010005\r
-  OUTPUT_DIRECTORY               = Build/ArmVirtualizationQemu-$(ARCH)\r
-  SUPPORTED_ARCHITECTURES        = AARCH64|ARM\r
-  BUILD_TARGETS                  = DEBUG|RELEASE\r
-  SKUID_IDENTIFIER               = DEFAULT\r
-  FLASH_DEFINITION               = ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.fdf\r
-\r
-  #\r
-  # Defines for default states.  These can be changed on the command line.\r
-  # -D FLAG=VALUE\r
-  #\r
-  DEFINE SECURE_BOOT_ENABLE      = FALSE\r
-\r
-!include ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc\r
-\r
-[LibraryClasses.AARCH64]\r
-  ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf\r
-  ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf\r
-\r
-[LibraryClasses.ARM]\r
-  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
-  ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Lib.inf\r
-\r
-[LibraryClasses.common]\r
-  # Virtio Support\r
-  VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf\r
-  VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf\r
-  QemuFwCfgLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf\r
-\r
-  ArmPlatformLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/ArmVirtualizationPlatformLib.inf\r
-  ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf\r
-\r
-  TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf\r
-  NorFlashPlatformLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf\r
-\r
-!ifdef INTEL_BDS\r
-  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
-  GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf\r
-  PlatformBdsLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf\r
-  CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf\r
-  QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf\r
-!endif\r
-\r
-[LibraryClasses.common.UEFI_DRIVER]\r
-  UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
-\r
-[LibraryClasses.AARCH64.SEC]\r
-  ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf\r
-\r
-[LibraryClasses.ARM.SEC]\r
-  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf\r
-\r
-[BuildOptions]\r
-  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmPlatformPkg/ArmVirtualizationPkg/Include\r
-  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmPlatformPkg/ArmVirtualizationPkg/Include\r
-  *_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmPlatformPkg/ArmVirtualizationPkg/Include\r
-\r
-\r
-################################################################################\r
-#\r
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
-#\r
-################################################################################\r
-\r
-[PcdsFeatureFlag.common]\r
-  gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|TRUE\r
-  gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderMmioTranslation|TRUE\r
-\r
-  ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.\r
-  #  It could be set FALSE to save size.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE\r
-\r
-  # Activate KVM workaround for now.\r
-  gArmVirtualizationTokenSpaceGuid.PcdKludgeMapPciMmioAsCached|TRUE\r
-\r
-[PcdsFixedAtBuild.common]\r
-  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"QEMU"\r
-\r
-  gArmPlatformTokenSpaceGuid.PcdCoreCount|1\r
-!if $(ARCH) == AARCH64\r
-  gArmTokenSpaceGuid.PcdVFPEnabled|1\r
-!endif\r
-\r
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x4007c000\r
-  gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000\r
-\r
-  # Size of the region used by UEFI in permanent memory (Reserved 64MB)\r
-  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000\r
-\r
-  #\r
-  # ARM Pcds\r
-  #\r
-  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000\r
-\r
-  ## Trustzone enable (to make the transition from EL3 to EL2 in ArmPlatformPkg/Sec)\r
-  gArmTokenSpaceGuid.PcdTrustzoneSupport|FALSE\r
-\r
-  #\r
-  # ARM PrimeCell\r
-  #\r
-\r
-  ## PL011 - Serial Terminal\r
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|38400\r
-\r
-  #\r
-  # ARM OS Loader\r
-  #\r
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux (EFI stub) on virtio31:hd0:part0"\r
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(837DCA9E-E874-4D82-B29A-23FE0E23D1E2,003E000A00000000)/HD(1,MBR,0x00000000,0x3F,0x19FC0)/Image"\r
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|"root=/dev/vda2 console=ttyAMA0 earlycon uefi_debug"\r
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootType|0\r
-\r
-  #\r
-  # Settings for ARM BDS -- use the serial console (ConIn & ConOut).\r
-  #\r
-  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100()"\r
-  gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100()"\r
-  gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3\r
-\r
-  #\r
-  # ARM Virtual Architectural Timer -- fetch frequency from QEMU (TCG) or KVM\r
-  #\r
-  gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|0\r
-\r
-  #\r
-  # NV Storage PCDs. Use base of 0x04000000 for NOR1\r
-  #\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x04000000\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00040000\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x04040000\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00040000\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x04080000\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00040000\r
-\r
-  # System Memory Base -- fixed at 0x4000_0000\r
-  gArmTokenSpaceGuid.PcdSystemMemoryBase|0x40000000\r
-\r
-  # initial location of the device tree blob passed by QEMU -- base of DRAM\r
-  gArmVirtualizationTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress|0x40000000\r
-\r
-!ifdef INTEL_BDS\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE\r
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }\r
-!endif\r
-\r
-  #\r
-  # The maximum physical I/O addressability of the processor, set with\r
-  # BuildCpuHob().\r
-  #\r
-  gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|16\r
-\r
-[PcdsDynamicDefault.common]\r
-  ## If TRUE, OvmfPkg/AcpiPlatformDxe will not wait for PCI\r
-  #  enumeration to complete before installing ACPI tables.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE\r
-\r
-  # System Memory Size -- 1 MB initially, actual size will be fetched from DT\r
-  gArmTokenSpaceGuid.PcdSystemMemorySize|0x00100000\r
-\r
-  gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum|0x0\r
-  gArmTokenSpaceGuid.PcdArmArchTimerIntrNum|0x0\r
-  gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum|0x0\r
-  gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum|0x0\r
-\r
-  #\r
-  # ARM General Interrupt Controller\r
-  #\r
-  gArmTokenSpaceGuid.PcdGicDistributorBase|0x0\r
-  gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x0\r
-  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x0\r
-\r
-  ## PL031 RealTimeClock\r
-  gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0\r
-\r
-  gArmPlatformTokenSpaceGuid.PcdPciBusMin|0x0\r
-  gArmPlatformTokenSpaceGuid.PcdPciBusMax|0x0\r
-  gArmPlatformTokenSpaceGuid.PcdPciIoBase|0x0\r
-  gArmPlatformTokenSpaceGuid.PcdPciIoSize|0x0\r
-  gArmPlatformTokenSpaceGuid.PcdPciIoTranslation|0x0\r
-  gArmPlatformTokenSpaceGuid.PcdPciMmio32Base|0x0\r
-  gArmPlatformTokenSpaceGuid.PcdPciMmio32Size|0x0\r
-  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0\r
-\r
-  gArmVirtualizationTokenSpaceGuid.PcdArmPsciMethod|0\r
-\r
-  gArmVirtualizationTokenSpaceGuid.PcdFwCfgSelectorAddress|0x0\r
-  gArmVirtualizationTokenSpaceGuid.PcdFwCfgDataAddress|0x0\r
-\r
-  #\r
-  # Set video resolution for boot options and for text setup.\r
-  # PlatformDxe can set the former at runtime.\r
-  #\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480\r
-\r
-################################################################################\r
-#\r
-# Components Section - list of all EDK II Modules needed by this Platform\r
-#\r
-################################################################################\r
-[Components.common]\r
-  #\r
-  # PEI Phase modules\r
-  #\r
-  ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf {\r
-    <LibraryClasses>\r
-      ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf\r
-  }\r
-  MdeModulePkg/Core/Pei/PeiMain.inf\r
-  MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
-  ArmPlatformPkg/PlatformPei/PlatformPeim.inf\r
-  ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf\r
-  ArmPkg/Drivers/CpuPei/CpuPei.inf\r
-\r
-!if $(SECURE_BOOT_ENABLE) == TRUE\r
-  SecurityPkg/VariableAuthenticated/Pei/VariablePei.inf {\r
-    <LibraryClasses>\r
-      BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf\r
-  }\r
-!else\r
-  MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
-!endif\r
-\r
-  MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
-    <LibraryClasses>\r
-      NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
-  }\r
-\r
-  #\r
-  # DXE\r
-  #\r
-  MdeModulePkg/Core/Dxe/DxeMain.inf {\r
-    <LibraryClasses>\r
-      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
-  }\r
-  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
-\r
-  #\r
-  # Architectural Protocols\r
-  #\r
-  ArmPkg/Drivers/CpuDxe/CpuDxe.inf\r
-  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
-!if $(SECURE_BOOT_ENABLE) == TRUE\r
-  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {\r
-    <LibraryClasses>\r
-      NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf\r
-  }\r
-  SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableRuntimeDxe.inf {\r
-    <LibraryClasses>\r
-      BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf\r
-      OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf\r
-  }\r
-  SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf\r
-!else\r
-  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
-  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
-!endif\r
-  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
-  MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
-  MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
-  EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
-  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
-  EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
-\r
-  MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
-  MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
-  MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
-  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
-  EmbeddedPkg/SerialDxe/SerialDxe.inf\r
-\r
-  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
-\r
-  ArmPkg/Drivers/ArmGic/ArmGicDxe.inf\r
-  ArmPkg/Drivers/TimerDxe/TimerDxe.inf\r
-!if $(SECURE_BOOT_ENABLE) == TRUE\r
-  ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashAuthenticatedDxe.inf\r
-!else\r
-  ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
-!endif\r
-  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
-\r
-  #\r
-  # Platform Driver\r
-  #\r
-  ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf\r
-  OvmfPkg/VirtioBlkDxe/VirtioBlk.inf\r
-  OvmfPkg/VirtioScsiDxe/VirtioScsi.inf\r
-  OvmfPkg/VirtioNetDxe/VirtioNet.inf\r
-\r
-  #\r
-  # FAT filesystem + GPT/MBR partitioning\r
-  #\r
-  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
-  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
-  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
-\r
-  #\r
-  # Bds\r
-  #\r
-  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
-!ifdef INTEL_BDS\r
-  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
-  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
-  IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
-!else\r
-  ArmPlatformPkg/Bds/Bds.inf\r
-!endif\r
-\r
-  #\r
-  # SCSI Bus and Disk Driver\r
-  #\r
-  MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
-  MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
-\r
-  #\r
-  # ACPI Support\r
-  #\r
-  MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf\r
-  OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf\r
-\r
-  #\r
-  # PCI support\r
-  #\r
-  ArmPlatformPkg/ArmVirtualizationPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
-  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf\r
-  OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf\r
-\r
-  #\r
-  # Video support\r
-  #\r
-  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {\r
-    <LibraryClasses>\r
-      BltLib|OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf\r
-  }\r
-  OvmfPkg/PlatformDxe/Platform.inf\r
-\r
-  #\r
-  # USB Support\r
-  #\r
-  MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
-  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
-  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
-  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
-  MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.fdf b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.fdf
deleted file mode 100644 (file)
index 33cb495..0000000
+++ /dev/null
@@ -1,389 +0,0 @@
-#\r
-#  Copyright (c) 2011, 2013, ARM Limited. All rights reserved.\r
-#  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-\r
-################################################################################\r
-#\r
-# FD Section\r
-# The [FD] Section is made up of the definition statements and a\r
-# description of what goes into  the Flash Device Image.  Each FD section\r
-# defines one flash "device" image.  A flash device image may be one of\r
-# the following: Removable media bootable image (like a boot floppy\r
-# image,) an Option ROM image (that would be "flashed" into an add-in\r
-# card,) a System "Flash"  image (that would be burned into a system's\r
-# flash) or an Update ("Capsule") image that will be used to update and\r
-# existing system flash.\r
-#\r
-################################################################################\r
-\r
-[FD.QEMU_EFI]\r
-BaseAddress   = 0x00000000|gArmTokenSpaceGuid.PcdFdBaseAddress  # QEMU assigns 0 - 0x8000000 for a BootROM\r
-Size          = 0x00200000|gArmTokenSpaceGuid.PcdFdSize         # The size in bytes of the FLASH Device\r
-ErasePolarity = 1\r
-\r
-# This one is tricky, it must be: BlockSize * NumBlocks = Size\r
-BlockSize     = 0x00001000\r
-NumBlocks     = 0x200\r
-\r
-################################################################################\r
-#\r
-# Following are lists of FD Region layout which correspond to the locations of different\r
-# images within the flash device.\r
-#\r
-# Regions must be defined in ascending order and may not overlap.\r
-#\r
-# A Layout Region start with a eight digit hex offset (leading "0x" required) followed by\r
-# the pipe "|" character, followed by the size of the region, also in hex with the leading\r
-# "0x" characters. Like:\r
-# Offset|Size\r
-# PcdOffsetCName|PcdSizeCName\r
-# RegionType <FV, DATA, or FILE>\r
-#\r
-################################################################################\r
-\r
-#\r
-# UEFI has trouble dealing with FVs that reside at physical address 0x0.\r
-# So instead, put a hardcoded 'jump to 0x1000' at offset 0x0, and put the\r
-# real FV at offset 0x1000\r
-#\r
-0x00000000|0x00001000\r
-DATA = {\r
-!if $(ARCH) == AARCH64\r
-  0x00, 0x04, 0x00, 0x14   # 'b 0x1000' in AArch64 ASM\r
-!else\r
-  0xfe, 0x03, 0x00, 0xea   # 'b 0x1000' in AArch32 ASM\r
-!endif\r
-}\r
-\r
-0x00001000|0x001ff000\r
-gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize\r
-FV = FVMAIN_COMPACT\r
-\r
-\r
-################################################################################\r
-#\r
-# FV Section\r
-#\r
-# [FV] section is used to define what components or modules are placed within a flash\r
-# device file.  This section also defines order the components and modules are positioned\r
-# within the image.  The [FV] section consists of define statements, set statements and\r
-# module statements.\r
-#\r
-################################################################################\r
-\r
-[FV.FvMain]\r
-BlockSize          = 0x40\r
-NumBlocks          = 0         # This FV gets compressed so make it just big enough\r
-FvAlignment        = 16        # FV alignment and FV attributes setting.\r
-ERASE_POLARITY     = 1\r
-MEMORY_MAPPED      = TRUE\r
-STICKY_WRITE       = TRUE\r
-LOCK_CAP           = TRUE\r
-LOCK_STATUS        = TRUE\r
-WRITE_DISABLED_CAP = TRUE\r
-WRITE_ENABLED_CAP  = TRUE\r
-WRITE_STATUS       = TRUE\r
-WRITE_LOCK_CAP     = TRUE\r
-WRITE_LOCK_STATUS  = TRUE\r
-READ_DISABLED_CAP  = TRUE\r
-READ_ENABLED_CAP   = TRUE\r
-READ_STATUS        = TRUE\r
-READ_LOCK_CAP      = TRUE\r
-READ_LOCK_STATUS   = TRUE\r
-\r
-  APRIORI DXE {\r
-    INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
-    INF ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf\r
-  }\r
-  INF MdeModulePkg/Core/Dxe/DxeMain.inf\r
-  INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
-  INF ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf\r
-\r
-  #\r
-  # PI DXE Drivers producing Architectural Protocols (EFI Services)\r
-  #\r
-  INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf\r
-  INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
-  INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
-  INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
-  INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
-!if $(SECURE_BOOT_ENABLE) == TRUE\r
-  INF SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableRuntimeDxe.inf\r
-  INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf\r
-!else\r
-  INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
-!endif\r
-  INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
-  INF EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
-  INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
-  INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
-  INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
-\r
-  #\r
-  # Multiple Console IO support\r
-  #\r
-  INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
-  INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
-  INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
-  INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
-  INF EmbeddedPkg/SerialDxe/SerialDxe.inf\r
-\r
-  INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf\r
-  INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf\r
-!if $(SECURE_BOOT_ENABLE) == TRUE\r
-  INF ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashAuthenticatedDxe.inf\r
-!else\r
-  INF ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
-!endif\r
-  INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
-\r
-  #\r
-  # FAT filesystem + GPT/MBR partitioning\r
-  #\r
-  INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
-  INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
-  INF FatBinPkg/EnhancedFatDxe/Fat.inf\r
-  INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
-\r
-  #\r
-  # Platform Driver\r
-  #\r
-  INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf\r
-  INF OvmfPkg/VirtioNetDxe/VirtioNet.inf\r
-  INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf\r
-\r
-  #\r
-  # UEFI application (Shell Embedded Boot Loader)\r
-  #\r
-  INF ShellPkg/Application/Shell/Shell.inf\r
-\r
-  #\r
-  # Bds\r
-  #\r
-  INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
-!ifdef INTEL_BDS\r
-  INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
-  INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
-  INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
-!else\r
-  INF ArmPlatformPkg/Bds/Bds.inf\r
-!endif\r
-\r
-  #\r
-  # Networking stack\r
-  #\r
-  INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
-  INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf\r
-  INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
-  INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf\r
-  INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
-  INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf\r
-  INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf\r
-  INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
-  INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
-  INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
-  INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
-  INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
-\r
-  #\r
-  # SCSI Bus and Disk Driver\r
-  #\r
-  INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
-  INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
-\r
-  #\r
-  # ACPI Support\r
-  #\r
-  INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf\r
-  INF OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf\r
-\r
-  #\r
-  # PCI support\r
-  #\r
-  INF ArmPlatformPkg/ArmVirtualizationPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
-  INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf\r
-  INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf\r
-\r
-  #\r
-  # Video support\r
-  #\r
-  INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf\r
-  INF OvmfPkg/PlatformDxe/Platform.inf\r
-\r
-  #\r
-  # USB Support\r
-  #\r
-  INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
-  INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
-  INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
-  INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
-  INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
-\r
-!ifdef INTEL_BDS\r
-  #\r
-  # TianoCore logo (splash screen)\r
-  #\r
-  FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {\r
-    SECTION RAW = MdeModulePkg/Logo/Logo.bmp\r
-  }\r
-!endif\r
-\r
-[FV.FVMAIN_COMPACT]\r
-FvAlignment        = 16\r
-ERASE_POLARITY     = 1\r
-MEMORY_MAPPED      = TRUE\r
-STICKY_WRITE       = TRUE\r
-LOCK_CAP           = TRUE\r
-LOCK_STATUS        = TRUE\r
-WRITE_DISABLED_CAP = TRUE\r
-WRITE_ENABLED_CAP  = TRUE\r
-WRITE_STATUS       = TRUE\r
-WRITE_LOCK_CAP     = TRUE\r
-WRITE_LOCK_STATUS  = TRUE\r
-READ_DISABLED_CAP  = TRUE\r
-READ_ENABLED_CAP   = TRUE\r
-READ_STATUS        = TRUE\r
-READ_LOCK_CAP      = TRUE\r
-READ_LOCK_STATUS   = TRUE\r
-\r
-  APRIORI PEI {\r
-    INF  MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
-  }\r
-  INF ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf\r
-  INF MdeModulePkg/Core/Pei/PeiMain.inf\r
-  INF ArmPlatformPkg/PlatformPei/PlatformPeim.inf\r
-  INF ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf\r
-  INF ArmPkg/Drivers/CpuPei/CpuPei.inf\r
-  INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
-!if $(SECURE_BOOT_ENABLE) == TRUE\r
-  INF SecurityPkg/VariableAuthenticated/Pei/VariablePei.inf\r
-!else\r
-  INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
-!endif\r
-  INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
-\r
-  FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {\r
-    SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {\r
-      SECTION FV_IMAGE = FVMAIN\r
-    }\r
-  }\r
-\r
-\r
-################################################################################\r
-#\r
-# Rules are use with the [FV] section's module INF type to define\r
-# how an FFS file is created for a given INF file. The following Rule are the default\r
-# rules for the different module type. User can add the customized rules to define the\r
-# content of the FFS file.\r
-#\r
-################################################################################\r
-\r
-\r
-############################################################################\r
-# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section   #\r
-############################################################################\r
-#\r
-#[Rule.Common.DXE_DRIVER]\r
-#  FILE DRIVER = $(NAMED_GUID) {\r
-#    DXE_DEPEX    DXE_DEPEX               Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
-#    COMPRESS PI_STD {\r
-#      GUIDED {\r
-#        PE32     PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-#        UI       STRING="$(MODULE_NAME)" Optional\r
-#        VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
-#      }\r
-#    }\r
-#  }\r
-#\r
-############################################################################\r
-\r
-[Rule.Common.SEC]\r
-  FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {\r
-    TE  TE Align = 128                  $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-  }\r
-\r
-[Rule.Common.PEI_CORE]\r
-  FILE PEI_CORE = $(NAMED_GUID) {\r
-    TE     TE Align = 8                 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-    UI     STRING ="$(MODULE_NAME)" Optional\r
-  }\r
-\r
-[Rule.Common.PEIM]\r
-  FILE PEIM = $(NAMED_GUID) {\r
-     PEI_DEPEX PEI_DEPEX Optional       $(INF_OUTPUT)/$(MODULE_NAME).depex\r
-     TE       TE Align = 8              $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-     UI       STRING="$(MODULE_NAME)" Optional\r
-  }\r
-\r
-[Rule.Common.PEIM.TIANOCOMPRESSED]\r
-  FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 {\r
-    PEI_DEPEX PEI_DEPEX Optional        $(INF_OUTPUT)/$(MODULE_NAME).depex\r
-    GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {\r
-      PE32      PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-      UI        STRING="$(MODULE_NAME)" Optional\r
-    }\r
-  }\r
-\r
-[Rule.Common.DXE_CORE]\r
-  FILE DXE_CORE = $(NAMED_GUID) {\r
-    PE32     PE32                       $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-    UI       STRING="$(MODULE_NAME)" Optional\r
-  }\r
-\r
-[Rule.Common.UEFI_DRIVER]\r
-  FILE DRIVER = $(NAMED_GUID) {\r
-    DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
-    PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-    UI           STRING="$(MODULE_NAME)" Optional\r
-  }\r
-\r
-[Rule.Common.DXE_DRIVER]\r
-  FILE DRIVER = $(NAMED_GUID) {\r
-    DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
-    PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-    UI           STRING="$(MODULE_NAME)" Optional\r
-  }\r
-\r
-[Rule.Common.DXE_RUNTIME_DRIVER]\r
-  FILE DRIVER = $(NAMED_GUID) {\r
-    DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
-    PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-    UI           STRING="$(MODULE_NAME)" Optional\r
-  }\r
-\r
-[Rule.Common.UEFI_APPLICATION]\r
-  FILE APPLICATION = $(NAMED_GUID) {\r
-    UI     STRING ="$(MODULE_NAME)"     Optional\r
-    PE32   PE32                         $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-  }\r
-\r
-[Rule.Common.UEFI_DRIVER.BINARY]\r
-  FILE DRIVER = $(NAMED_GUID) {\r
-    DXE_DEPEX DXE_DEPEX Optional      |.depex\r
-    PE32      PE32                    |.efi\r
-    UI        STRING="$(MODULE_NAME)" Optional\r
-    VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
-  }\r
-\r
-[Rule.Common.UEFI_APPLICATION.BINARY]\r
-  FILE APPLICATION = $(NAMED_GUID) {\r
-    PE32      PE32                    |.efi\r
-    UI        STRING="$(MODULE_NAME)" Optional\r
-    VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
-  }\r
-\r
-[Rule.Common.USER_DEFINED.ACPITABLE]\r
-  FILE FREEFORM = $(NAMED_GUID) {\r
-    RAW       ACPI                    |.acpi\r
-    RAW       ASL                     |.aml\r
-    UI        STRING="$(MODULE_NAME)" Optional\r
-  }\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationXen.dsc b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationXen.dsc
deleted file mode 100644 (file)
index 20233e6..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-#\r
-#  Copyright (c) 2011-2013, ARM Limited. All rights reserved.\r
-#  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#\r
-\r
-################################################################################\r
-#\r
-# Defines Section - statements that will be processed to create a Makefile.\r
-#\r
-################################################################################\r
-[Defines]\r
-  PLATFORM_NAME                  = ArmVirtualizationXen\r
-  PLATFORM_GUID                  = d1c43be3-3373-4a06-86fb-d1cb3083a207\r
-  PLATFORM_VERSION               = 0.1\r
-  DSC_SPECIFICATION              = 0x00010005\r
-  OUTPUT_DIRECTORY               = Build/ArmVirtualizationXen-$(ARCH)\r
-  SUPPORTED_ARCHITECTURES        = AARCH64\r
-  BUILD_TARGETS                  = DEBUG|RELEASE\r
-  SKUID_IDENTIFIER               = DEFAULT\r
-  FLASH_DEFINITION               = ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationXen.fdf\r
-\r
-!include ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc\r
-\r
-[LibraryClasses]\r
-  SerialPortLib|OvmfPkg/Library/XenConsoleSerialPortLib/XenConsoleSerialPortLib.inf\r
-  RealTimeClockLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/XenRealTimeClockLib/XenRealTimeClockLib.inf\r
-  XenHypercallLib|OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf\r
-\r
-[LibraryClasses.AARCH64]\r
-  ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf\r
-  ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf\r
-\r
-[LibraryClasses.ARM]\r
-  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
-  ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Lib.inf\r
-\r
-[LibraryClasses.common]\r
-  # Virtio Support\r
-  VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf\r
-  VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf\r
-\r
-  ArmPlatformLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/ArmXenRelocatablePlatformLib.inf\r
-  ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf\r
-\r
-  TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf\r
-\r
-  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
-  GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf\r
-  PlatformBdsLib|ArmPlatformPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf\r
-  CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf\r
-\r
-[LibraryClasses.common.UEFI_DRIVER]\r
-  UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
-\r
-[LibraryClasses.AARCH64.SEC]\r
-  ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf\r
-\r
-[LibraryClasses.ARM.SEC]\r
-  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf\r
-\r
-[BuildOptions]\r
-  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmPlatformPkg/ArmVirtualizationPkg/Include\r
-  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmPlatformPkg/ArmVirtualizationPkg/Include\r
-  GCC:*_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmPlatformPkg/ArmVirtualizationPkg/Include\r
-\r
-################################################################################\r
-#\r
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
-#\r
-################################################################################\r
-\r
-[PcdsFixedAtBuild.common]\r
-  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"XEN-UEFI"\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(FIRMWARE_VER)"\r
-\r
-  gArmPlatformTokenSpaceGuid.PcdCoreCount|1\r
-!if $(ARCH) == AARCH64\r
-  gArmTokenSpaceGuid.PcdVFPEnabled|1\r
-!endif\r
-\r
-  gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000\r
-\r
-  # Size of the region used by UEFI in permanent memory (Reserved 64MB)\r
-  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000\r
-\r
-  #\r
-  # ARM Virtual Architectural Timer\r
-  #\r
-  gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|0\r
-\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE\r
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }\r
-\r
-[PcdsPatchableInModule.common]\r
-  #\r
-  # This will be overridden in the code\r
-  #\r
-  gArmTokenSpaceGuid.PcdSystemMemoryBase|0x0\r
-  gArmTokenSpaceGuid.PcdSystemMemorySize|0x0\r
-  gArmVirtualizationTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress|0x0\r
-\r
-  gArmTokenSpaceGuid.PcdFdBaseAddress|0x0\r
-  gArmTokenSpaceGuid.PcdFvBaseAddress|0x0\r
-\r
-[PcdsDynamicDefault.common]\r
-  ## If TRUE, OvmfPkg/AcpiPlatformDxe will not wait for PCI\r
-  #  enumeration to complete before installing ACPI tables.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE\r
-\r
-  gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum|0x0\r
-  gArmTokenSpaceGuid.PcdArmArchTimerIntrNum|0x0\r
-  gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum|0x0\r
-  gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum|0x0\r
-\r
-  #\r
-  # ARM General Interrupt Controller\r
-  #\r
-  gArmTokenSpaceGuid.PcdGicDistributorBase|0x0\r
-  gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x0\r
-  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x0\r
-\r
-  ## PL031 RealTimeClock\r
-  gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0\r
-\r
-  gArmPlatformTokenSpaceGuid.PcdPciBusMin|0x0\r
-  gArmPlatformTokenSpaceGuid.PcdPciBusMax|0x0\r
-  gArmPlatformTokenSpaceGuid.PcdPciIoBase|0x0\r
-  gArmPlatformTokenSpaceGuid.PcdPciIoSize|0x0\r
-  gArmPlatformTokenSpaceGuid.PcdPciIoTranslation|0x0\r
-  gArmPlatformTokenSpaceGuid.PcdPciMmio32Base|0x0\r
-  gArmPlatformTokenSpaceGuid.PcdPciMmio32Size|0x0\r
-  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0\r
-\r
-  gArmVirtualizationTokenSpaceGuid.PcdFwCfgSelectorAddress|0x0\r
-  gArmVirtualizationTokenSpaceGuid.PcdFwCfgDataAddress|0x0\r
-\r
-  gArmVirtualizationTokenSpaceGuid.PcdArmPsciMethod|0\r
-\r
-  gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3\r
-\r
-################################################################################\r
-#\r
-# Components Section - list of all EDK II Modules needed by this Platform\r
-#\r
-################################################################################\r
-[Components.common]\r
-  #\r
-  # PEI Phase modules\r
-  #\r
-  ArmPlatformPkg/ArmVirtualizationPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf {\r
-    <LibraryClasses>\r
-      ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf\r
-      LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
-      PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf\r
-      HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf\r
-      PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf\r
-      ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64LibPrePi.inf\r
-      MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf\r
-      ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/PrePi/PrePiArmPlatformGlobalVariableLib.inf\r
-      SerialPortLib|OvmfPkg/Library/XenConsoleSerialPortLib/XenConsoleSerialPortLib.inf\r
-  }\r
-\r
-  #\r
-  # DXE\r
-  #\r
-  MdeModulePkg/Core/Dxe/DxeMain.inf {\r
-    <LibraryClasses>\r
-      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
-  }\r
-  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
-\r
-  #\r
-  # Architectural Protocols\r
-  #\r
-  ArmPkg/Drivers/CpuDxe/CpuDxe.inf\r
-  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
-  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
-  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
-\r
-  MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf\r
-\r
-  MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
-  EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
-  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
-  EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
-\r
-  MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
-  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
-  EmbeddedPkg/SerialDxe/SerialDxe.inf\r
-\r
-  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
-\r
-  ArmPkg/Drivers/ArmGic/ArmGicDxe.inf\r
-  ArmPkg/Drivers/TimerDxe/TimerDxe.inf\r
-  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
-\r
-  #\r
-  # Platform Driver\r
-  #\r
-  ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf\r
-\r
-  #\r
-  # FAT filesystem + GPT/MBR partitioning\r
-  #\r
-  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
-  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
-  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
-\r
-  #\r
-  # Bds\r
-  #\r
-  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
-  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
-  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
-  IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
-\r
-  OvmfPkg/XenBusDxe/XenBusDxe.inf\r
-  OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationXen.fdf b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationXen.fdf
deleted file mode 100644 (file)
index 270a14c..0000000
+++ /dev/null
@@ -1,302 +0,0 @@
-#\r
-#  Copyright (c) 2011, 2013, ARM Limited. All rights reserved.\r
-#  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-\r
-################################################################################\r
-#\r
-# FD Section\r
-# The [FD] Section is made up of the definition statements and a\r
-# description of what goes into  the Flash Device Image.  Each FD section\r
-# defines one flash "device" image.  A flash device image may be one of\r
-# the following: Removable media bootable image (like a boot floppy\r
-# image,) an Option ROM image (that would be "flashed" into an add-in\r
-# card,) a System "Flash"  image (that would be burned into a system's\r
-# flash) or an Update ("Capsule") image that will be used to update and\r
-# existing system flash.\r
-#\r
-################################################################################\r
-\r
-[FD.XEN_EFI]\r
-BaseAddress   = 0x00000000|gArmTokenSpaceGuid.PcdFdBaseAddress\r
-Size          = 0x00200000|gArmTokenSpaceGuid.PcdFdSize\r
-ErasePolarity = 1\r
-\r
-# This one is tricky, it must be: BlockSize * NumBlocks = Size\r
-BlockSize     = 0x00001000\r
-NumBlocks     = 0x200\r
-\r
-################################################################################\r
-#\r
-# Following are lists of FD Region layout which correspond to the locations of different\r
-# images within the flash device.\r
-#\r
-# Regions must be defined in ascending order and may not overlap.\r
-#\r
-# A Layout Region start with a eight digit hex offset (leading "0x" required) followed by\r
-# the pipe "|" character, followed by the size of the region, also in hex with the leading\r
-# "0x" characters. Like:\r
-# Offset|Size\r
-# PcdOffsetCName|PcdSizeCName\r
-# RegionType <FV, DATA, or FILE>\r
-#\r
-################################################################################\r
-\r
-#\r
-# Implement the Linux kernel header layout so that the Xen loader will identify\r
-# it as something bootable, and execute it with a FDT pointer in x0. This area\r
-# will be reused to store a copy of the FDT so round it up to 8 KB.\r
-#\r
-0x00000000|0x00002000\r
-DATA = {\r
-  0x01, 0x00, 0x00, 0x10,                         # code0: adr x1, .\r
-  0xff, 0x07, 0x00, 0x14,                         # code1: b 0x2000\r
-  0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, # text_offset: 512 KB\r
-  0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, # image_size: 2 MB\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # flags\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # res2\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # res3\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # res4\r
-  0x41, 0x52, 0x4d, 0x64,                         # magic: "ARM\x64"\r
-  0x00, 0x00, 0x00, 0x00                          # res5\r
-}\r
-\r
-0x00002000|0x001fe000\r
-gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize\r
-FV = FVMAIN_COMPACT\r
-\r
-\r
-################################################################################\r
-#\r
-# FV Section\r
-#\r
-# [FV] section is used to define what components or modules are placed within a flash\r
-# device file.  This section also defines order the components and modules are positioned\r
-# within the image.  The [FV] section consists of define statements, set statements and\r
-# module statements.\r
-#\r
-################################################################################\r
-\r
-[FV.FvMain]\r
-BlockSize          = 0x40\r
-NumBlocks          = 0         # This FV gets compressed so make it just big enough\r
-FvAlignment        = 16        # FV alignment and FV attributes setting.\r
-ERASE_POLARITY     = 1\r
-MEMORY_MAPPED      = TRUE\r
-STICKY_WRITE       = TRUE\r
-LOCK_CAP           = TRUE\r
-LOCK_STATUS        = TRUE\r
-WRITE_DISABLED_CAP = TRUE\r
-WRITE_ENABLED_CAP  = TRUE\r
-WRITE_STATUS       = TRUE\r
-WRITE_LOCK_CAP     = TRUE\r
-WRITE_LOCK_STATUS  = TRUE\r
-READ_DISABLED_CAP  = TRUE\r
-READ_ENABLED_CAP   = TRUE\r
-READ_STATUS        = TRUE\r
-READ_LOCK_CAP      = TRUE\r
-READ_LOCK_STATUS   = TRUE\r
-\r
-  APRIORI DXE {\r
-    INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
-    INF ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf\r
-  }\r
-  INF MdeModulePkg/Core/Dxe/DxeMain.inf\r
-  INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
-  INF ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf\r
-\r
-  #\r
-  # PI DXE Drivers producing Architectural Protocols (EFI Services)\r
-  #\r
-  INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf\r
-  INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
-  INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
-  INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
-\r
-  INF MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf\r
-\r
-  INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
-  INF EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
-  INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
-  INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
-  INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
-\r
-  #\r
-  # Multiple Console IO support\r
-  #\r
-  INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
-  INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
-  INF EmbeddedPkg/SerialDxe/SerialDxe.inf\r
-\r
-  INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf\r
-  INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf\r
-  INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
-\r
-  #\r
-  # FAT filesystem + GPT/MBR partitioning\r
-  #\r
-  INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
-  INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
-  INF FatBinPkg/EnhancedFatDxe/Fat.inf\r
-  INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
-\r
-  #\r
-  # UEFI application (Shell Embedded Boot Loader)\r
-  #\r
-  INF ShellPkg/Application/Shell/Shell.inf\r
-\r
-  #\r
-  # Bds\r
-  #\r
-  INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
-  INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
-  INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
-  INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
-\r
-  INF OvmfPkg/XenBusDxe/XenBusDxe.inf\r
-  INF OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf\r
-\r
-[FV.FVMAIN_COMPACT]\r
-FvAlignment        = 16\r
-ERASE_POLARITY     = 1\r
-MEMORY_MAPPED      = TRUE\r
-STICKY_WRITE       = TRUE\r
-LOCK_CAP           = TRUE\r
-LOCK_STATUS        = TRUE\r
-WRITE_DISABLED_CAP = TRUE\r
-WRITE_ENABLED_CAP  = TRUE\r
-WRITE_STATUS       = TRUE\r
-WRITE_LOCK_CAP     = TRUE\r
-WRITE_LOCK_STATUS  = TRUE\r
-READ_DISABLED_CAP  = TRUE\r
-READ_ENABLED_CAP   = TRUE\r
-READ_STATUS        = TRUE\r
-READ_LOCK_CAP      = TRUE\r
-READ_LOCK_STATUS   = TRUE\r
-\r
-  INF ArmPlatformPkg/ArmVirtualizationPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf\r
-\r
-  FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {\r
-    SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {\r
-      SECTION FV_IMAGE = FVMAIN\r
-    }\r
-  }\r
-\r
-\r
-################################################################################\r
-#\r
-# Rules are use with the [FV] section's module INF type to define\r
-# how an FFS file is created for a given INF file. The following Rule are the default\r
-# rules for the different module type. User can add the customized rules to define the\r
-# content of the FFS file.\r
-#\r
-################################################################################\r
-\r
-\r
-############################################################################\r
-# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section   #\r
-############################################################################\r
-#\r
-#[Rule.Common.DXE_DRIVER]\r
-#  FILE DRIVER = $(NAMED_GUID) {\r
-#    DXE_DEPEX    DXE_DEPEX               Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
-#    COMPRESS PI_STD {\r
-#      GUIDED {\r
-#        PE32     PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-#        UI       STRING="$(MODULE_NAME)" Optional\r
-#        VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
-#      }\r
-#    }\r
-#  }\r
-#\r
-############################################################################\r
-\r
-[Rule.Common.SEC]\r
-  FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {\r
-    TE  TE Align = 4K                   $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-  }\r
-\r
-[Rule.Common.PEI_CORE]\r
-  FILE PEI_CORE = $(NAMED_GUID) {\r
-    TE     TE Align = 8                 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-    UI     STRING ="$(MODULE_NAME)" Optional\r
-  }\r
-\r
-[Rule.Common.PEIM]\r
-  FILE PEIM = $(NAMED_GUID) {\r
-     PEI_DEPEX PEI_DEPEX Optional       $(INF_OUTPUT)/$(MODULE_NAME).depex\r
-     TE       TE Align = 8              $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-     UI       STRING="$(MODULE_NAME)" Optional\r
-  }\r
-\r
-[Rule.Common.PEIM.TIANOCOMPRESSED]\r
-  FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 {\r
-    PEI_DEPEX PEI_DEPEX Optional        $(INF_OUTPUT)/$(MODULE_NAME).depex\r
-    GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {\r
-      PE32      PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-      UI        STRING="$(MODULE_NAME)" Optional\r
-    }\r
-  }\r
-\r
-[Rule.Common.DXE_CORE]\r
-  FILE DXE_CORE = $(NAMED_GUID) {\r
-    PE32     PE32                       $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-    UI       STRING="$(MODULE_NAME)" Optional\r
-  }\r
-\r
-[Rule.Common.UEFI_DRIVER]\r
-  FILE DRIVER = $(NAMED_GUID) {\r
-    DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
-    PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-    UI           STRING="$(MODULE_NAME)" Optional\r
-  }\r
-\r
-[Rule.Common.DXE_DRIVER]\r
-  FILE DRIVER = $(NAMED_GUID) {\r
-    DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
-    PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-    UI           STRING="$(MODULE_NAME)" Optional\r
-  }\r
-\r
-[Rule.Common.DXE_RUNTIME_DRIVER]\r
-  FILE DRIVER = $(NAMED_GUID) {\r
-    DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
-    PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-    UI           STRING="$(MODULE_NAME)" Optional\r
-  }\r
-\r
-[Rule.Common.UEFI_APPLICATION]\r
-  FILE APPLICATION = $(NAMED_GUID) {\r
-    UI     STRING ="$(MODULE_NAME)"     Optional\r
-    PE32   PE32                         $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-  }\r
-\r
-[Rule.Common.UEFI_DRIVER.BINARY]\r
-  FILE DRIVER = $(NAMED_GUID) {\r
-    DXE_DEPEX DXE_DEPEX Optional      |.depex\r
-    PE32      PE32                    |.efi\r
-    UI        STRING="$(MODULE_NAME)" Optional\r
-    VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
-  }\r
-\r
-[Rule.Common.UEFI_APPLICATION.BINARY]\r
-  FILE APPLICATION = $(NAMED_GUID) {\r
-    PE32      PE32                    |.efi\r
-    UI        STRING="$(MODULE_NAME)" Optional\r
-    VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
-  }\r
-\r
-[Rule.Common.USER_DEFINED.ACPITABLE]\r
-  FILE FREEFORM = $(NAMED_GUID) {\r
-    RAW       ACPI                    |.acpi\r
-    RAW       ASL                     |.aml\r
-    UI        STRING="$(MODULE_NAME)" Optional\r
-  }\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Include/ArmPlatform.h b/ArmPlatformPkg/ArmVirtualizationPkg/Include/ArmPlatform.h
deleted file mode 100644 (file)
index 77178aa..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/** @file\r
-*  Header defining platform constants (Base addresses, sizes, flags)\r
-*\r
-*  Copyright (c) 2011, ARM Limited. All rights reserved.\r
-*  Copyright (c) 2014, Linaro Limited\r
-*\r
-*  This program and the accompanying materials\r
-*  are licensed and made available under the terms and conditions of the BSD License\r
-*  which accompanies this distribution.  The full text of the license may be found at\r
-*  http://opensource.org/licenses/bsd-license.php\r
-*\r
-*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-*\r
-**/\r
-\r
-#ifndef __PLATFORM_H__\r
-#define __PLATFORM_H__\r
-\r
-//\r
-// We don't care about this value, but the PL031 driver depends on the macro\r
-// to exist: it will pass it on to our ArmPlatformSysConfigLib:ConfigGet()\r
-// function, which just returns EFI_UNSUPPORTED.\r
-//\r
-#define SYS_CFG_RTC       0x0\r
-\r
-#define QEMU_NOR_BLOCK_SIZE    SIZE_256KB\r
-#define QEMU_NOR0_BASE         0x0\r
-#define QEMU_NOR0_SIZE         SIZE_64MB\r
-#define QEMU_NOR1_BASE         0x04000000\r
-#define QEMU_NOR1_SIZE         SIZE_64MB\r
-\r
-#endif\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Include/Guid/EarlyPL011BaseAddress.h b/ArmPlatformPkg/ArmVirtualizationPkg/Include/Guid/EarlyPL011BaseAddress.h
deleted file mode 100644 (file)
index 1b703a8..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/** @file\r
-  GUID for the HOB that caches the base address of the PL011 serial port, for\r
-  when PCD access is not available.\r
-\r
-  Copyright (C) 2014, Red Hat, Inc.\r
-\r
-  This program and the accompanying materials are licensed and made available\r
-  under the terms and conditions of the BSD License that accompanies this\r
-  distribution. The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php.\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT\r
-  WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#ifndef __EARLY_PL011_BASE_ADDRESS_H__\r
-#define __EARLY_PL011_BASE_ADDRESS_H__\r
-\r
-#define EARLY_PL011_BASE_ADDRESS_GUID { \\r
-          0xB199DEA9, 0xFD5C, 0x4A84, \\r
-          { 0x80, 0x82, 0x2F, 0x41, 0x70, 0x78, 0x03, 0x05 } \\r
-        }\r
-\r
-extern EFI_GUID gEarlyPL011BaseAddressGuid;\r
-\r
-#endif\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationDxeHobLib/ArmVirtualizationDxeHobLib.inf b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationDxeHobLib/ArmVirtualizationDxeHobLib.inf
deleted file mode 100644 (file)
index b6a2c00..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-## @file\r
-# Instance of HOB Library using HOB list from EFI Configuration Table, with\r
-# DebugLib dependency removed\r
-#\r
-# HOB Library implementation that retrieves the HOB List\r
-#  from the System Configuration Table in the EFI System Table.\r
-#\r
-# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
-# Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution. The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php.\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#\r
-##\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = ArmVirtualizationDxeHobLib\r
-  FILE_GUID                      = 3CD90EEC-EBF3-425D-AAE8-B16215AC4F50\r
-  MODULE_TYPE                    = DXE_DRIVER\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = HobLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER SMM_CORE DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER\r
-  CONSTRUCTOR                    = HobLibConstructor\r
-\r
-[Sources]\r
-  HobLib.c\r
-\r
-[Packages]\r
-  MdePkg/MdePkg.dec\r
-\r
-[LibraryClasses]\r
-  BaseMemoryLib\r
-\r
-[Guids]\r
-  gEfiHobListGuid                               ## CONSUMES  ## SystemTable\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationDxeHobLib/HobLib.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationDxeHobLib/HobLib.c
deleted file mode 100644 (file)
index 81196b2..0000000
+++ /dev/null
@@ -1,577 +0,0 @@
-/** @file\r
-  HOB Library implemenation for Dxe Phase with DebugLib dependency removed\r
-\r
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
-Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#define ASSERT(Expression)      \\r
-  do {                          \\r
-    if (!(Expression)) {        \\r
-      CpuDeadLoop ();           \\r
-    }                           \\r
-  } while (FALSE)\r
-\r
-#include <PiDxe.h>\r
-\r
-#include <Guid/HobList.h>\r
-\r
-#include <Library/HobLib.h>\r
-#include <Library/UefiLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-\r
-VOID  *mHobList = NULL;\r
-\r
-/**\r
-  The constructor function caches the pointer to HOB list.\r
-\r
-  The constructor function gets the start address of HOB list from system configuration table.\r
-\r
-  @param  ImageHandle   The firmware allocated handle for the EFI image.\r
-  @param  SystemTable   A pointer to the EFI System Table.\r
-\r
-  @retval EFI_SUCCESS   The constructor successfully gets HobList.\r
-  @retval Other value   The constructor can't get HobList.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-HobLibConstructor (\r
-  IN EFI_HANDLE        ImageHandle,\r
-  IN EFI_SYSTEM_TABLE  *SystemTable\r
-  )\r
-{\r
-  UINTN             Index;\r
-\r
-  for (Index = 0; Index < SystemTable->NumberOfTableEntries; Index++) {\r
-    if (CompareGuid (&gEfiHobListGuid, &(SystemTable->ConfigurationTable[Index].VendorGuid))) {\r
-      mHobList = SystemTable->ConfigurationTable[Index].VendorTable;\r
-      return EFI_SUCCESS;\r
-    }\r
-  }\r
-\r
-  return EFI_NOT_FOUND;\r
-}\r
-\r
-/**\r
-  Returns the pointer to the HOB list.\r
-\r
-  This function returns the pointer to first HOB in the list.\r
-  For PEI phase, the PEI service GetHobList() can be used to retrieve the pointer\r
-  to the HOB list.  For the DXE phase, the HOB list pointer can be retrieved through\r
-  the EFI System Table by looking up theHOB list GUID in the System Configuration Table.\r
-  Since the System Configuration Table does not exist that the time the DXE Core is\r
-  launched, the DXE Core uses a global variable from the DXE Core Entry Point Library\r
-  to manage the pointer to the HOB list.\r
-\r
-  If the pointer to the HOB list is NULL, then ASSERT().\r
-\r
-  @return The pointer to the HOB list.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetHobList (\r
-  VOID\r
-  )\r
-{\r
-  ASSERT (mHobList != NULL);\r
-  return mHobList;\r
-}\r
-\r
-/**\r
-  Returns the next instance of a HOB type from the starting HOB.\r
-\r
-  This function searches the first instance of a HOB type from the starting HOB pointer.\r
-  If there does not exist such HOB type from the starting HOB pointer, it will return NULL.\r
-  In contrast with macro GET_NEXT_HOB(), this function does not skip the starting HOB pointer\r
-  unconditionally: it returns HobStart back if HobStart itself meets the requirement;\r
-  caller is required to use GET_NEXT_HOB() if it wishes to skip current HobStart.\r
-\r
-  If HobStart is NULL, then ASSERT().\r
-\r
-  @param  Type          The HOB type to return.\r
-  @param  HobStart      The starting HOB pointer to search from.\r
-\r
-  @return The next instance of a HOB type from the starting HOB.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetNextHob (\r
-  IN UINT16                 Type,\r
-  IN CONST VOID             *HobStart\r
-  )\r
-{\r
-  EFI_PEI_HOB_POINTERS  Hob;\r
-\r
-  ASSERT (HobStart != NULL);\r
-\r
-  Hob.Raw = (UINT8 *) HobStart;\r
-  //\r
-  // Parse the HOB list until end of list or matching type is found.\r
-  //\r
-  while (!END_OF_HOB_LIST (Hob)) {\r
-    if (Hob.Header->HobType == Type) {\r
-      return Hob.Raw;\r
-    }\r
-    Hob.Raw = GET_NEXT_HOB (Hob);\r
-  }\r
-  return NULL;\r
-}\r
-\r
-/**\r
-  Returns the first instance of a HOB type among the whole HOB list.\r
-\r
-  This function searches the first instance of a HOB type among the whole HOB list.\r
-  If there does not exist such HOB type in the HOB list, it will return NULL.\r
-\r
-  If the pointer to the HOB list is NULL, then ASSERT().\r
-\r
-  @param  Type          The HOB type to return.\r
-\r
-  @return The next instance of a HOB type from the starting HOB.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetFirstHob (\r
-  IN UINT16                 Type\r
-  )\r
-{\r
-  VOID      *HobList;\r
-\r
-  HobList = GetHobList ();\r
-  return GetNextHob (Type, HobList);\r
-}\r
-\r
-/**\r
-  Returns the next instance of the matched GUID HOB from the starting HOB.\r
-\r
-  This function searches the first instance of a HOB from the starting HOB pointer.\r
-  Such HOB should satisfy two conditions:\r
-  its HOB type is EFI_HOB_TYPE_GUID_EXTENSION and its GUID Name equals to the input Guid.\r
-  If there does not exist such HOB from the starting HOB pointer, it will return NULL.\r
-  Caller is required to apply GET_GUID_HOB_DATA () and GET_GUID_HOB_DATA_SIZE ()\r
-  to extract the data section and its size information, respectively.\r
-  In contrast with macro GET_NEXT_HOB(), this function does not skip the starting HOB pointer\r
-  unconditionally: it returns HobStart back if HobStart itself meets the requirement;\r
-  caller is required to use GET_NEXT_HOB() if it wishes to skip current HobStart.\r
-\r
-  If Guid is NULL, then ASSERT().\r
-  If HobStart is NULL, then ASSERT().\r
-\r
-  @param  Guid          The GUID to match with in the HOB list.\r
-  @param  HobStart      A pointer to a Guid.\r
-\r
-  @return The next instance of the matched GUID HOB from the starting HOB.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetNextGuidHob (\r
-  IN CONST EFI_GUID         *Guid,\r
-  IN CONST VOID             *HobStart\r
-  )\r
-{\r
-  EFI_PEI_HOB_POINTERS  GuidHob;\r
-\r
-  GuidHob.Raw = (UINT8 *) HobStart;\r
-  while ((GuidHob.Raw = GetNextHob (EFI_HOB_TYPE_GUID_EXTENSION, GuidHob.Raw)) != NULL) {\r
-    if (CompareGuid (Guid, &GuidHob.Guid->Name)) {\r
-      break;\r
-    }\r
-    GuidHob.Raw = GET_NEXT_HOB (GuidHob);\r
-  }\r
-  return GuidHob.Raw;\r
-}\r
-\r
-/**\r
-  Returns the first instance of the matched GUID HOB among the whole HOB list.\r
-\r
-  This function searches the first instance of a HOB among the whole HOB list.\r
-  Such HOB should satisfy two conditions:\r
-  its HOB type is EFI_HOB_TYPE_GUID_EXTENSION and its GUID Name equals to the input Guid.\r
-  If there does not exist such HOB from the starting HOB pointer, it will return NULL.\r
-  Caller is required to apply GET_GUID_HOB_DATA () and GET_GUID_HOB_DATA_SIZE ()\r
-  to extract the data section and its size information, respectively.\r
-\r
-  If the pointer to the HOB list is NULL, then ASSERT().\r
-  If Guid is NULL, then ASSERT().\r
-\r
-  @param  Guid          The GUID to match with in the HOB list.\r
-\r
-  @return The first instance of the matched GUID HOB among the whole HOB list.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetFirstGuidHob (\r
-  IN CONST EFI_GUID         *Guid\r
-  )\r
-{\r
-  VOID      *HobList;\r
-\r
-  HobList = GetHobList ();\r
-  return GetNextGuidHob (Guid, HobList);\r
-}\r
-\r
-/**\r
-  Get the system boot mode from the HOB list.\r
-\r
-  This function returns the system boot mode information from the\r
-  PHIT HOB in HOB list.\r
-\r
-  If the pointer to the HOB list is NULL, then ASSERT().\r
-\r
-  @param  VOID\r
-\r
-  @return The Boot Mode.\r
-\r
-**/\r
-EFI_BOOT_MODE\r
-EFIAPI\r
-GetBootModeHob (\r
-  VOID\r
-  )\r
-{\r
-  EFI_HOB_HANDOFF_INFO_TABLE    *HandOffHob;\r
-\r
-  HandOffHob = (EFI_HOB_HANDOFF_INFO_TABLE *) GetHobList ();\r
-\r
-  return  HandOffHob->BootMode;\r
-}\r
-\r
-/**\r
-  Builds a HOB for a loaded PE32 module.\r
-\r
-  This function builds a HOB for a loaded PE32 module.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-\r
-  If ModuleName is NULL, then ASSERT().\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  ModuleName              The GUID File Name of the module.\r
-  @param  MemoryAllocationModule  The 64 bit physical address of the module.\r
-  @param  ModuleLength            The length of the module in bytes.\r
-  @param  EntryPoint              The 64 bit physical address of the module entry point.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildModuleHob (\r
-  IN CONST EFI_GUID         *ModuleName,\r
-  IN EFI_PHYSICAL_ADDRESS   MemoryAllocationModule,\r
-  IN UINT64                 ModuleLength,\r
-  IN EFI_PHYSICAL_ADDRESS   EntryPoint\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r
-\r
-/**\r
-  Builds a HOB that describes a chunk of system memory.\r
-\r
-  This function builds a HOB that describes a chunk of system memory.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  ResourceType        The type of resource described by this HOB.\r
-  @param  ResourceAttribute   The resource attributes of the memory described by this HOB.\r
-  @param  PhysicalStart       The 64 bit physical address of memory described by this HOB.\r
-  @param  NumberOfBytes       The length of the memory described by this HOB in bytes.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildResourceDescriptorHob (\r
-  IN EFI_RESOURCE_TYPE            ResourceType,\r
-  IN EFI_RESOURCE_ATTRIBUTE_TYPE  ResourceAttribute,\r
-  IN EFI_PHYSICAL_ADDRESS         PhysicalStart,\r
-  IN UINT64                       NumberOfBytes\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r
-\r
-/**\r
-  Builds a customized HOB tagged with a GUID for identification and returns\r
-  the start address of GUID HOB data.\r
-\r
-  This function builds a customized HOB tagged with a GUID for identification\r
-  and returns the start address of GUID HOB data so that caller can fill the customized data.\r
-  The HOB Header and Name field is already stripped.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-\r
-  If Guid is NULL, then ASSERT().\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-  If DataLength > (0xFFF8 - sizeof (EFI_HOB_GUID_TYPE)), then ASSERT().\r
-  HobLength is UINT16 and multiples of 8 bytes, so the max HobLength is 0xFFF8.\r
-\r
-  @param  Guid          The GUID to tag the customized HOB.\r
-  @param  DataLength    The size of the data payload for the GUID HOB.\r
-\r
-  @retval  NULL         The GUID HOB could not be allocated.\r
-  @retval  others       The start address of GUID HOB data.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-BuildGuidHob (\r
-  IN CONST EFI_GUID              *Guid,\r
-  IN UINTN                       DataLength\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-  return NULL;\r
-}\r
-\r
-/**\r
-  Builds a customized HOB tagged with a GUID for identification, copies the input data to the HOB\r
-  data field, and returns the start address of the GUID HOB data.\r
-\r
-  This function builds a customized HOB tagged with a GUID for identification and copies the input\r
-  data to the HOB data field and returns the start address of the GUID HOB data.  It can only be\r
-  invoked during PEI phase; for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-  The HOB Header and Name field is already stripped.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-\r
-  If Guid is NULL, then ASSERT().\r
-  If Data is NULL and DataLength > 0, then ASSERT().\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-  If DataLength > (0xFFF8 - sizeof (EFI_HOB_GUID_TYPE)), then ASSERT().\r
-  HobLength is UINT16 and multiples of 8 bytes, so the max HobLength is 0xFFF8.\r
-\r
-  @param  Guid          The GUID to tag the customized HOB.\r
-  @param  Data          The data to be copied into the data field of the GUID HOB.\r
-  @param  DataLength    The size of the data payload for the GUID HOB.\r
-\r
-  @retval  NULL         The GUID HOB could not be allocated.\r
-  @retval  others       The start address of GUID HOB data.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-BuildGuidDataHob (\r
-  IN CONST EFI_GUID              *Guid,\r
-  IN VOID                        *Data,\r
-  IN UINTN                       DataLength\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-  return NULL;\r
-}\r
-\r
-/**\r
-  Builds a Firmware Volume HOB.\r
-\r
-  This function builds a Firmware Volume HOB.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  BaseAddress   The base address of the Firmware Volume.\r
-  @param  Length        The size of the Firmware Volume in bytes.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildFvHob (\r
-  IN EFI_PHYSICAL_ADDRESS        BaseAddress,\r
-  IN UINT64                      Length\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r
-\r
-/**\r
-  Builds a EFI_HOB_TYPE_FV2 HOB.\r
-\r
-  This function builds a EFI_HOB_TYPE_FV2 HOB.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  BaseAddress   The base address of the Firmware Volume.\r
-  @param  Length        The size of the Firmware Volume in bytes.\r
-  @param  FvName        The name of the Firmware Volume.\r
-  @param  FileName      The name of the file.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildFv2Hob (\r
-  IN          EFI_PHYSICAL_ADDRESS        BaseAddress,\r
-  IN          UINT64                      Length,\r
-  IN CONST    EFI_GUID                    *FvName,\r
-  IN CONST    EFI_GUID                    *FileName\r
-  )\r
-{\r
-  ASSERT (FALSE);\r
-}\r
-\r
-\r
-/**\r
-  Builds a Capsule Volume HOB.\r
-\r
-  This function builds a Capsule Volume HOB.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-\r
-  If the platform does not support Capsule Volume HOBs, then ASSERT().\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  BaseAddress   The base address of the Capsule Volume.\r
-  @param  Length        The size of the Capsule Volume in bytes.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildCvHob (\r
-  IN EFI_PHYSICAL_ADDRESS        BaseAddress,\r
-  IN UINT64                      Length\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r
-\r
-/**\r
-  Builds a HOB for the CPU.\r
-\r
-  This function builds a HOB for the CPU.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  SizeOfMemorySpace   The maximum physical memory addressability of the processor.\r
-  @param  SizeOfIoSpace       The maximum physical I/O addressability of the processor.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildCpuHob (\r
-  IN UINT8                       SizeOfMemorySpace,\r
-  IN UINT8                       SizeOfIoSpace\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r
-\r
-/**\r
-  Builds a HOB for the Stack.\r
-\r
-  This function builds a HOB for the stack.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  BaseAddress   The 64 bit physical address of the Stack.\r
-  @param  Length        The length of the stack in bytes.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildStackHob (\r
-  IN EFI_PHYSICAL_ADDRESS        BaseAddress,\r
-  IN UINT64                      Length\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r
-\r
-/**\r
-  Builds a HOB for the BSP store.\r
-\r
-  This function builds a HOB for BSP store.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  BaseAddress   The 64 bit physical address of the BSP.\r
-  @param  Length        The length of the BSP store in bytes.\r
-  @param  MemoryType    Type of memory allocated by this HOB.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildBspStoreHob (\r
-  IN EFI_PHYSICAL_ADDRESS        BaseAddress,\r
-  IN UINT64                      Length,\r
-  IN EFI_MEMORY_TYPE             MemoryType\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r
-\r
-/**\r
-  Builds a HOB for the memory allocation.\r
-\r
-  This function builds a HOB for the memory allocation.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  BaseAddress   The 64 bit physical address of the memory.\r
-  @param  Length        The length of the memory allocation in bytes.\r
-  @param  MemoryType    Type of memory allocated by this HOB.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildMemoryAllocationHob (\r
-  IN EFI_PHYSICAL_ADDRESS        BaseAddress,\r
-  IN UINT64                      Length,\r
-  IN EFI_MEMORY_TYPE             MemoryType\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationMemoryInitPeiLib/ArmVirtualizationMemoryInitPeiLib.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationMemoryInitPeiLib/ArmVirtualizationMemoryInitPeiLib.c
deleted file mode 100644 (file)
index 8ce63b4..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/** @file\r
-*\r
-*  Copyright (c) 2011-2014, ARM Limited. All rights reserved.\r
-*  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
-*\r
-*  This program and the accompanying materials\r
-*  are licensed and made available under the terms and conditions of the BSD License\r
-*  which accompanies this distribution.  The full text of the license may be found at\r
-*  http://opensource.org/licenses/bsd-license.php\r
-*\r
-*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-*\r
-**/\r
-\r
-#include <PiPei.h>\r
-\r
-#include <Library/ArmPlatformLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/HobLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/CacheMaintenanceLib.h>\r
-\r
-VOID\r
-BuildMemoryTypeInformationHob (\r
-  VOID\r
-  );\r
-\r
-VOID\r
-InitMmu (\r
-  VOID\r
-  )\r
-{\r
-  ARM_MEMORY_REGION_DESCRIPTOR  *MemoryTable;\r
-  VOID                          *TranslationTableBase;\r
-  UINTN                         TranslationTableSize;\r
-  RETURN_STATUS                 Status;\r
-\r
-  // Get Virtual Memory Map from the Platform Library\r
-  ArmPlatformGetVirtualMemoryMap (&MemoryTable);\r
-\r
-  //Note: Because we called PeiServicesInstallPeiMemory() before to call InitMmu() the MMU Page Table resides in\r
-  //      DRAM (even at the top of DRAM as it is the first permanent memory allocation)\r
-  Status = ArmConfigureMmu (MemoryTable, &TranslationTableBase, &TranslationTableSize);\r
-  if (EFI_ERROR (Status)) {\r
-    DEBUG ((EFI_D_ERROR, "Error: Failed to enable MMU\n"));\r
-  }\r
-}\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-MemoryPeim (\r
-  IN EFI_PHYSICAL_ADDRESS               UefiMemoryBase,\r
-  IN UINT64                             UefiMemorySize\r
-  )\r
-{\r
-  EFI_RESOURCE_ATTRIBUTE_TYPE ResourceAttributes;\r
-\r
-  // Ensure PcdSystemMemorySize has been set\r
-  ASSERT (PcdGet64 (PcdSystemMemorySize) != 0);\r
-\r
-  //\r
-  // Now, the permanent memory has been installed, we can call AllocatePages()\r
-  //\r
-  ResourceAttributes = (\r
-      EFI_RESOURCE_ATTRIBUTE_PRESENT |\r
-      EFI_RESOURCE_ATTRIBUTE_INITIALIZED |\r
-      EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE |\r
-      EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE |\r
-      EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE |\r
-      EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE |\r
-      EFI_RESOURCE_ATTRIBUTE_TESTED\r
-  );\r
-\r
-  BuildResourceDescriptorHob (\r
-      EFI_RESOURCE_SYSTEM_MEMORY,\r
-      ResourceAttributes,\r
-      PcdGet64 (PcdSystemMemoryBase),\r
-      PcdGet64 (PcdSystemMemorySize)\r
-  );\r
-\r
-  //\r
-  // When running under virtualization, the PI/UEFI memory region may be\r
-  // clean but not invalidated in system caches or in lower level caches\r
-  // on other CPUs. So invalidate the region by virtual address, to ensure\r
-  // that the contents we put there with the caches and MMU off will still\r
-  // be visible after turning them on.\r
-  //\r
-  InvalidateDataCacheRange ((VOID*)(UINTN)UefiMemoryBase, UefiMemorySize);\r
-\r
-  // Build Memory Allocation Hob\r
-  InitMmu ();\r
-\r
-  if (FeaturePcdGet (PcdPrePiProduceMemoryTypeInformationHob)) {\r
-    // Optional feature that helps prevent EFI memory map fragmentation.\r
-    BuildMemoryTypeInformationHob ();\r
-  }\r
-\r
-  return EFI_SUCCESS;\r
-}\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationMemoryInitPeiLib/ArmVirtualizationMemoryInitPeiLib.inf b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationMemoryInitPeiLib/ArmVirtualizationMemoryInitPeiLib.inf
deleted file mode 100644 (file)
index b8a19c9..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#/** @file\r
-#\r
-#  Copyright (c) 2011-2014, ARM Ltd. All rights reserved.<BR>\r
-#  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#**/\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = ArmVirtMemoryInitPeiLib\r
-  FILE_GUID                      = 021b6156-3cc8-4e99-85ee-13d8a871edf2\r
-  MODULE_TYPE                    = SEC\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = MemoryInitPeiLib\r
-\r
-[Sources]\r
-  ArmVirtualizationMemoryInitPeiLib.c\r
-\r
-[Packages]\r
-  MdePkg/MdePkg.dec\r
-  MdeModulePkg/MdeModulePkg.dec\r
-  EmbeddedPkg/EmbeddedPkg.dec\r
-  ArmPkg/ArmPkg.dec\r
-  ArmPlatformPkg/ArmPlatformPkg.dec\r
-\r
-[LibraryClasses]\r
-  DebugLib\r
-  HobLib\r
-  ArmLib\r
-  ArmPlatformLib\r
-  CacheMaintenanceLib\r
-\r
-[Guids]\r
-  gEfiMemoryTypeInformationGuid\r
-\r
-[FeaturePcd]\r
-  gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob\r
-\r
-[FixedPcd]\r
-  gArmTokenSpaceGuid.PcdFdSize\r
-\r
-  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize\r
-\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData\r
-\r
-[Pcd]\r
-  gArmTokenSpaceGuid.PcdSystemMemoryBase\r
-  gArmTokenSpaceGuid.PcdSystemMemorySize\r
-  gArmTokenSpaceGuid.PcdFdBaseAddress\r
-\r
-[Depex]\r
-  TRUE\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/AARCH64/VirtHelper.S b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/AARCH64/VirtHelper.S
deleted file mode 100644 (file)
index 14200fc..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-#\r
-#  Copyright (c) 2011-2013, ARM Limited. All rights reserved.\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#\r
-\r
-#include <AsmMacroIoLibV8.h>\r
-#include <Base.h>\r
-#include <Library/ArmLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <AutoGen.h>\r
-\r
-.text\r
-.align 2\r
-\r
-GCC_ASM_EXPORT(ArmPlatformPeiBootAction)\r
-GCC_ASM_EXPORT(ArmPlatformIsPrimaryCore)\r
-GCC_ASM_EXPORT(ArmPlatformGetPrimaryCoreMpId)\r
-GCC_ASM_EXPORT(ArmPlatformGetCorePosition)\r
-GCC_ASM_EXPORT(ArmGetPhysAddrTop)\r
-\r
-GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCore)\r
-GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask)\r
-GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdCoreCount)\r
-\r
-ASM_PFX(ArmPlatformPeiBootAction):\r
-  ret\r
-\r
-//UINTN\r
-//ArmPlatformGetPrimaryCoreMpId (\r
-//  VOID\r
-//  );\r
-ASM_PFX(ArmPlatformGetPrimaryCoreMpId):\r
-  LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, x0)\r
-  ldrh   w0, [x0]\r
-  ret\r
-\r
-//UINTN\r
-//ArmPlatformIsPrimaryCore (\r
-//  IN UINTN MpId\r
-//  );\r
-ASM_PFX(ArmPlatformIsPrimaryCore):\r
-  mov   x0, #1\r
-  ret\r
-\r
-//UINTN\r
-//ArmPlatformGetCorePosition (\r
-//  IN UINTN MpId\r
-//  );\r
-// With this function: CorePos = (ClusterId * 4) + CoreId\r
-ASM_PFX(ArmPlatformGetCorePosition):\r
-  and   x1, x0, #ARM_CORE_MASK\r
-  and   x0, x0, #ARM_CLUSTER_MASK\r
-  add   x0, x1, x0, LSR #6\r
-  ret\r
-\r
-//EFI_PHYSICAL_ADDRESS\r
-//GetPhysAddrTop (\r
-//  VOID\r
-//  );\r
-ASM_PFX(ArmGetPhysAddrTop):\r
-  mrs   x0, id_aa64mmfr0_el1\r
-  adr   x1, .LPARanges\r
-  and   x0, x0, #7\r
-  ldrb  w1, [x1, x0]\r
-  mov   x0, #1\r
-  lsl   x0, x0, x1\r
-  ret\r
-\r
-//\r
-// Bits 0..2 of the AA64MFR0_EL1 system register encode the size of the\r
-// physical address space support on this CPU:\r
-// 0 == 32 bits, 1 == 36 bits, etc etc\r
-// 6 and 7 are reserved\r
-//\r
-.LPARanges:\r
-  .byte 32, 36, 40, 42, 44, 48, -1, -1\r
-\r
-ASM_FUNCTION_REMOVE_IF_UNREFERENCED\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/ARM/VirtHelper.S b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/ARM/VirtHelper.S
deleted file mode 100644 (file)
index 255f995..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-#\r
-#  Copyright (c) 2011-2013, ARM Limited. All rights reserved.\r
-#  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#\r
-\r
-#include <AsmMacroIoLib.h>\r
-#include <Base.h>\r
-#include <Library/ArmLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <AutoGen.h>\r
-\r
-.text\r
-.align 2\r
-\r
-GCC_ASM_EXPORT(ArmPlatformPeiBootAction)\r
-GCC_ASM_EXPORT(ArmPlatformIsPrimaryCore)\r
-GCC_ASM_EXPORT(ArmPlatformGetPrimaryCoreMpId)\r
-GCC_ASM_EXPORT(ArmPlatformGetCorePosition)\r
-GCC_ASM_EXPORT(ArmGetPhysAddrTop)\r
-\r
-GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCore)\r
-GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask)\r
-GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdCoreCount)\r
-\r
-ASM_PFX(ArmPlatformPeiBootAction):\r
-  bx    lr\r
-\r
-//UINTN\r
-//ArmPlatformGetPrimaryCoreMpId (\r
-//  VOID\r
-//  );\r
-ASM_PFX(ArmPlatformGetPrimaryCoreMpId):\r
-  LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r0)\r
-  ldr    r0, [r0]\r
-  bx     lr\r
-\r
-//UINTN\r
-//ArmPlatformIsPrimaryCore (\r
-//  IN UINTN MpId\r
-//  );\r
-ASM_PFX(ArmPlatformIsPrimaryCore):\r
-  mov   r0, #1\r
-  bx    lr\r
-\r
-//UINTN\r
-//ArmPlatformGetCorePosition (\r
-//  IN UINTN MpId\r
-//  );\r
-// With this function: CorePos = (ClusterId * 4) + CoreId\r
-ASM_PFX(ArmPlatformGetCorePosition):\r
-  and   r1, r0, #ARM_CORE_MASK\r
-  and   r0, r0, #ARM_CLUSTER_MASK\r
-  add   r0, r1, r0, LSR #6\r
-  bx    lr\r
-\r
-//EFI_PHYSICAL_ADDRESS\r
-//GetPhysAddrTop (\r
-//  VOID\r
-//  );\r
-ASM_PFX(ArmGetPhysAddrTop):\r
-  mov   r0, #0x00000000\r
-  mov   r1, #0x10000\r
-  bx    lr\r
-\r
-ASM_FUNCTION_REMOVE_IF_UNREFERENCED\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/ARM/VirtHelper.asm b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/ARM/VirtHelper.asm
deleted file mode 100644 (file)
index 7882e63..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-//\r
-//  Copyright (c) 2011-2014, ARM Limited. All rights reserved.\r
-//  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
-//\r
-//  This program and the accompanying materials\r
-//  are licensed and made available under the terms and conditions of the BSD License\r
-//  which accompanies this distribution.  The full text of the license may be found at\r
-//  http://opensource.org/licenses/bsd-license.php\r
-//\r
-//  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-//  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-//\r
-\r
-#include <AsmMacroIoLib.h>\r
-#include <Base.h>\r
-#include <Library/ArmLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <AutoGen.h>\r
-\r
-  INCLUDE AsmMacroIoLib.inc\r
-\r
-  EXPORT  ArmPlatformPeiBootAction\r
-  EXPORT  ArmPlatformIsPrimaryCore\r
-  EXPORT  ArmPlatformGetPrimaryCoreMpId\r
-  EXPORT  ArmPlatformGetCorePosition\r
-  EXPORT  ArmGetPhysAddrTop\r
-\r
-  IMPORT  _gPcd_FixedAtBuild_PcdArmPrimaryCore\r
-  IMPORT  _gPcd_FixedAtBuild_PcdArmPrimaryCoreMask\r
-  IMPORT  _gPcd_FixedAtBuild_PcdCoreCount\r
-\r
-  AREA VirtHelper, CODE, READONLY\r
-\r
-ArmPlatformPeiBootAction FUNCTION\r
-  bx    lr\r
-  ENDFUNC\r
-\r
-//UINTN\r
-//ArmPlatformGetPrimaryCoreMpId (\r
-//  VOID\r
-//  );\r
-ArmPlatformGetPrimaryCoreMpId FUNCTION\r
-  LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r0)\r
-  ldr    r0, [r0]\r
-  bx     lr\r
-  ENDFUNC\r
-\r
-//UINTN\r
-//ArmPlatformIsPrimaryCore (\r
-//  IN UINTN MpId\r
-//  );\r
-ArmPlatformIsPrimaryCore FUNCTION\r
-  mov   r0, #1\r
-  bx    lr\r
-  ENDFUNC\r
-\r
-//UINTN\r
-//ArmPlatformGetCorePosition (\r
-//  IN UINTN MpId\r
-//  );\r
-// With this function: CorePos = (ClusterId * 4) + CoreId\r
-ArmPlatformGetCorePosition FUNCTION\r
-  and   r1, r0, #ARM_CORE_MASK\r
-  and   r0, r0, #ARM_CLUSTER_MASK\r
-  add   r0, r1, r0, LSR #6\r
-  bx    lr\r
-  ENDFUNC\r
-\r
-//EFI_PHYSICAL_ADDRESS\r
-//GetPhysAddrTop (\r
-//  VOID\r
-//  );\r
-ArmGetPhysAddrTop FUNCTION\r
-  mov   r0, #0x00000000\r
-  mov   r1, #0x10000\r
-  bx    lr\r
-  ENDFUNC\r
-\r
-  END\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/ArmVirtualizationPlatformLib.inf b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/ArmVirtualizationPlatformLib.inf
deleted file mode 100644 (file)
index 2cff4b6..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#/* @file\r
-#  Copyright (c) 2011-2014, ARM Limited. All rights reserved.\r
-#  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#*/\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = ArmVirtualizationPlatformLib\r
-  FILE_GUID                      = 00214cc1-06d1-45fe-9700-dca5726ad7bf\r
-  MODULE_TYPE                    = BASE\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = ArmPlatformLib|SEC PEIM\r
-\r
-[Packages]\r
-  MdePkg/MdePkg.dec\r
-  MdeModulePkg/MdeModulePkg.dec\r
-  EmbeddedPkg/EmbeddedPkg.dec\r
-  ArmPkg/ArmPkg.dec\r
-  ArmPlatformPkg/ArmPlatformPkg.dec\r
-  ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationPkg.dec\r
-\r
-[LibraryClasses]\r
-  IoLib\r
-  MemoryAllocationLib\r
-  ArmLib\r
-  PrintLib\r
-  FdtLib\r
-\r
-[Sources.common]\r
-  Virt.c\r
-  VirtMem.c\r
-\r
-[Sources.AARCH64]\r
-  AARCH64/VirtHelper.S\r
-\r
-[Sources.ARM]\r
-  ARM/VirtHelper.S          | GCC\r
-  ARM/VirtHelper.asm        | RVCT\r
-\r
-[FeaturePcd]\r
-  gEmbeddedTokenSpaceGuid.PcdCacheEnable\r
-  gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec\r
-\r
-[Pcd]\r
-  gArmTokenSpaceGuid.PcdSystemMemorySize\r
-\r
-[FixedPcd]\r
-  gArmVirtualizationTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress\r
-  gArmPlatformTokenSpaceGuid.PcdCoreCount\r
-  gArmTokenSpaceGuid.PcdSystemMemoryBase\r
-  gArmTokenSpaceGuid.PcdArmPrimaryCoreMask\r
-  gArmTokenSpaceGuid.PcdArmPrimaryCore\r
-  gArmTokenSpaceGuid.PcdFdBaseAddress\r
-  gArmTokenSpaceGuid.PcdFdSize\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/Virt.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/Virt.c
deleted file mode 100644 (file)
index 17f2686..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-/** @file\r
-*\r
-*  Copyright (c) 2011-2013, ARM Limited. All rights reserved.\r
-*  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
-*  Copyright (c) 2014, Red Hat, Inc.\r
-*\r
-*\r
-*  This program and the accompanying materials\r
-*  are licensed and made available under the terms and conditions of the BSD License\r
-*  which accompanies this distribution.  The full text of the license may be found at\r
-*  http://opensource.org/licenses/bsd-license.php\r
-*\r
-*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-*\r
-**/\r
-\r
-#include <Library/IoLib.h>\r
-#include <Library/ArmPlatformLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <ArmPlatform.h>\r
-#include <libfdt.h>\r
-#include <Pi/PiBootMode.h>\r
-#include <Uefi/UefiBaseType.h>\r
-#include <Uefi/UefiMultiPhase.h>\r
-\r
-/**\r
-  Return the current Boot Mode\r
-\r
-  This function returns the boot reason on the platform\r
-\r
-  @return   Return the current Boot Mode of the platform\r
-\r
-**/\r
-EFI_BOOT_MODE\r
-ArmPlatformGetBootMode (\r
-  VOID\r
-  )\r
-{\r
-  return BOOT_WITH_FULL_CONFIGURATION;\r
-}\r
-\r
-/**\r
-  This function is called by PrePeiCore, in the SEC phase.\r
-**/\r
-RETURN_STATUS\r
-ArmPlatformInitialize (\r
-  IN  UINTN                     MpId\r
-  )\r
-{\r
-  //\r
-  // We are relying on ArmPlatformInitializeSystemMemory () being called from\r
-  // InitializeMemory (), which only occurs if the following feature is disabled\r
-  //\r
-  ASSERT (!FeaturePcdGet (PcdSystemMemoryInitializeInSec));\r
-  return RETURN_SUCCESS;\r
-}\r
-\r
-/**\r
-  Initialize the system (or sometimes called permanent) memory\r
-\r
-  This memory is generally represented by the DRAM.\r
-\r
-  This function is called from InitializeMemory() in MemoryInitPeim, in the PEI\r
-  phase.\r
-**/\r
-VOID\r
-ArmPlatformInitializeSystemMemory (\r
-  VOID\r
-  )\r
-{\r
-  VOID         *DeviceTreeBase;\r
-  INT32        Node, Prev;\r
-  UINT64       NewBase;\r
-  UINT64       NewSize;\r
-  CONST CHAR8  *Type;\r
-  INT32        Len;\r
-  CONST UINT64 *RegProp;\r
-\r
-  NewBase = 0;\r
-  NewSize = 0;\r
-\r
-  DeviceTreeBase = (VOID *)(UINTN)PcdGet64 (PcdDeviceTreeInitialBaseAddress);\r
-  ASSERT (DeviceTreeBase != NULL);\r
-\r
-  //\r
-  // Make sure we have a valid device tree blob\r
-  //\r
-  ASSERT (fdt_check_header (DeviceTreeBase) == 0);\r
-\r
-  //\r
-  // Look for a memory node\r
-  //\r
-  for (Prev = 0;; Prev = Node) {\r
-    Node = fdt_next_node (DeviceTreeBase, Prev, NULL);\r
-    if (Node < 0) {\r
-      break;\r
-    }\r
-\r
-    //\r
-    // Check for memory node\r
-    //\r
-    Type = fdt_getprop (DeviceTreeBase, Node, "device_type", &Len);\r
-    if (Type && AsciiStrnCmp (Type, "memory", Len) == 0) {\r
-      //\r
-      // Get the 'reg' property of this node. For now, we will assume\r
-      // two 8 byte quantities for base and size, respectively.\r
-      //\r
-      RegProp = fdt_getprop (DeviceTreeBase, Node, "reg", &Len);\r
-      if (RegProp != 0 && Len == (2 * sizeof (UINT64))) {\r
-\r
-        NewBase = fdt64_to_cpu (ReadUnaligned64 (RegProp));\r
-        NewSize = fdt64_to_cpu (ReadUnaligned64 (RegProp + 1));\r
-\r
-        //\r
-        // Make sure the start of DRAM matches our expectation\r
-        //\r
-        ASSERT (FixedPcdGet64 (PcdSystemMemoryBase) == NewBase);\r
-        PcdSet64 (PcdSystemMemorySize, NewSize);\r
-\r
-        DEBUG ((EFI_D_INFO, "%a: System RAM @ 0x%lx - 0x%lx\n",\r
-               __FUNCTION__, NewBase, NewBase + NewSize - 1));\r
-      } else {\r
-        DEBUG ((EFI_D_ERROR, "%a: Failed to parse FDT memory node\n",\r
-               __FUNCTION__));\r
-      }\r
-      break;\r
-    }\r
-  }\r
-\r
-  //\r
-  // We need to make sure that the machine we are running on has at least\r
-  // 128 MB of memory configured, and is currently executing this binary from\r
-  // NOR flash. This prevents a device tree image in DRAM from getting\r
-  // clobbered when our caller installs permanent PEI RAM, before we have a\r
-  // chance of marking its location as reserved or copy it to a freshly\r
-  // allocated block in the permanent PEI RAM in the platform PEIM.\r
-  //\r
-  ASSERT (NewSize >= SIZE_128MB);\r
-  ASSERT (\r
-    (((UINT64)PcdGet64 (PcdFdBaseAddress) +\r
-      (UINT64)PcdGet32 (PcdFdSize)) <= NewBase) ||\r
-    ((UINT64)PcdGet64 (PcdFdBaseAddress) >= (NewBase + NewSize)));\r
-}\r
-\r
-VOID\r
-ArmPlatformGetPlatformPpiList (\r
-  OUT UINTN                   *PpiListSize,\r
-  OUT EFI_PEI_PPI_DESCRIPTOR  **PpiList\r
-  )\r
-{\r
-  *PpiListSize = 0;\r
-  *PpiList = NULL;\r
-}\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/VirtMem.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformLib/VirtMem.c
deleted file mode 100644 (file)
index d5d288f..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/** @file\r
-*\r
-*  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
-*\r
-*  This program and the accompanying materials\r
-*  are licensed and made available under the terms and conditions of the BSD License\r
-*  which accompanies this distribution.  The full text of the license may be found at\r
-*  http://opensource.org/licenses/bsd-license.php\r
-*\r
-*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-*\r
-**/\r
-\r
-#include <Library/ArmPlatformLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/IoLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/ArmPlatformGlobalVariableLib.h>\r
-#include <ArmPlatform.h>\r
-\r
-// Number of Virtual Memory Map Descriptors\r
-#define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS          4\r
-\r
-// DDR attributes\r
-#define DDR_ATTRIBUTES_CACHED    ARM_MEMORY_REGION_ATTRIBUTE_WRITE_BACK\r
-#define DDR_ATTRIBUTES_UNCACHED  ARM_MEMORY_REGION_ATTRIBUTE_UNCACHED_UNBUFFERED\r
-\r
-EFI_PHYSICAL_ADDRESS\r
-ArmGetPhysAddrTop (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  Return the Virtual Memory Map of your platform\r
-\r
-  This Virtual Memory Map is used by MemoryInitPei Module to initialize the MMU\r
-  on your platform.\r
-\r
-  @param[out]   VirtualMemoryMap    Array of ARM_MEMORY_REGION_DESCRIPTOR\r
-                                    describing a Physical-to-Virtual Memory\r
-                                    mapping. This array must be ended by a\r
-                                    zero-filled entry\r
-\r
-**/\r
-VOID\r
-ArmPlatformGetVirtualMemoryMap (\r
-  IN ARM_MEMORY_REGION_DESCRIPTOR** VirtualMemoryMap\r
-  )\r
-{\r
-  ARM_MEMORY_REGION_ATTRIBUTES  CacheAttributes;\r
-  ARM_MEMORY_REGION_DESCRIPTOR  *VirtualMemoryTable;\r
-\r
-  ASSERT (VirtualMemoryMap != NULL);\r
-\r
-  VirtualMemoryTable = AllocatePages (\r
-                         EFI_SIZE_TO_PAGES (\r
-                           sizeof (ARM_MEMORY_REGION_DESCRIPTOR)\r
-                           * MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS\r
-                           )\r
-                         );\r
-\r
-  if (VirtualMemoryTable == NULL) {\r
-    DEBUG ((EFI_D_ERROR, "%a: Error: Failed AllocatePages()\n", __FUNCTION__));\r
-    return;\r
-  }\r
-\r
-  if (FeaturePcdGet (PcdCacheEnable) == TRUE) {\r
-    CacheAttributes = DDR_ATTRIBUTES_CACHED;\r
-  } else {\r
-    CacheAttributes = DDR_ATTRIBUTES_UNCACHED;\r
-  }\r
-\r
-  // System DRAM\r
-  VirtualMemoryTable[0].PhysicalBase = PcdGet64 (PcdSystemMemoryBase);\r
-  VirtualMemoryTable[0].VirtualBase  = VirtualMemoryTable[0].PhysicalBase;\r
-  VirtualMemoryTable[0].Length       = PcdGet64 (PcdSystemMemorySize);\r
-  VirtualMemoryTable[0].Attributes   = CacheAttributes;\r
-\r
-  DEBUG ((EFI_D_INFO, "%a: Dumping System DRAM Memory Map:\n"\r
-      "\tPhysicalBase: 0x%lX\n"\r
-      "\tVirtualBase: 0x%lX\n"\r
-      "\tLength: 0x%lX\n",\r
-      __FUNCTION__,\r
-      VirtualMemoryTable[0].PhysicalBase,\r
-      VirtualMemoryTable[0].VirtualBase,\r
-      VirtualMemoryTable[0].Length));\r
-\r
-  // Peripheral space before DRAM\r
-  VirtualMemoryTable[1].PhysicalBase = 0x0;\r
-  VirtualMemoryTable[1].VirtualBase  = 0x0;\r
-  VirtualMemoryTable[1].Length       = VirtualMemoryTable[0].PhysicalBase;\r
-  VirtualMemoryTable[1].Attributes   = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;\r
-\r
-  // Peripheral space after DRAM\r
-  VirtualMemoryTable[2].PhysicalBase = VirtualMemoryTable[0].Length + VirtualMemoryTable[1].Length;\r
-  VirtualMemoryTable[2].VirtualBase  = VirtualMemoryTable[2].PhysicalBase;\r
-  VirtualMemoryTable[2].Length       = ArmGetPhysAddrTop () - VirtualMemoryTable[2].PhysicalBase;\r
-  VirtualMemoryTable[2].Attributes   = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;\r
-\r
-  // End of Table\r
-  ZeroMem (&VirtualMemoryTable[3], sizeof (ARM_MEMORY_REGION_DESCRIPTOR));\r
-\r
-  *VirtualMemoryMap = VirtualMemoryTable;\r
-}\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPsciResetSystemLib/ArmVirtualizationPsciResetSystemLib.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPsciResetSystemLib/ArmVirtualizationPsciResetSystemLib.c
deleted file mode 100644 (file)
index 88332f5..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-/** @file\r
-  Support ResetSystem Runtime call using PSCI calls\r
-\r
-  Note: A similar library is implemented in\r
-  ArmPkg/Library/ArmPsciResetSystemLib. Similar issues might\r
-  exist in this implementation too.\r
-\r
-  Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
-  Copyright (c) 2013, ARM Ltd. All rights reserved.<BR>\r
-  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>\r
-\r
-  This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include <PiDxe.h>\r
-\r
-#include <Library/BaseLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/EfiResetSystemLib.h>\r
-#include <Library/ArmSmcLib.h>\r
-#include <Library/ArmHvcLib.h>\r
-\r
-#include <IndustryStandard/ArmStdSmc.h>\r
-\r
-STATIC UINT32 mArmPsciMethod;\r
-\r
-RETURN_STATUS\r
-EFIAPI\r
-ArmPsciResetSystemLibConstructor (\r
-  VOID\r
-  )\r
-{\r
-  mArmPsciMethod = PcdGet32 (PcdArmPsciMethod);\r
-  return RETURN_SUCCESS;\r
-}\r
-\r
-/**\r
-  Resets the entire platform.\r
-\r
-  @param  ResetType             The type of reset to perform.\r
-  @param  ResetStatus           The status code for the reset.\r
-  @param  DataSize              The size, in bytes, of WatchdogData.\r
-  @param  ResetData             For a ResetType of EfiResetCold, EfiResetWarm, or\r
-                                EfiResetShutdown the data buffer starts with a Null-terminated\r
-                                Unicode string, optionally followed by additional binary data.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-LibResetSystem (\r
-  IN EFI_RESET_TYPE   ResetType,\r
-  IN EFI_STATUS       ResetStatus,\r
-  IN UINTN            DataSize,\r
-  IN CHAR16           *ResetData OPTIONAL\r
-  )\r
-{\r
-  ARM_SMC_ARGS ArmSmcArgs;\r
-  ARM_HVC_ARGS ArmHvcArgs;\r
-\r
-  switch (ResetType) {\r
-\r
-  case EfiResetPlatformSpecific:\r
-    // Map the platform specific reset as reboot\r
-  case EfiResetWarm:\r
-    // Map a warm reset into a cold reset\r
-  case EfiResetCold:\r
-    // Send a PSCI 0.2 SYSTEM_RESET command\r
-    ArmSmcArgs.Arg0 = ARM_SMC_ID_PSCI_SYSTEM_RESET;\r
-    ArmHvcArgs.Arg0 = ARM_SMC_ID_PSCI_SYSTEM_RESET;\r
-    break;\r
-  case EfiResetShutdown:\r
-    // Send a PSCI 0.2 SYSTEM_OFF command\r
-    ArmSmcArgs.Arg0 = ARM_SMC_ID_PSCI_SYSTEM_OFF;\r
-    ArmHvcArgs.Arg0 = ARM_SMC_ID_PSCI_SYSTEM_OFF;\r
-    break;\r
-  default:\r
-    ASSERT (FALSE);\r
-    return EFI_UNSUPPORTED;\r
-  }\r
-\r
-  switch (mArmPsciMethod) {\r
-  case 1:\r
-    ArmCallHvc (&ArmHvcArgs);\r
-    break;\r
-\r
-  case 2:\r
-    ArmCallSmc (&ArmSmcArgs);\r
-    break;\r
-\r
-  default:\r
-    DEBUG ((EFI_D_ERROR, "%a: no PSCI method defined\n", __FUNCTION__));\r
-    return EFI_UNSUPPORTED;\r
-  }\r
-\r
-  // We should never be here\r
-  DEBUG ((EFI_D_ERROR, "%a: PSCI Reset failed\n", __FUNCTION__));\r
-  CpuDeadLoop ();\r
-  return EFI_UNSUPPORTED;\r
-}\r
-\r
-/**\r
-  Initialize any infrastructure required for LibResetSystem () to function.\r
-\r
-  @param  ImageHandle   The firmware allocated handle for the EFI image.\r
-  @param  SystemTable   A pointer to the EFI System Table.\r
-\r
-  @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-LibInitializeResetSystem (\r
-  IN EFI_HANDLE        ImageHandle,\r
-  IN EFI_SYSTEM_TABLE  *SystemTable\r
-  )\r
-{\r
-  return EFI_SUCCESS;\r
-}\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPsciResetSystemLib/ArmVirtualizationPsciResetSystemLib.inf b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPsciResetSystemLib/ArmVirtualizationPsciResetSystemLib.inf
deleted file mode 100644 (file)
index b63507a..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#/** @file\r
-# Reset System lib using PSCI hypervisor or secure monitor calls\r
-#\r
-# Copyright (c) 2008, Apple Inc. All rights reserved.<BR>\r
-# Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution. The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#\r
-#**/\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = ArmVirtualizationPsciResetSystemLib\r
-  FILE_GUID                      = c81d76ed-66fa-44a3-ac4a-f163120187a9\r
-  MODULE_TYPE                    = BASE\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = EfiResetSystemLib\r
-  CONSTRUCTOR                    = ArmPsciResetSystemLibConstructor\r
-\r
-[Sources]\r
-  ArmVirtualizationPsciResetSystemLib.c\r
-\r
-[Packages]\r
-  ArmPkg/ArmPkg.dec\r
-  ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationPkg.dec\r
-  MdePkg/MdePkg.dec\r
-  EmbeddedPkg/EmbeddedPkg.dec\r
-\r
-[LibraryClasses]\r
-  DebugLib\r
-  BaseLib\r
-  ArmSmcLib\r
-  ArmHvcLib\r
-\r
-[Pcd]\r
-  gArmVirtualizationTokenSpaceGuid.PcdArmPsciMethod\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/AARCH64/MemnodeParser.S b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/AARCH64/MemnodeParser.S
deleted file mode 100644 (file)
index 2bdaa3c..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-/*\r
- * Copyright (c) 2014, Linaro Ltd. All rights reserved.\r
- *\r
- * This program and the accompanying materials\r
- * are licensed and made available under the terms and conditions of the BSD License\r
- * which accompanies this distribution.  The full text of the license may be found at\r
- * http://opensource.org/licenses/bsd-license.php\r
- *\r
- * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
- */\r
-\r
-/*\r
- * Theory of operation\r
- * -------------------\r
- *\r
- * This code parses a Flattened Device Tree binary (DTB) to find the base of\r
- * system RAM. It is written in assembly so that it can be executed before a\r
- * stack has been set up.\r
- *\r
- * To find the base of system RAM, we have to traverse the FDT to find a memory\r
- * node. In the context of this implementation, the first node that has a\r
- * device_type property with the value 'memory' and a 'reg' property is\r
- * acceptable, and the name of the node (memory[@xxx]) is ignored, as are any\r
- * other nodes that match the above constraints.\r
- *\r
- * In pseudo code, this implementation does the following:\r
- *\r
- * for each node {\r
- *  have_device_type = false\r
- *  have_reg = false\r
- *\r
- *  for each property {\r
- *    if property value == 'memory' {\r
- *      if property name == 'device_type' {\r
- *        have_device_type = true\r
- *      }\r
- *    } else {\r
- *      if property name == 'reg' {\r
- *        have_reg = true\r
- *        membase = property value[0]\r
- *        memsize = property value[1]\r
- *      }\r
- *    }\r
- *  }\r
- *  if have_device_type and have_reg {\r
- *    return membase and memsize\r
- *  }\r
- * }\r
- * return NOT_FOUND\r
- */\r
-\r
-#define FDT_MAGIC    0xedfe0dd0\r
-\r
-#define FDT_BEGIN_NODE    0x1\r
-#define FDT_END_NODE    0x2\r
-#define FDT_PROP    0x3\r
-#define FDT_END      0x9\r
-\r
-  xMEMSIZE  .req  x0  // recorded system RAM size\r
-  xMEMBASE  .req  x1  // recorded system RAM base\r
-\r
-  xLR    .req  x8  // our preserved link register\r
-  xDTP    .req  x9  // pointer to traverse the DT structure\r
-  xSTRTAB    .req  x10  // pointer to the DTB string table\r
-  xMEMNODE  .req  x11  // bit field to record found properties\r
-\r
-#define HAVE_REG    0x1\r
-#define HAVE_DEVICE_TYPE  0x2\r
-\r
-  .text\r
-  .align  3\r
-_memory:\r
-  .asciz  "memory"\r
-_reg:\r
-  .asciz  "reg"\r
-_device_type:\r
-  .asciz  "device_type"\r
-\r
-  /*\r
-   * Compare strings in x4 and x5, return in w7\r
-   */\r
-  .align  3\r
-strcmp:\r
-  ldrb  w2, [x4], #1\r
-  ldrb  w3, [x5], #1\r
-  subs  w7, w2, w3\r
-  cbz  w2, 0f\r
-  cbz  w3, 0f\r
-  beq  strcmp\r
-0:  ret\r
-\r
-  .globl  find_memnode\r
-find_memnode:\r
-  // preserve link register\r
-  mov  xLR, x30\r
-  mov  xDTP, x0\r
-\r
-  /*\r
-   * Check the DTB magic at offset 0\r
-   */\r
-  movz  w4, #:abs_g0_nc:FDT_MAGIC\r
-  movk  w4, #:abs_g1:FDT_MAGIC\r
-  ldr  w5, [xDTP]\r
-  cmp  w4, w5\r
-  bne  err_invalid_magic\r
-\r
-  /*\r
-   * Read the string offset and store it for later use\r
-   */\r
-  ldr  w4, [xDTP, #12]\r
-  rev  w4, w4\r
-  add  xSTRTAB, xDTP, x4\r
-\r
-  /*\r
-   * Read the struct offset and add it to the DT pointer\r
-   */\r
-  ldr  w5, [xDTP, #8]\r
-  rev  w5, w5\r
-  add  xDTP, xDTP, x5\r
-\r
-  /*\r
-   * Check current tag for FDT_BEGIN_NODE\r
-   */\r
-  ldr  w5, [xDTP]\r
-  rev  w5, w5\r
-  cmp  w5, #FDT_BEGIN_NODE\r
-  bne  err_unexpected_begin_tag\r
-\r
-begin_node:\r
-  mov  xMEMNODE, #0\r
-  add  xDTP, xDTP, #4\r
-\r
-  /*\r
-   * Advance xDTP past NULL terminated string\r
-   */\r
-0:  ldrb  w4, [xDTP], #1\r
-  cbnz  w4, 0b\r
-\r
-next_tag:\r
-  /*\r
-   * Align the DT pointer xDTP to the next 32-bit boundary\r
-   */\r
-  add  xDTP, xDTP, #3\r
-  and  xDTP, xDTP, #~3\r
-\r
-  /*\r
-   * Read the next tag, could be BEGIN_NODE, END_NODE, PROP, END\r
-   */\r
-  ldr  w5, [xDTP]\r
-  rev  w5, w5\r
-  cmp  w5, #FDT_BEGIN_NODE\r
-  beq  begin_node\r
-  cmp  w5, #FDT_END_NODE\r
-  beq  end_node\r
-  cmp  w5, #FDT_PROP\r
-  beq  prop_node\r
-  cmp  w5, #FDT_END\r
-  beq  err_end_of_fdt\r
-  b  err_unexpected_tag\r
-\r
-prop_node:\r
-  /*\r
-   * If propname == 'reg', record as membase and memsize\r
-   * If propname == 'device_type' and value == 'memory',\r
-   * set the 'is_memnode' flag for this node\r
-   */\r
-  ldr  w6, [xDTP, #4]\r
-  add  xDTP, xDTP, #12\r
-  rev  w6, w6\r
-  mov  x5, xDTP\r
-  adr  x4, _memory\r
-  bl  strcmp\r
-\r
-  /*\r
-   * Get handle to property name\r
-   */\r
-  ldr  w5, [xDTP, #-4]\r
-  rev  w5, w5\r
-  add  x5, xSTRTAB, x5\r
-\r
-  cbz  w7, check_device_type\r
-\r
-  /*\r
-   * Check for 'reg' property\r
-   */\r
-  adr  x4, _reg\r
-  bl  strcmp\r
-  cbnz  w7, inc_and_next_tag\r
-\r
-  /*\r
-   * Extract two 64-bit quantities from the 'reg' property. These values\r
-   * will only be used if the node also turns out to have a device_type\r
-   * property with a value of 'memory'.\r
-   *\r
-   * NOTE: xDTP is only guaranteed to be 32 bit aligned, and we are most\r
-   *       likely executing with the MMU off, so we cannot use 64 bit\r
-   *       wide accesses here.\r
-   */\r
-  ldp  w4, w5, [xDTP]\r
-  orr  xMEMBASE, x4, x5, lsl #32\r
-  ldp  w4, w5, [xDTP, #8]\r
-  orr  xMEMSIZE, x4, x5, lsl #32\r
-  rev  xMEMBASE, xMEMBASE\r
-  rev  xMEMSIZE, xMEMSIZE\r
-  orr  xMEMNODE, xMEMNODE, #HAVE_REG\r
-  b  inc_and_next_tag\r
-\r
-check_device_type:\r
-  /*\r
-   * Check whether the current property's name is 'device_type'\r
-   */\r
-  adr  x4, _device_type\r
-  bl  strcmp\r
-  cbnz  w7, inc_and_next_tag\r
-  orr  xMEMNODE, xMEMNODE, #HAVE_DEVICE_TYPE\r
-\r
-inc_and_next_tag:\r
-  add  xDTP, xDTP, x6\r
-  b  next_tag\r
-\r
-end_node:\r
-  /*\r
-   * Check for device_type = memory and reg = xxxx\r
-   * If we have both, we are done\r
-   */\r
-  add  xDTP, xDTP, #4\r
-  cmp  xMEMNODE, #(HAVE_REG | HAVE_DEVICE_TYPE)\r
-  bne  next_tag\r
-\r
-  ret  xLR\r
-\r
-err_invalid_magic:\r
-err_unexpected_begin_tag:\r
-err_unexpected_tag:\r
-err_end_of_fdt:\r
-  wfi\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/AARCH64/RelocatableVirtHelper.S b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/AARCH64/RelocatableVirtHelper.S
deleted file mode 100644 (file)
index d6edc62..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-#\r
-#  Copyright (c) 2011-2013, ARM Limited. All rights reserved.\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#\r
-\r
-#include <AsmMacroIoLibV8.h>\r
-#include <Base.h>\r
-#include <Library/ArmLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <AutoGen.h>\r
-\r
-.text\r
-.align 2\r
-\r
-GCC_ASM_EXPORT(ArmPlatformPeiBootAction)\r
-GCC_ASM_EXPORT(ArmPlatformIsPrimaryCore)\r
-GCC_ASM_EXPORT(ArmPlatformGetPrimaryCoreMpId)\r
-GCC_ASM_EXPORT(ArmPlatformGetCorePosition)\r
-GCC_ASM_EXPORT(ArmGetPhysAddrTop)\r
-\r
-GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCore)\r
-GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask)\r
-GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdCoreCount)\r
-\r
-.LFdtMagic:\r
-  .byte   0xd0, 0x0d, 0xfe, 0xed\r
-\r
-.LArm64LinuxMagic:\r
-  .byte   0x41, 0x52, 0x4d, 0x64\r
-\r
-// VOID\r
-// ArmPlatformPeiBootAction (\r
-//   VOID   *DeviceTreeBaseAddress,   // passed by loader in x0\r
-//   VOID   *ImageBase                // passed by FDF trampoline in x1\r
-//   );\r
-ASM_PFX(ArmPlatformPeiBootAction):\r
-  mov   x29, x30            // preserve LR\r
-\r
-  //\r
-  // If we are booting from RAM using the Linux kernel boot protocol, x0 will\r
-  // point to the DTB image in memory. Otherwise, we are just coming out of\r
-  // reset, and x0 will be 0. Check also the FDT magic.\r
-  //\r
-  cbz   x0, .Lout\r
-  ldr   w8, .LFdtMagic\r
-  ldr   w9, [x0]\r
-  cmp   w8, w9\r
-  bne   .Lout\r
-\r
-  //\r
-  // The base of the runtime image has been preserved in x1. Check whether\r
-  // the expected magic number can be found in the header.\r
-  //\r
-  ldr   w8, .LArm64LinuxMagic\r
-  ldr   w9, [x1, #0x38]\r
-  cmp   w8, w9\r
-  bne   .Lout\r
-\r
-  //\r
-  //\r
-  // OK, so far so good. We have confirmed that we likely have a DTB and are\r
-  // booting via the arm64 Linux boot protocol. Update the base-of-image PCD\r
-  // to the actual relocated value, and add the shift of PcdFdBaseAddress to\r
-  // PcdFvBaseAddress as well\r
-  //\r
-  adr   x8, PcdGet64 (PcdFdBaseAddress)\r
-  adr   x9, PcdGet64 (PcdFvBaseAddress)\r
-  ldr   x6, [x8]\r
-  ldr   x7, [x9]\r
-  sub   x7, x7, x6\r
-  add   x7, x7, x1\r
-  str   x1, [x8]\r
-  str   x7, [x9]\r
-\r
-  //\r
-  // Copy the DTB to the slack space right after the 64 byte arm64/Linux style\r
-  // image header at the base of this image (defined in the FDF), and record the\r
-  // pointer in PcdDeviceTreeInitialBaseAddress.\r
-  //\r
-  adr   x8, PcdGet64 (PcdDeviceTreeInitialBaseAddress)\r
-  add   x1, x1, #0x40\r
-  str   x1, [x8]\r
-\r
-  ldr   w8, [x0, #4]          // get DTB size (BE)\r
-  mov   x9, x1\r
-  rev   w8, w8\r
-  add   x8, x8, x0\r
-0:ldp   x6, x7, [x0], #16\r
-  stp   x6, x7, [x9], #16\r
-  cmp   x0, x8\r
-  blt   0b\r
-\r
-  //\r
-  // Discover the memory size and offset from the DTB, and record in the\r
-  // respective PCDs\r
-  //\r
-  mov   x0, x1\r
-  bl    find_memnode    // returns (size, base) size in (x0, x1)\r
-  cbz   x0, .Lout\r
-\r
-  adr   x8, PcdGet64 (PcdSystemMemorySize)\r
-  adr   x9, PcdGet64 (PcdSystemMemoryBase)\r
-  str   x0, [x8]\r
-  str   x1, [x9]\r
-\r
-.Lout:\r
-  ret    x29\r
-\r
-//UINTN\r
-//ArmPlatformGetPrimaryCoreMpId (\r
-//  VOID\r
-//  );\r
-ASM_PFX(ArmPlatformGetPrimaryCoreMpId):\r
-  LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, x0)\r
-  ldrh   w0, [x0]\r
-  ret\r
-\r
-//UINTN\r
-//ArmPlatformIsPrimaryCore (\r
-//  IN UINTN MpId\r
-//  );\r
-ASM_PFX(ArmPlatformIsPrimaryCore):\r
-  mov   x0, #1\r
-  ret\r
-\r
-//UINTN\r
-//ArmPlatformGetCorePosition (\r
-//  IN UINTN MpId\r
-//  );\r
-// With this function: CorePos = (ClusterId * 4) + CoreId\r
-ASM_PFX(ArmPlatformGetCorePosition):\r
-  and   x1, x0, #ARM_CORE_MASK\r
-  and   x0, x0, #ARM_CLUSTER_MASK\r
-  add   x0, x1, x0, LSR #6\r
-  ret\r
-\r
-//EFI_PHYSICAL_ADDRESS\r
-//GetPhysAddrTop (\r
-//  VOID\r
-//  );\r
-ASM_PFX(ArmGetPhysAddrTop):\r
-  mrs   x0, id_aa64mmfr0_el1\r
-  adr   x1, .LPARanges\r
-  and   x0, x0, #7\r
-  ldrb  w1, [x1, x0]\r
-  mov   x0, #1\r
-  lsl   x0, x0, x1\r
-  ret\r
-\r
-//\r
-// Bits 0..2 of the AA64MFR0_EL1 system register encode the size of the\r
-// physical address space support on this CPU:\r
-// 0 == 32 bits, 1 == 36 bits, etc etc\r
-// 6 and 7 are reserved\r
-//\r
-.LPARanges:\r
-  .byte 32, 36, 40, 42, 44, 48, -1, -1\r
-\r
-ASM_FUNCTION_REMOVE_IF_UNREFERENCED\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/ArmXenRelocatablePlatformLib.inf b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/ArmXenRelocatablePlatformLib.inf
deleted file mode 100644 (file)
index 17bb0f9..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#/* @file\r
-#  Copyright (c) 2011-2014, ARM Limited. All rights reserved.\r
-#  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#*/\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = ArmXenRelocatablePlatformLib\r
-  FILE_GUID                      = c8602718-4faa-4119-90ca-cae72509ac4c\r
-  MODULE_TYPE                    = BASE\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = ArmPlatformLib|SEC PEIM\r
-\r
-[Packages]\r
-  MdePkg/MdePkg.dec\r
-  MdeModulePkg/MdeModulePkg.dec\r
-  EmbeddedPkg/EmbeddedPkg.dec\r
-  ArmPkg/ArmPkg.dec\r
-  ArmPlatformPkg/ArmPlatformPkg.dec\r
-  ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationPkg.dec\r
-\r
-[LibraryClasses]\r
-  IoLib\r
-  ArmLib\r
-  PrintLib\r
-\r
-[Sources.common]\r
-  RelocatableVirt.c\r
-  XenVirtMem.c\r
-\r
-[Sources.AARCH64]\r
-  AARCH64/RelocatableVirtHelper.S\r
-  AARCH64/MemnodeParser.S\r
-\r
-[FeaturePcd]\r
-  gEmbeddedTokenSpaceGuid.PcdCacheEnable\r
-  gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec\r
-\r
-[PatchPcd]\r
-  gArmVirtualizationTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress\r
-  gArmTokenSpaceGuid.PcdFdBaseAddress\r
-  gArmTokenSpaceGuid.PcdFvBaseAddress\r
-  gArmTokenSpaceGuid.PcdSystemMemoryBase\r
-  gArmTokenSpaceGuid.PcdSystemMemorySize\r
-\r
-[FixedPcd]\r
-  gArmPlatformTokenSpaceGuid.PcdCoreCount\r
-  gArmTokenSpaceGuid.PcdArmPrimaryCoreMask\r
-  gArmTokenSpaceGuid.PcdArmPrimaryCore\r
-  gArmTokenSpaceGuid.PcdFdSize\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c
deleted file mode 100644 (file)
index c10c09f..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/** @file\r
-*\r
-*  Copyright (c) 2011-2013, ARM Limited. All rights reserved.\r
-*  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
-*  Copyright (c) 2014, Red Hat, Inc.\r
-*\r
-*\r
-*  This program and the accompanying materials\r
-*  are licensed and made available under the terms and conditions of the BSD License\r
-*  which accompanies this distribution.  The full text of the license may be found at\r
-*  http://opensource.org/licenses/bsd-license.php\r
-*\r
-*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-*\r
-**/\r
-\r
-#include <Library/IoLib.h>\r
-#include <Library/ArmPlatformLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <ArmPlatform.h>\r
-#include <Pi/PiBootMode.h>\r
-\r
-/**\r
-  Return the current Boot Mode\r
-\r
-  This function returns the boot reason on the platform\r
-\r
-  @return   Return the current Boot Mode of the platform\r
-\r
-**/\r
-EFI_BOOT_MODE\r
-ArmPlatformGetBootMode (\r
-  VOID\r
-  )\r
-{\r
-  return BOOT_WITH_FULL_CONFIGURATION;\r
-}\r
-\r
-/**\r
-  This function is called by PrePeiCore, in the SEC phase.\r
-**/\r
-RETURN_STATUS\r
-ArmPlatformInitialize (\r
-  IN  UINTN                     MpId\r
-  )\r
-{\r
-  //\r
-  // We are relying on ArmPlatformInitializeSystemMemory () being called from\r
-  // InitializeMemory (), which only occurs if the following feature is disabled\r
-  //\r
-  ASSERT (!FeaturePcdGet (PcdSystemMemoryInitializeInSec));\r
-  return RETURN_SUCCESS;\r
-}\r
-\r
-VOID\r
-ArmPlatformInitializeSystemMemory (\r
-  VOID\r
-  )\r
-{\r
-}\r
-\r
-VOID\r
-ArmPlatformGetPlatformPpiList (\r
-  OUT UINTN                   *PpiListSize,\r
-  OUT EFI_PEI_PPI_DESCRIPTOR  **PpiList\r
-  )\r
-{\r
-  *PpiListSize = 0;\r
-  *PpiList = NULL;\r
-}\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c
deleted file mode 100644 (file)
index 657b840..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/** @file\r
-*\r
-*  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
-*\r
-*  This program and the accompanying materials\r
-*  are licensed and made available under the terms and conditions of the BSD License\r
-*  which accompanies this distribution.  The full text of the license may be found at\r
-*  http://opensource.org/licenses/bsd-license.php\r
-*\r
-*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-*\r
-**/\r
-\r
-#include <Library/ArmPlatformLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/IoLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <ArmPlatform.h>\r
-\r
-// Number of Virtual Memory Map Descriptors\r
-#define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS          2\r
-\r
-// DDR attributes\r
-#define DDR_ATTRIBUTES_CACHED    ARM_MEMORY_REGION_ATTRIBUTE_WRITE_BACK\r
-#define DDR_ATTRIBUTES_UNCACHED  ARM_MEMORY_REGION_ATTRIBUTE_UNCACHED_UNBUFFERED\r
-\r
-EFI_PHYSICAL_ADDRESS\r
-ArmGetPhysAddrTop (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  Return the Virtual Memory Map of your platform\r
-\r
-  This Virtual Memory Map is used by MemoryInitPei Module to initialize the MMU\r
-  on your platform.\r
-\r
-  @param[out]   VirtualMemoryMap    Array of ARM_MEMORY_REGION_DESCRIPTOR\r
-                                    describing a Physical-to-Virtual Memory\r
-                                    mapping. This array must be ended by a\r
-                                    zero-filled entry\r
-\r
-**/\r
-VOID\r
-ArmPlatformGetVirtualMemoryMap (\r
-  IN ARM_MEMORY_REGION_DESCRIPTOR** VirtualMemoryMap\r
-  )\r
-{\r
-  ARM_MEMORY_REGION_DESCRIPTOR  *VirtualMemoryTable;\r
-\r
-  ASSERT (VirtualMemoryMap != NULL);\r
-\r
-  VirtualMemoryTable = AllocatePages (\r
-                         EFI_SIZE_TO_PAGES (\r
-                           sizeof (ARM_MEMORY_REGION_DESCRIPTOR)\r
-                           * MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS\r
-                           )\r
-                         );\r
-\r
-  if (VirtualMemoryTable == NULL) {\r
-    DEBUG ((EFI_D_ERROR, "%a: Error: Failed AllocatePages()\n", __FUNCTION__));\r
-    return;\r
-  }\r
-\r
-  //\r
-  // Map the entire physical memory space as cached. The only device\r
-  // we care about is the GIC, which will be stage 2 mapped as a device\r
-  // by the hypervisor, which will override the cached mapping we install\r
-  // here.\r
-  //\r
-  VirtualMemoryTable[0].PhysicalBase = 0x0;\r
-  VirtualMemoryTable[0].VirtualBase  = 0x0;\r
-  VirtualMemoryTable[0].Length       = ArmGetPhysAddrTop ();\r
-  VirtualMemoryTable[0].Attributes   = DDR_ATTRIBUTES_CACHED;\r
-\r
-  // End of Table\r
-  ZeroMem (&VirtualMemoryTable[1], sizeof (ARM_MEMORY_REGION_DESCRIPTOR));\r
-\r
-  *VirtualMemoryMap = VirtualMemoryTable;\r
-}\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf b/ArmPlatformPkg/ArmVirtualizationPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
deleted file mode 100644 (file)
index f6a346d..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-## @file\r
-#  Instance of PCI Express Library using the 256 MB PCI Express MMIO window.\r
-#\r
-#  PCI Express Library that uses the 256 MB PCI Express MMIO window to perform\r
-#  PCI Configuration cycles. Layers on top of an I/O Library instance.\r
-#\r
-#  Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution. The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php.\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#\r
-##\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = BaseCachingPciExpressLib\r
-  FILE_GUID                      = 3f3ffd80-04dc-4a2b-9d25-ecca55c2e520\r
-  MODULE_TYPE                    = BASE\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = PciExpressLib|DXE_DRIVER UEFI_DRIVER UEFI_APPLICATION\r
-  CONSTRUCTOR                    = PciExpressLibInitialize\r
-\r
-#\r
-#  VALID_ARCHITECTURES           = ARM AARCH64\r
-#\r
-\r
-[Sources]\r
-  PciExpressLib.c\r
-\r
-[Packages]\r
-  MdePkg/MdePkg.dec\r
-\r
-[LibraryClasses]\r
-  BaseLib\r
-  PcdLib\r
-  DebugLib\r
-  IoLib\r
-\r
-[Pcd]\r
-  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress  ## CONSUMES\r
-\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/BaseCachingPciExpressLib/PciExpressLib.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/BaseCachingPciExpressLib/PciExpressLib.c
deleted file mode 100644 (file)
index 6479f53..0000000
+++ /dev/null
@@ -1,1429 +0,0 @@
-/** @file\r
-  Functions in this library instance make use of MMIO functions in IoLib to\r
-  access memory mapped PCI configuration space.\r
-\r
-  All assertions for I/O operations are handled in MMIO functions in the IoLib\r
-  Library.\r
-\r
-  Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
-  This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php.\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-\r
-#include <Base.h>\r
-\r
-#include <Library/BaseLib.h>\r
-#include <Library/PciExpressLib.h>\r
-#include <Library/IoLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/PcdLib.h>\r
-\r
-\r
-/**\r
-  Assert the validity of a PCI address. A valid PCI address should contain 1's\r
-  only in the low 28 bits.\r
-\r
-  @param  A The address to validate.\r
-\r
-**/\r
-#define ASSERT_INVALID_PCI_ADDRESS(A) \\r
-  ASSERT (((A) & ~0xfffffff) == 0)\r
-\r
-/**\r
-  Registers a PCI device so PCI configuration registers may be accessed after\r
-  SetVirtualAddressMap().\r
-\r
-  Registers the PCI device specified by Address so all the PCI configuration\r
-  registers associated with that PCI device may be accessed after SetVirtualAddressMap()\r
-  is called.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-\r
-  @retval RETURN_SUCCESS           The PCI device was registered for runtime access.\r
-  @retval RETURN_UNSUPPORTED       An attempt was made to call this function\r
-                                   after ExitBootServices().\r
-  @retval RETURN_UNSUPPORTED       The resources required to access the PCI device\r
-                                   at runtime could not be mapped.\r
-  @retval RETURN_OUT_OF_RESOURCES  There are not enough resources available to\r
-                                   complete the registration.\r
-\r
-**/\r
-RETURN_STATUS\r
-EFIAPI\r
-PciExpressRegisterForRuntimeAccess (\r
-  IN UINTN  Address\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return RETURN_UNSUPPORTED;\r
-}\r
-\r
-STATIC UINT64 mPciExpressBaseAddress;\r
-\r
-RETURN_STATUS\r
-EFIAPI\r
-PciExpressLibInitialize (\r
-  VOID\r
-  )\r
-{\r
-  mPciExpressBaseAddress = PcdGet64 (PcdPciExpressBaseAddress);\r
-  return RETURN_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
-  Gets the base address of PCI Express.\r
-\r
-  @return The base address of PCI Express.\r
-\r
-**/\r
-VOID*\r
-GetPciExpressBaseAddress (\r
-  VOID\r
-  )\r
-{\r
-  return (VOID*)(UINTN) mPciExpressBaseAddress;\r
-}\r
-\r
-/**\r
-  Reads an 8-bit PCI configuration register.\r
-\r
-  Reads and returns the 8-bit PCI configuration register specified by Address.\r
-  This function must guarantee that all PCI read and write operations are\r
-  serialized.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-\r
-  @return The read value from the PCI configuration register.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-PciExpressRead8 (\r
-  IN      UINTN                     Address\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioRead8 ((UINTN) GetPciExpressBaseAddress () + Address);\r
-}\r
-\r
-/**\r
-  Writes an 8-bit PCI configuration register.\r
-\r
-  Writes the 8-bit PCI configuration register specified by Address with the\r
-  value specified by Value. Value is returned. This function must guarantee\r
-  that all PCI read and write operations are serialized.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-  @param  Value   The value to write.\r
-\r
-  @return The value written to the PCI configuration register.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-PciExpressWrite8 (\r
-  IN      UINTN                     Address,\r
-  IN      UINT8                     Value\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioWrite8 ((UINTN) GetPciExpressBaseAddress () + Address, Value);\r
-}\r
-\r
-/**\r
-  Performs a bitwise OR of an 8-bit PCI configuration register with\r
-  an 8-bit value.\r
-\r
-  Reads the 8-bit PCI configuration register specified by Address, performs a\r
-  bitwise OR between the read result and the value specified by\r
-  OrData, and writes the result to the 8-bit PCI configuration register\r
-  specified by Address. The value written to the PCI configuration register is\r
-  returned. This function must guarantee that all PCI read and write operations\r
-  are serialized.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-  @param  OrData  The value to OR with the PCI configuration register.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-PciExpressOr8 (\r
-  IN      UINTN                     Address,\r
-  IN      UINT8                     OrData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioOr8 ((UINTN) GetPciExpressBaseAddress () + Address, OrData);\r
-}\r
-\r
-/**\r
-  Performs a bitwise AND of an 8-bit PCI configuration register with an 8-bit\r
-  value.\r
-\r
-  Reads the 8-bit PCI configuration register specified by Address, performs a\r
-  bitwise AND between the read result and the value specified by AndData, and\r
-  writes the result to the 8-bit PCI configuration register specified by\r
-  Address. The value written to the PCI configuration register is returned.\r
-  This function must guarantee that all PCI read and write operations are\r
-  serialized.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-  @param  AndData The value to AND with the PCI configuration register.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-PciExpressAnd8 (\r
-  IN      UINTN                     Address,\r
-  IN      UINT8                     AndData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioAnd8 ((UINTN) GetPciExpressBaseAddress () + Address, AndData);\r
-}\r
-\r
-/**\r
-  Performs a bitwise AND of an 8-bit PCI configuration register with an 8-bit\r
-  value, followed a  bitwise OR with another 8-bit value.\r
-\r
-  Reads the 8-bit PCI configuration register specified by Address, performs a\r
-  bitwise AND between the read result and the value specified by AndData,\r
-  performs a bitwise OR between the result of the AND operation and\r
-  the value specified by OrData, and writes the result to the 8-bit PCI\r
-  configuration register specified by Address. The value written to the PCI\r
-  configuration register is returned. This function must guarantee that all PCI\r
-  read and write operations are serialized.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-  @param  AndData The value to AND with the PCI configuration register.\r
-  @param  OrData  The value to OR with the result of the AND operation.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-PciExpressAndThenOr8 (\r
-  IN      UINTN                     Address,\r
-  IN      UINT8                     AndData,\r
-  IN      UINT8                     OrData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioAndThenOr8 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           AndData,\r
-           OrData\r
-           );\r
-}\r
-\r
-/**\r
-  Reads a bit field of a PCI configuration register.\r
-\r
-  Reads the bit field in an 8-bit PCI configuration register. The bit field is\r
-  specified by the StartBit and the EndBit. The value of the bit field is\r
-  returned.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If StartBit is greater than 7, then ASSERT().\r
-  If EndBit is greater than 7, then ASSERT().\r
-  If EndBit is less than StartBit, then ASSERT().\r
-\r
-  @param  Address   The PCI configuration register to read.\r
-  @param  StartBit  The ordinal of the least significant bit in the bit field.\r
-                    Range 0..7.\r
-  @param  EndBit    The ordinal of the most significant bit in the bit field.\r
-                    Range 0..7.\r
-\r
-  @return The value of the bit field read from the PCI configuration register.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-PciExpressBitFieldRead8 (\r
-  IN      UINTN                     Address,\r
-  IN      UINTN                     StartBit,\r
-  IN      UINTN                     EndBit\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioBitFieldRead8 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           StartBit,\r
-           EndBit\r
-           );\r
-}\r
-\r
-/**\r
-  Writes a bit field to a PCI configuration register.\r
-\r
-  Writes Value to the bit field of the PCI configuration register. The bit\r
-  field is specified by the StartBit and the EndBit. All other bits in the\r
-  destination PCI configuration register are preserved. The new value of the\r
-  8-bit register is returned.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If StartBit is greater than 7, then ASSERT().\r
-  If EndBit is greater than 7, then ASSERT().\r
-  If EndBit is less than StartBit, then ASSERT().\r
-  If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().\r
-\r
-  @param  Address   The PCI configuration register to write.\r
-  @param  StartBit  The ordinal of the least significant bit in the bit field.\r
-                    Range 0..7.\r
-  @param  EndBit    The ordinal of the most significant bit in the bit field.\r
-                    Range 0..7.\r
-  @param  Value     The new value of the bit field.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-PciExpressBitFieldWrite8 (\r
-  IN      UINTN                     Address,\r
-  IN      UINTN                     StartBit,\r
-  IN      UINTN                     EndBit,\r
-  IN      UINT8                     Value\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioBitFieldWrite8 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           StartBit,\r
-           EndBit,\r
-           Value\r
-           );\r
-}\r
-\r
-/**\r
-  Reads a bit field in an 8-bit PCI configuration, performs a bitwise OR, and\r
-  writes the result back to the bit field in the 8-bit port.\r
-\r
-  Reads the 8-bit PCI configuration register specified by Address, performs a\r
-  bitwise OR between the read result and the value specified by\r
-  OrData, and writes the result to the 8-bit PCI configuration register\r
-  specified by Address. The value written to the PCI configuration register is\r
-  returned. This function must guarantee that all PCI read and write operations\r
-  are serialized. Extra left bits in OrData are stripped.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If StartBit is greater than 7, then ASSERT().\r
-  If EndBit is greater than 7, then ASSERT().\r
-  If EndBit is less than StartBit, then ASSERT().\r
-  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().\r
-\r
-  @param  Address   The PCI configuration register to write.\r
-  @param  StartBit  The ordinal of the least significant bit in the bit field.\r
-                    Range 0..7.\r
-  @param  EndBit    The ordinal of the most significant bit in the bit field.\r
-                    Range 0..7.\r
-  @param  OrData    The value to OR with the PCI configuration register.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-PciExpressBitFieldOr8 (\r
-  IN      UINTN                     Address,\r
-  IN      UINTN                     StartBit,\r
-  IN      UINTN                     EndBit,\r
-  IN      UINT8                     OrData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioBitFieldOr8 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           StartBit,\r
-           EndBit,\r
-           OrData\r
-           );\r
-}\r
-\r
-/**\r
-  Reads a bit field in an 8-bit PCI configuration register, performs a bitwise\r
-  AND, and writes the result back to the bit field in the 8-bit register.\r
-\r
-  Reads the 8-bit PCI configuration register specified by Address, performs a\r
-  bitwise AND between the read result and the value specified by AndData, and\r
-  writes the result to the 8-bit PCI configuration register specified by\r
-  Address. The value written to the PCI configuration register is returned.\r
-  This function must guarantee that all PCI read and write operations are\r
-  serialized. Extra left bits in AndData are stripped.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If StartBit is greater than 7, then ASSERT().\r
-  If EndBit is greater than 7, then ASSERT().\r
-  If EndBit is less than StartBit, then ASSERT().\r
-  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().\r
-\r
-  @param  Address   The PCI configuration register to write.\r
-  @param  StartBit  The ordinal of the least significant bit in the bit field.\r
-                    Range 0..7.\r
-  @param  EndBit    The ordinal of the most significant bit in the bit field.\r
-                    Range 0..7.\r
-  @param  AndData   The value to AND with the PCI configuration register.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-PciExpressBitFieldAnd8 (\r
-  IN      UINTN                     Address,\r
-  IN      UINTN                     StartBit,\r
-  IN      UINTN                     EndBit,\r
-  IN      UINT8                     AndData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioBitFieldAnd8 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           StartBit,\r
-           EndBit,\r
-           AndData\r
-           );\r
-}\r
-\r
-/**\r
-  Reads a bit field in an 8-bit port, performs a bitwise AND followed by a\r
-  bitwise OR, and writes the result back to the bit field in the\r
-  8-bit port.\r
-\r
-  Reads the 8-bit PCI configuration register specified by Address, performs a\r
-  bitwise AND followed by a bitwise OR between the read result and\r
-  the value specified by AndData, and writes the result to the 8-bit PCI\r
-  configuration register specified by Address. The value written to the PCI\r
-  configuration register is returned. This function must guarantee that all PCI\r
-  read and write operations are serialized. Extra left bits in both AndData and\r
-  OrData are stripped.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If StartBit is greater than 7, then ASSERT().\r
-  If EndBit is greater than 7, then ASSERT().\r
-  If EndBit is less than StartBit, then ASSERT().\r
-  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().\r
-  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().\r
-\r
-  @param  Address   The PCI configuration register to write.\r
-  @param  StartBit  The ordinal of the least significant bit in the bit field.\r
-                    Range 0..7.\r
-  @param  EndBit    The ordinal of the most significant bit in the bit field.\r
-                    Range 0..7.\r
-  @param  AndData   The value to AND with the PCI configuration register.\r
-  @param  OrData    The value to OR with the result of the AND operation.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-PciExpressBitFieldAndThenOr8 (\r
-  IN      UINTN                     Address,\r
-  IN      UINTN                     StartBit,\r
-  IN      UINTN                     EndBit,\r
-  IN      UINT8                     AndData,\r
-  IN      UINT8                     OrData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioBitFieldAndThenOr8 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           StartBit,\r
-           EndBit,\r
-           AndData,\r
-           OrData\r
-           );\r
-}\r
-\r
-/**\r
-  Reads a 16-bit PCI configuration register.\r
-\r
-  Reads and returns the 16-bit PCI configuration register specified by Address.\r
-  This function must guarantee that all PCI read and write operations are\r
-  serialized.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 16-bit boundary, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-\r
-  @return The read value from the PCI configuration register.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-PciExpressRead16 (\r
-  IN      UINTN                     Address\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioRead16 ((UINTN) GetPciExpressBaseAddress () + Address);\r
-}\r
-\r
-/**\r
-  Writes a 16-bit PCI configuration register.\r
-\r
-  Writes the 16-bit PCI configuration register specified by Address with the\r
-  value specified by Value. Value is returned. This function must guarantee\r
-  that all PCI read and write operations are serialized.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 16-bit boundary, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-  @param  Value   The value to write.\r
-\r
-  @return The value written to the PCI configuration register.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-PciExpressWrite16 (\r
-  IN      UINTN                     Address,\r
-  IN      UINT16                    Value\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioWrite16 ((UINTN) GetPciExpressBaseAddress () + Address, Value);\r
-}\r
-\r
-/**\r
-  Performs a bitwise OR of a 16-bit PCI configuration register with\r
-  a 16-bit value.\r
-\r
-  Reads the 16-bit PCI configuration register specified by Address, performs a\r
-  bitwise OR between the read result and the value specified by\r
-  OrData, and writes the result to the 16-bit PCI configuration register\r
-  specified by Address. The value written to the PCI configuration register is\r
-  returned. This function must guarantee that all PCI read and write operations\r
-  are serialized.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 16-bit boundary, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-  @param  OrData  The value to OR with the PCI configuration register.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-PciExpressOr16 (\r
-  IN      UINTN                     Address,\r
-  IN      UINT16                    OrData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioOr16 ((UINTN) GetPciExpressBaseAddress () + Address, OrData);\r
-}\r
-\r
-/**\r
-  Performs a bitwise AND of a 16-bit PCI configuration register with a 16-bit\r
-  value.\r
-\r
-  Reads the 16-bit PCI configuration register specified by Address, performs a\r
-  bitwise AND between the read result and the value specified by AndData, and\r
-  writes the result to the 16-bit PCI configuration register specified by\r
-  Address. The value written to the PCI configuration register is returned.\r
-  This function must guarantee that all PCI read and write operations are\r
-  serialized.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 16-bit boundary, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-  @param  AndData The value to AND with the PCI configuration register.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-PciExpressAnd16 (\r
-  IN      UINTN                     Address,\r
-  IN      UINT16                    AndData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioAnd16 ((UINTN) GetPciExpressBaseAddress () + Address, AndData);\r
-}\r
-\r
-/**\r
-  Performs a bitwise AND of a 16-bit PCI configuration register with a 16-bit\r
-  value, followed a  bitwise OR with another 16-bit value.\r
-\r
-  Reads the 16-bit PCI configuration register specified by Address, performs a\r
-  bitwise AND between the read result and the value specified by AndData,\r
-  performs a bitwise OR between the result of the AND operation and\r
-  the value specified by OrData, and writes the result to the 16-bit PCI\r
-  configuration register specified by Address. The value written to the PCI\r
-  configuration register is returned. This function must guarantee that all PCI\r
-  read and write operations are serialized.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 16-bit boundary, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-  @param  AndData The value to AND with the PCI configuration register.\r
-  @param  OrData  The value to OR with the result of the AND operation.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-PciExpressAndThenOr16 (\r
-  IN      UINTN                     Address,\r
-  IN      UINT16                    AndData,\r
-  IN      UINT16                    OrData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioAndThenOr16 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           AndData,\r
-           OrData\r
-           );\r
-}\r
-\r
-/**\r
-  Reads a bit field of a PCI configuration register.\r
-\r
-  Reads the bit field in a 16-bit PCI configuration register. The bit field is\r
-  specified by the StartBit and the EndBit. The value of the bit field is\r
-  returned.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 16-bit boundary, then ASSERT().\r
-  If StartBit is greater than 15, then ASSERT().\r
-  If EndBit is greater than 15, then ASSERT().\r
-  If EndBit is less than StartBit, then ASSERT().\r
-\r
-  @param  Address   The PCI configuration register to read.\r
-  @param  StartBit  The ordinal of the least significant bit in the bit field.\r
-                    Range 0..15.\r
-  @param  EndBit    The ordinal of the most significant bit in the bit field.\r
-                    Range 0..15.\r
-\r
-  @return The value of the bit field read from the PCI configuration register.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-PciExpressBitFieldRead16 (\r
-  IN      UINTN                     Address,\r
-  IN      UINTN                     StartBit,\r
-  IN      UINTN                     EndBit\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioBitFieldRead16 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           StartBit,\r
-           EndBit\r
-           );\r
-}\r
-\r
-/**\r
-  Writes a bit field to a PCI configuration register.\r
-\r
-  Writes Value to the bit field of the PCI configuration register. The bit\r
-  field is specified by the StartBit and the EndBit. All other bits in the\r
-  destination PCI configuration register are preserved. The new value of the\r
-  16-bit register is returned.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 16-bit boundary, then ASSERT().\r
-  If StartBit is greater than 15, then ASSERT().\r
-  If EndBit is greater than 15, then ASSERT().\r
-  If EndBit is less than StartBit, then ASSERT().\r
-  If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().\r
-\r
-  @param  Address   The PCI configuration register to write.\r
-  @param  StartBit  The ordinal of the least significant bit in the bit field.\r
-                    Range 0..15.\r
-  @param  EndBit    The ordinal of the most significant bit in the bit field.\r
-                    Range 0..15.\r
-  @param  Value     The new value of the bit field.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-PciExpressBitFieldWrite16 (\r
-  IN      UINTN                     Address,\r
-  IN      UINTN                     StartBit,\r
-  IN      UINTN                     EndBit,\r
-  IN      UINT16                    Value\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioBitFieldWrite16 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           StartBit,\r
-           EndBit,\r
-           Value\r
-           );\r
-}\r
-\r
-/**\r
-  Reads a bit field in a 16-bit PCI configuration, performs a bitwise OR, and\r
-  writes the result back to the bit field in the 16-bit port.\r
-\r
-  Reads the 16-bit PCI configuration register specified by Address, performs a\r
-  bitwise OR between the read result and the value specified by\r
-  OrData, and writes the result to the 16-bit PCI configuration register\r
-  specified by Address. The value written to the PCI configuration register is\r
-  returned. This function must guarantee that all PCI read and write operations\r
-  are serialized. Extra left bits in OrData are stripped.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 16-bit boundary, then ASSERT().\r
-  If StartBit is greater than 15, then ASSERT().\r
-  If EndBit is greater than 15, then ASSERT().\r
-  If EndBit is less than StartBit, then ASSERT().\r
-  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().\r
-\r
-  @param  Address   The PCI configuration register to write.\r
-  @param  StartBit  The ordinal of the least significant bit in the bit field.\r
-                    Range 0..15.\r
-  @param  EndBit    The ordinal of the most significant bit in the bit field.\r
-                    Range 0..15.\r
-  @param  OrData    The value to OR with the PCI configuration register.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-PciExpressBitFieldOr16 (\r
-  IN      UINTN                     Address,\r
-  IN      UINTN                     StartBit,\r
-  IN      UINTN                     EndBit,\r
-  IN      UINT16                    OrData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioBitFieldOr16 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           StartBit,\r
-           EndBit,\r
-           OrData\r
-           );\r
-}\r
-\r
-/**\r
-  Reads a bit field in a 16-bit PCI configuration register, performs a bitwise\r
-  AND, and writes the result back to the bit field in the 16-bit register.\r
-\r
-  Reads the 16-bit PCI configuration register specified by Address, performs a\r
-  bitwise AND between the read result and the value specified by AndData, and\r
-  writes the result to the 16-bit PCI configuration register specified by\r
-  Address. The value written to the PCI configuration register is returned.\r
-  This function must guarantee that all PCI read and write operations are\r
-  serialized. Extra left bits in AndData are stripped.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 16-bit boundary, then ASSERT().\r
-  If StartBit is greater than 15, then ASSERT().\r
-  If EndBit is greater than 15, then ASSERT().\r
-  If EndBit is less than StartBit, then ASSERT().\r
-  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().\r
-\r
-  @param  Address   The PCI configuration register to write.\r
-  @param  StartBit  The ordinal of the least significant bit in the bit field.\r
-                    Range 0..15.\r
-  @param  EndBit    The ordinal of the most significant bit in the bit field.\r
-                    Range 0..15.\r
-  @param  AndData   The value to AND with the PCI configuration register.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-PciExpressBitFieldAnd16 (\r
-  IN      UINTN                     Address,\r
-  IN      UINTN                     StartBit,\r
-  IN      UINTN                     EndBit,\r
-  IN      UINT16                    AndData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioBitFieldAnd16 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           StartBit,\r
-           EndBit,\r
-           AndData\r
-           );\r
-}\r
-\r
-/**\r
-  Reads a bit field in a 16-bit port, performs a bitwise AND followed by a\r
-  bitwise OR, and writes the result back to the bit field in the\r
-  16-bit port.\r
-\r
-  Reads the 16-bit PCI configuration register specified by Address, performs a\r
-  bitwise AND followed by a bitwise OR between the read result and\r
-  the value specified by AndData, and writes the result to the 16-bit PCI\r
-  configuration register specified by Address. The value written to the PCI\r
-  configuration register is returned. This function must guarantee that all PCI\r
-  read and write operations are serialized. Extra left bits in both AndData and\r
-  OrData are stripped.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 16-bit boundary, then ASSERT().\r
-  If StartBit is greater than 15, then ASSERT().\r
-  If EndBit is greater than 15, then ASSERT().\r
-  If EndBit is less than StartBit, then ASSERT().\r
-  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().\r
-  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().\r
-\r
-  @param  Address   The PCI configuration register to write.\r
-  @param  StartBit  The ordinal of the least significant bit in the bit field.\r
-                    Range 0..15.\r
-  @param  EndBit    The ordinal of the most significant bit in the bit field.\r
-                    Range 0..15.\r
-  @param  AndData   The value to AND with the PCI configuration register.\r
-  @param  OrData    The value to OR with the result of the AND operation.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-PciExpressBitFieldAndThenOr16 (\r
-  IN      UINTN                     Address,\r
-  IN      UINTN                     StartBit,\r
-  IN      UINTN                     EndBit,\r
-  IN      UINT16                    AndData,\r
-  IN      UINT16                    OrData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioBitFieldAndThenOr16 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           StartBit,\r
-           EndBit,\r
-           AndData,\r
-           OrData\r
-           );\r
-}\r
-\r
-/**\r
-  Reads a 32-bit PCI configuration register.\r
-\r
-  Reads and returns the 32-bit PCI configuration register specified by Address.\r
-  This function must guarantee that all PCI read and write operations are\r
-  serialized.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 32-bit boundary, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-\r
-  @return The read value from the PCI configuration register.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-PciExpressRead32 (\r
-  IN      UINTN                     Address\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioRead32 ((UINTN) GetPciExpressBaseAddress () + Address);\r
-}\r
-\r
-/**\r
-  Writes a 32-bit PCI configuration register.\r
-\r
-  Writes the 32-bit PCI configuration register specified by Address with the\r
-  value specified by Value. Value is returned. This function must guarantee\r
-  that all PCI read and write operations are serialized.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 32-bit boundary, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-  @param  Value   The value to write.\r
-\r
-  @return The value written to the PCI configuration register.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-PciExpressWrite32 (\r
-  IN      UINTN                     Address,\r
-  IN      UINT32                    Value\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioWrite32 ((UINTN) GetPciExpressBaseAddress () + Address, Value);\r
-}\r
-\r
-/**\r
-  Performs a bitwise OR of a 32-bit PCI configuration register with\r
-  a 32-bit value.\r
-\r
-  Reads the 32-bit PCI configuration register specified by Address, performs a\r
-  bitwise OR between the read result and the value specified by\r
-  OrData, and writes the result to the 32-bit PCI configuration register\r
-  specified by Address. The value written to the PCI configuration register is\r
-  returned. This function must guarantee that all PCI read and write operations\r
-  are serialized.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 32-bit boundary, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-  @param  OrData  The value to OR with the PCI configuration register.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-PciExpressOr32 (\r
-  IN      UINTN                     Address,\r
-  IN      UINT32                    OrData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioOr32 ((UINTN) GetPciExpressBaseAddress () + Address, OrData);\r
-}\r
-\r
-/**\r
-  Performs a bitwise AND of a 32-bit PCI configuration register with a 32-bit\r
-  value.\r
-\r
-  Reads the 32-bit PCI configuration register specified by Address, performs a\r
-  bitwise AND between the read result and the value specified by AndData, and\r
-  writes the result to the 32-bit PCI configuration register specified by\r
-  Address. The value written to the PCI configuration register is returned.\r
-  This function must guarantee that all PCI read and write operations are\r
-  serialized.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 32-bit boundary, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-  @param  AndData The value to AND with the PCI configuration register.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-PciExpressAnd32 (\r
-  IN      UINTN                     Address,\r
-  IN      UINT32                    AndData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioAnd32 ((UINTN) GetPciExpressBaseAddress () + Address, AndData);\r
-}\r
-\r
-/**\r
-  Performs a bitwise AND of a 32-bit PCI configuration register with a 32-bit\r
-  value, followed a  bitwise OR with another 32-bit value.\r
-\r
-  Reads the 32-bit PCI configuration register specified by Address, performs a\r
-  bitwise AND between the read result and the value specified by AndData,\r
-  performs a bitwise OR between the result of the AND operation and\r
-  the value specified by OrData, and writes the result to the 32-bit PCI\r
-  configuration register specified by Address. The value written to the PCI\r
-  configuration register is returned. This function must guarantee that all PCI\r
-  read and write operations are serialized.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 32-bit boundary, then ASSERT().\r
-\r
-  @param  Address The address that encodes the PCI Bus, Device, Function and\r
-                  Register.\r
-  @param  AndData The value to AND with the PCI configuration register.\r
-  @param  OrData  The value to OR with the result of the AND operation.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-PciExpressAndThenOr32 (\r
-  IN      UINTN                     Address,\r
-  IN      UINT32                    AndData,\r
-  IN      UINT32                    OrData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioAndThenOr32 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           AndData,\r
-           OrData\r
-           );\r
-}\r
-\r
-/**\r
-  Reads a bit field of a PCI configuration register.\r
-\r
-  Reads the bit field in a 32-bit PCI configuration register. The bit field is\r
-  specified by the StartBit and the EndBit. The value of the bit field is\r
-  returned.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 32-bit boundary, then ASSERT().\r
-  If StartBit is greater than 31, then ASSERT().\r
-  If EndBit is greater than 31, then ASSERT().\r
-  If EndBit is less than StartBit, then ASSERT().\r
-\r
-  @param  Address   The PCI configuration register to read.\r
-  @param  StartBit  The ordinal of the least significant bit in the bit field.\r
-                    Range 0..31.\r
-  @param  EndBit    The ordinal of the most significant bit in the bit field.\r
-                    Range 0..31.\r
-\r
-  @return The value of the bit field read from the PCI configuration register.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-PciExpressBitFieldRead32 (\r
-  IN      UINTN                     Address,\r
-  IN      UINTN                     StartBit,\r
-  IN      UINTN                     EndBit\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioBitFieldRead32 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           StartBit,\r
-           EndBit\r
-           );\r
-}\r
-\r
-/**\r
-  Writes a bit field to a PCI configuration register.\r
-\r
-  Writes Value to the bit field of the PCI configuration register. The bit\r
-  field is specified by the StartBit and the EndBit. All other bits in the\r
-  destination PCI configuration register are preserved. The new value of the\r
-  32-bit register is returned.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 32-bit boundary, then ASSERT().\r
-  If StartBit is greater than 31, then ASSERT().\r
-  If EndBit is greater than 31, then ASSERT().\r
-  If EndBit is less than StartBit, then ASSERT().\r
-  If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().\r
-\r
-  @param  Address   The PCI configuration register to write.\r
-  @param  StartBit  The ordinal of the least significant bit in the bit field.\r
-                    Range 0..31.\r
-  @param  EndBit    The ordinal of the most significant bit in the bit field.\r
-                    Range 0..31.\r
-  @param  Value     The new value of the bit field.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-PciExpressBitFieldWrite32 (\r
-  IN      UINTN                     Address,\r
-  IN      UINTN                     StartBit,\r
-  IN      UINTN                     EndBit,\r
-  IN      UINT32                    Value\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioBitFieldWrite32 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           StartBit,\r
-           EndBit,\r
-           Value\r
-           );\r
-}\r
-\r
-/**\r
-  Reads a bit field in a 32-bit PCI configuration, performs a bitwise OR, and\r
-  writes the result back to the bit field in the 32-bit port.\r
-\r
-  Reads the 32-bit PCI configuration register specified by Address, performs a\r
-  bitwise OR between the read result and the value specified by\r
-  OrData, and writes the result to the 32-bit PCI configuration register\r
-  specified by Address. The value written to the PCI configuration register is\r
-  returned. This function must guarantee that all PCI read and write operations\r
-  are serialized. Extra left bits in OrData are stripped.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 32-bit boundary, then ASSERT().\r
-  If StartBit is greater than 31, then ASSERT().\r
-  If EndBit is greater than 31, then ASSERT().\r
-  If EndBit is less than StartBit, then ASSERT().\r
-  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().\r
-\r
-  @param  Address   The PCI configuration register to write.\r
-  @param  StartBit  The ordinal of the least significant bit in the bit field.\r
-                    Range 0..31.\r
-  @param  EndBit    The ordinal of the most significant bit in the bit field.\r
-                    Range 0..31.\r
-  @param  OrData    The value to OR with the PCI configuration register.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-PciExpressBitFieldOr32 (\r
-  IN      UINTN                     Address,\r
-  IN      UINTN                     StartBit,\r
-  IN      UINTN                     EndBit,\r
-  IN      UINT32                    OrData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioBitFieldOr32 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           StartBit,\r
-           EndBit,\r
-           OrData\r
-           );\r
-}\r
-\r
-/**\r
-  Reads a bit field in a 32-bit PCI configuration register, performs a bitwise\r
-  AND, and writes the result back to the bit field in the 32-bit register.\r
-\r
-  Reads the 32-bit PCI configuration register specified by Address, performs a\r
-  bitwise AND between the read result and the value specified by AndData, and\r
-  writes the result to the 32-bit PCI configuration register specified by\r
-  Address. The value written to the PCI configuration register is returned.\r
-  This function must guarantee that all PCI read and write operations are\r
-  serialized. Extra left bits in AndData are stripped.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 32-bit boundary, then ASSERT().\r
-  If StartBit is greater than 31, then ASSERT().\r
-  If EndBit is greater than 31, then ASSERT().\r
-  If EndBit is less than StartBit, then ASSERT().\r
-  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().\r
-\r
-  @param  Address   The PCI configuration register to write.\r
-  @param  StartBit  The ordinal of the least significant bit in the bit field.\r
-                    Range 0..31.\r
-  @param  EndBit    The ordinal of the most significant bit in the bit field.\r
-                    Range 0..31.\r
-  @param  AndData   The value to AND with the PCI configuration register.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-PciExpressBitFieldAnd32 (\r
-  IN      UINTN                     Address,\r
-  IN      UINTN                     StartBit,\r
-  IN      UINTN                     EndBit,\r
-  IN      UINT32                    AndData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioBitFieldAnd32 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           StartBit,\r
-           EndBit,\r
-           AndData\r
-           );\r
-}\r
-\r
-/**\r
-  Reads a bit field in a 32-bit port, performs a bitwise AND followed by a\r
-  bitwise OR, and writes the result back to the bit field in the\r
-  32-bit port.\r
-\r
-  Reads the 32-bit PCI configuration register specified by Address, performs a\r
-  bitwise AND followed by a bitwise OR between the read result and\r
-  the value specified by AndData, and writes the result to the 32-bit PCI\r
-  configuration register specified by Address. The value written to the PCI\r
-  configuration register is returned. This function must guarantee that all PCI\r
-  read and write operations are serialized. Extra left bits in both AndData and\r
-  OrData are stripped.\r
-\r
-  If Address > 0x0FFFFFFF, then ASSERT().\r
-  If Address is not aligned on a 32-bit boundary, then ASSERT().\r
-  If StartBit is greater than 31, then ASSERT().\r
-  If EndBit is greater than 31, then ASSERT().\r
-  If EndBit is less than StartBit, then ASSERT().\r
-  If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().\r
-  If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().\r
-\r
-  @param  Address   The PCI configuration register to write.\r
-  @param  StartBit  The ordinal of the least significant bit in the bit field.\r
-                    Range 0..31.\r
-  @param  EndBit    The ordinal of the most significant bit in the bit field.\r
-                    Range 0..31.\r
-  @param  AndData   The value to AND with the PCI configuration register.\r
-  @param  OrData    The value to OR with the result of the AND operation.\r
-\r
-  @return The value written back to the PCI configuration register.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-PciExpressBitFieldAndThenOr32 (\r
-  IN      UINTN                     Address,\r
-  IN      UINTN                     StartBit,\r
-  IN      UINTN                     EndBit,\r
-  IN      UINT32                    AndData,\r
-  IN      UINT32                    OrData\r
-  )\r
-{\r
-  ASSERT_INVALID_PCI_ADDRESS (Address);\r
-  return MmioBitFieldAndThenOr32 (\r
-           (UINTN) GetPciExpressBaseAddress () + Address,\r
-           StartBit,\r
-           EndBit,\r
-           AndData,\r
-           OrData\r
-           );\r
-}\r
-\r
-/**\r
-  Reads a range of PCI configuration registers into a caller supplied buffer.\r
-\r
-  Reads the range of PCI configuration registers specified by StartAddress and\r
-  Size into the buffer specified by Buffer. This function only allows the PCI\r
-  configuration registers from a single PCI function to be read. Size is\r
-  returned. When possible 32-bit PCI configuration read cycles are used to read\r
-  from StartAdress to StartAddress + Size. Due to alignment restrictions, 8-bit\r
-  and 16-bit PCI configuration read cycles may be used at the beginning and the\r
-  end of the range.\r
-\r
-  If StartAddress > 0x0FFFFFFF, then ASSERT().\r
-  If ((StartAddress & 0xFFF) + Size) > 0x1000, then ASSERT().\r
-  If Size > 0 and Buffer is NULL, then ASSERT().\r
-\r
-  @param  StartAddress  The starting address that encodes the PCI Bus, Device,\r
-                        Function and Register.\r
-  @param  Size          The size in bytes of the transfer.\r
-  @param  Buffer        The pointer to a buffer receiving the data read.\r
-\r
-  @return Size read data from StartAddress.\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-PciExpressReadBuffer (\r
-  IN      UINTN                     StartAddress,\r
-  IN      UINTN                     Size,\r
-  OUT     VOID                      *Buffer\r
-  )\r
-{\r
-  UINTN   ReturnValue;\r
-\r
-  ASSERT_INVALID_PCI_ADDRESS (StartAddress);\r
-  ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);\r
-\r
-  if (Size == 0) {\r
-    return Size;\r
-  }\r
-\r
-  ASSERT (Buffer != NULL);\r
-\r
-  //\r
-  // Save Size for return\r
-  //\r
-  ReturnValue = Size;\r
-\r
-  if ((StartAddress & 1) != 0) {\r
-    //\r
-    // Read a byte if StartAddress is byte aligned\r
-    //\r
-    *(volatile UINT8 *)Buffer = PciExpressRead8 (StartAddress);\r
-    StartAddress += sizeof (UINT8);\r
-    Size -= sizeof (UINT8);\r
-    Buffer = (UINT8*)Buffer + 1;\r
-  }\r
-\r
-  if (Size >= sizeof (UINT16) && (StartAddress & 2) != 0) {\r
-    //\r
-    // Read a word if StartAddress is word aligned\r
-    //\r
-    WriteUnaligned16 ((UINT16 *) Buffer, (UINT16) PciExpressRead16 (StartAddress));\r
-\r
-    StartAddress += sizeof (UINT16);\r
-    Size -= sizeof (UINT16);\r
-    Buffer = (UINT16*)Buffer + 1;\r
-  }\r
-\r
-  while (Size >= sizeof (UINT32)) {\r
-    //\r
-    // Read as many double words as possible\r
-    //\r
-    WriteUnaligned32 ((UINT32 *) Buffer, (UINT32) PciExpressRead32 (StartAddress));\r
-\r
-    StartAddress += sizeof (UINT32);\r
-    Size -= sizeof (UINT32);\r
-    Buffer = (UINT32*)Buffer + 1;\r
-  }\r
-\r
-  if (Size >= sizeof (UINT16)) {\r
-    //\r
-    // Read the last remaining word if exist\r
-    //\r
-    WriteUnaligned16 ((UINT16 *) Buffer, (UINT16) PciExpressRead16 (StartAddress));\r
-    StartAddress += sizeof (UINT16);\r
-    Size -= sizeof (UINT16);\r
-    Buffer = (UINT16*)Buffer + 1;\r
-  }\r
-\r
-  if (Size >= sizeof (UINT8)) {\r
-    //\r
-    // Read the last remaining byte if exist\r
-    //\r
-    *(volatile UINT8 *)Buffer = PciExpressRead8 (StartAddress);\r
-  }\r
-\r
-  return ReturnValue;\r
-}\r
-\r
-/**\r
-  Copies the data in a caller supplied buffer to a specified range of PCI\r
-  configuration space.\r
-\r
-  Writes the range of PCI configuration registers specified by StartAddress and\r
-  Size from the buffer specified by Buffer. This function only allows the PCI\r
-  configuration registers from a single PCI function to be written. Size is\r
-  returned. When possible 32-bit PCI configuration write cycles are used to\r
-  write from StartAdress to StartAddress + Size. Due to alignment restrictions,\r
-  8-bit and 16-bit PCI configuration write cycles may be used at the beginning\r
-  and the end of the range.\r
-\r
-  If StartAddress > 0x0FFFFFFF, then ASSERT().\r
-  If ((StartAddress & 0xFFF) + Size) > 0x1000, then ASSERT().\r
-  If Size > 0 and Buffer is NULL, then ASSERT().\r
-\r
-  @param  StartAddress  The starting address that encodes the PCI Bus, Device,\r
-                        Function and Register.\r
-  @param  Size          The size in bytes of the transfer.\r
-  @param  Buffer        The pointer to a buffer containing the data to write.\r
-\r
-  @return Size written to StartAddress.\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-PciExpressWriteBuffer (\r
-  IN      UINTN                     StartAddress,\r
-  IN      UINTN                     Size,\r
-  IN      VOID                      *Buffer\r
-  )\r
-{\r
-  UINTN                             ReturnValue;\r
-\r
-  ASSERT_INVALID_PCI_ADDRESS (StartAddress);\r
-  ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);\r
-\r
-  if (Size == 0) {\r
-    return 0;\r
-  }\r
-\r
-  ASSERT (Buffer != NULL);\r
-\r
-  //\r
-  // Save Size for return\r
-  //\r
-  ReturnValue = Size;\r
-\r
-  if ((StartAddress & 1) != 0) {\r
-    //\r
-    // Write a byte if StartAddress is byte aligned\r
-    //\r
-    PciExpressWrite8 (StartAddress, *(UINT8*)Buffer);\r
-    StartAddress += sizeof (UINT8);\r
-    Size -= sizeof (UINT8);\r
-    Buffer = (UINT8*)Buffer + 1;\r
-  }\r
-\r
-  if (Size >= sizeof (UINT16) && (StartAddress & 2) != 0) {\r
-    //\r
-    // Write a word if StartAddress is word aligned\r
-    //\r
-    PciExpressWrite16 (StartAddress, ReadUnaligned16 ((UINT16*)Buffer));\r
-    StartAddress += sizeof (UINT16);\r
-    Size -= sizeof (UINT16);\r
-    Buffer = (UINT16*)Buffer + 1;\r
-  }\r
-\r
-  while (Size >= sizeof (UINT32)) {\r
-    //\r
-    // Write as many double words as possible\r
-    //\r
-    PciExpressWrite32 (StartAddress, ReadUnaligned32 ((UINT32*)Buffer));\r
-    StartAddress += sizeof (UINT32);\r
-    Size -= sizeof (UINT32);\r
-    Buffer = (UINT32*)Buffer + 1;\r
-  }\r
-\r
-  if (Size >= sizeof (UINT16)) {\r
-    //\r
-    // Write the last remaining word if exist\r
-    //\r
-    PciExpressWrite16 (StartAddress, ReadUnaligned16 ((UINT16*)Buffer));\r
-    StartAddress += sizeof (UINT16);\r
-    Size -= sizeof (UINT16);\r
-    Buffer = (UINT16*)Buffer + 1;\r
-  }\r
-\r
-  if (Size >= sizeof (UINT8)) {\r
-    //\r
-    // Write the last remaining byte if exist\r
-    //\r
-    PciExpressWrite8 (StartAddress, *(UINT8*)Buffer);\r
-  }\r
-\r
-  return ReturnValue;\r
-}\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.c
deleted file mode 100644 (file)
index ba6d277..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-/** @file\r
-  Serial I/O Port library functions with base address discovered from FDT\r
-\r
-  Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>\r
-  Copyright (c) 2012 - 2013, ARM Ltd. All rights reserved.<BR>\r
-  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>\r
-\r
-  This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include <Base.h>\r
-\r
-#include <Library/PcdLib.h>\r
-#include <Library/SerialPortLib.h>\r
-#include <Library/SerialPortExtLib.h>\r
-#include <libfdt.h>\r
-\r
-#include <Drivers/PL011Uart.h>\r
-\r
-RETURN_STATUS\r
-EFIAPI\r
-SerialPortInitialize (\r
-  VOID\r
-  )\r
-{\r
-  //\r
-  // This SerialPortInitialize() function is completely empty, for a number of\r
-  // reasons:\r
-  // - if we are executing from flash, it is hard to keep state (i.e., store the\r
-  //   discovered base address in a global), and the most robust way to deal\r
-  //   with this is to discover the base address at every Write ();\r
-  // - calls to the Write() function in this module may be issued before this\r
-  //   initialization function is called: this is not a problem when the base\r
-  //   address of the UART is hardcoded, and only the baud rate may be wrong,\r
-  //   but if we don't know the base address yet, we may be poking into memory\r
-  //   that does not tolerate being poked into;\r
-  // - SEC and PEI phases produce debug output only, so with debug disabled, no\r
-  //   initialization (or device tree parsing) is performed at all.\r
-  //\r
-  // Note that this means that on *every* Write () call, the device tree will be\r
-  // parsed and the UART re-initialized. However, this is a small price to pay\r
-  // for having serial debug output on a UART with no fixed base address.\r
-  //\r
-  return RETURN_SUCCESS;\r
-}\r
-\r
-STATIC\r
-UINT64\r
-SerialPortGetBaseAddress (\r
-  VOID\r
-  )\r
-{\r
-  UINT64              BaudRate;\r
-  UINT32              ReceiveFifoDepth;\r
-  EFI_PARITY_TYPE     Parity;\r
-  UINT8               DataBits;\r
-  EFI_STOP_BITS_TYPE  StopBits;\r
-  VOID                *DeviceTreeBase;\r
-  INT32               Node, Prev;\r
-  INT32               Len;\r
-  CONST CHAR8         *Compatible;\r
-  CONST CHAR8         *CompatibleItem;\r
-  CONST UINT64        *RegProperty;\r
-  UINTN               UartBase;\r
-  RETURN_STATUS       Status;\r
-\r
-  DeviceTreeBase = (VOID *)(UINTN)FixedPcdGet64 (PcdDeviceTreeInitialBaseAddress);\r
-\r
-  if ((DeviceTreeBase == NULL) || (fdt_check_header (DeviceTreeBase) != 0)) {\r
-    return 0;\r
-  }\r
-\r
-  //\r
-  // Enumerate all FDT nodes looking for a PL011 and capture its base address\r
-  //\r
-  for (Prev = 0;; Prev = Node) {\r
-    Node = fdt_next_node (DeviceTreeBase, Prev, NULL);\r
-    if (Node < 0) {\r
-      break;\r
-    }\r
-\r
-    Compatible = fdt_getprop (DeviceTreeBase, Node, "compatible", &Len);\r
-    if (Compatible == NULL) {\r
-      continue;\r
-    }\r
-\r
-    //\r
-    // Iterate over the NULL-separated items in the compatible string\r
-    //\r
-    for (CompatibleItem = Compatible; CompatibleItem < Compatible + Len;\r
-      CompatibleItem += 1 + AsciiStrLen (CompatibleItem)) {\r
-\r
-      if (AsciiStrCmp (CompatibleItem, "arm,pl011") == 0) {\r
-        RegProperty = fdt_getprop (DeviceTreeBase, Node, "reg", &Len);\r
-        if (Len != 16) {\r
-          return 0;\r
-        }\r
-        UartBase = (UINTN)fdt64_to_cpu (ReadUnaligned64 (RegProperty));\r
-\r
-        BaudRate = (UINTN)FixedPcdGet64 (PcdUartDefaultBaudRate);\r
-        ReceiveFifoDepth = 0; // Use the default value for Fifo depth\r
-        Parity = (EFI_PARITY_TYPE)FixedPcdGet8 (PcdUartDefaultParity);\r
-        DataBits = FixedPcdGet8 (PcdUartDefaultDataBits);\r
-        StopBits = (EFI_STOP_BITS_TYPE) FixedPcdGet8 (PcdUartDefaultStopBits);\r
-\r
-        Status = PL011UartInitializePort (\r
-                   UartBase,\r
-                   &BaudRate, &ReceiveFifoDepth, &Parity, &DataBits, &StopBits);\r
-        if (!EFI_ERROR (Status)) {\r
-          return UartBase;\r
-        }\r
-      }\r
-    }\r
-  }\r
-  return 0;\r
-}\r
-\r
-/**\r
-  Write data to serial device.\r
-\r
-  @param  Buffer           Point of data buffer which need to be written.\r
-  @param  NumberOfBytes    Number of output bytes which are cached in Buffer.\r
-\r
-  @retval 0                Write data failed.\r
-  @retval !0               Actual number of bytes written to serial device.\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-SerialPortWrite (\r
-  IN UINT8     *Buffer,\r
-  IN UINTN     NumberOfBytes\r
-  )\r
-{\r
-  UINT64 SerialRegisterBase;\r
-\r
-  SerialRegisterBase = SerialPortGetBaseAddress ();\r
-  if (SerialRegisterBase != 0) {\r
-    return PL011UartWrite ((UINTN)SerialRegisterBase, Buffer, NumberOfBytes);\r
-  }\r
-  return 0;\r
-}\r
-\r
-/**\r
-  Read data from serial device and save the data in buffer.\r
-\r
-  @param  Buffer           Point of data buffer which need to be written.\r
-  @param  NumberOfBytes    Size of Buffer[].\r
-\r
-  @retval 0                Read data failed.\r
-  @retval !0               Actual number of bytes read from serial device.\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-SerialPortRead (\r
-  OUT UINT8     *Buffer,\r
-  IN  UINTN     NumberOfBytes\r
-)\r
-{\r
-  return 0;\r
-}\r
-\r
-/**\r
-  Check to see if any data is available to be read from the debug device.\r
-\r
-  @retval TRUE       At least one byte of data is available to be read\r
-  @retval FALSE      No data is available to be read\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-SerialPortPoll (\r
-  VOID\r
-  )\r
-{\r
-  return FALSE;\r
-}\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf b/ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf
deleted file mode 100644 (file)
index d62f87b..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#/** @file\r
-#\r
-#  Component description file for EarlyFdtPL011SerialPortLib module\r
-#\r
-#  Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#**/\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = EarlyFdtPL011SerialPortLib\r
-  FILE_GUID                      = 0983616A-49BC-4732-B531-4AF98D2056F0\r
-  MODULE_TYPE                    = BASE\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = SerialPortLib|SEC PEI_CORE PEIM\r
-\r
-[Sources.common]\r
-  EarlyFdtPL011SerialPortLib.c\r
-\r
-[LibraryClasses]\r
-  PL011UartLib\r
-  PcdLib\r
-  FdtLib\r
-\r
-[Packages]\r
-  MdePkg/MdePkg.dec\r
-  EmbeddedPkg/EmbeddedPkg.dec\r
-  ArmPlatformPkg/ArmPlatformPkg.dec\r
-  ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationPkg.dec\r
-\r
-[FixedPcd]\r
-  gArmVirtualizationTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress\r
-\r
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate\r
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits\r
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity\r
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/FdtPL011SerialPortLib.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/FdtPL011SerialPortLib.c
deleted file mode 100644 (file)
index aced666..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-/** @file\r
-  Serial I/O Port library functions with base address discovered from FDT\r
-\r
-  Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>\r
-  Copyright (c) 2012 - 2013, ARM Ltd. All rights reserved.<BR>\r
-  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>\r
-  Copyright (c) 2014, Red Hat, Inc.<BR>\r
-\r
-  This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include <Base.h>\r
-\r
-#include <Library/PcdLib.h>\r
-#include <Library/SerialPortLib.h>\r
-#include <Pi/PiBootMode.h>\r
-#include <Uefi/UefiBaseType.h>\r
-#include <Uefi/UefiMultiPhase.h>\r
-#include <Pi/PiHob.h>\r
-#include <Library/HobLib.h>\r
-#include <Guid/EarlyPL011BaseAddress.h>\r
-\r
-#include <Drivers/PL011Uart.h>\r
-\r
-STATIC UINTN mSerialBaseAddress;\r
-\r
-RETURN_STATUS\r
-EFIAPI\r
-SerialPortInitialize (\r
-  VOID\r
-  )\r
-{\r
-  return RETURN_SUCCESS;\r
-}\r
-\r
-/**\r
-\r
-  Program hardware of Serial port\r
-\r
-  @return    RETURN_NOT_FOUND if no PL011 base address could be found\r
-             Otherwise, result of PL011UartInitializePort () is returned\r
-\r
-**/\r
-RETURN_STATUS\r
-EFIAPI\r
-FdtPL011SerialPortLibInitialize (\r
-  VOID\r
-  )\r
-{\r
-  VOID                *Hob;\r
-  CONST UINT64        *UartBase;\r
-  UINT64              BaudRate;\r
-  UINT32              ReceiveFifoDepth;\r
-  EFI_PARITY_TYPE     Parity;\r
-  UINT8               DataBits;\r
-  EFI_STOP_BITS_TYPE  StopBits;\r
-\r
-  Hob = GetFirstGuidHob (&gEarlyPL011BaseAddressGuid);\r
-  if (Hob == NULL || GET_GUID_HOB_DATA_SIZE (Hob) != sizeof *UartBase) {\r
-    return RETURN_NOT_FOUND;\r
-  }\r
-  UartBase = GET_GUID_HOB_DATA (Hob);\r
-\r
-  mSerialBaseAddress = (UINTN)*UartBase;\r
-  if (mSerialBaseAddress == 0) {\r
-    return RETURN_NOT_FOUND;\r
-  }\r
-\r
-  BaudRate = (UINTN)PcdGet64 (PcdUartDefaultBaudRate);\r
-  ReceiveFifoDepth = 0; // Use the default value for Fifo depth\r
-  Parity = (EFI_PARITY_TYPE)PcdGet8 (PcdUartDefaultParity);\r
-  DataBits = PcdGet8 (PcdUartDefaultDataBits);\r
-  StopBits = (EFI_STOP_BITS_TYPE) PcdGet8 (PcdUartDefaultStopBits);\r
-\r
-  return PL011UartInitializePort (\r
-           mSerialBaseAddress, &BaudRate, &ReceiveFifoDepth,\r
-           &Parity, &DataBits, &StopBits);\r
-}\r
-\r
-/**\r
-  Write data to serial device.\r
-\r
-  @param  Buffer           Point of data buffer which need to be written.\r
-  @param  NumberOfBytes    Number of output bytes which are cached in Buffer.\r
-\r
-  @retval 0                Write data failed.\r
-  @retval !0               Actual number of bytes written to serial device.\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-SerialPortWrite (\r
-  IN UINT8     *Buffer,\r
-  IN UINTN     NumberOfBytes\r
-  )\r
-{\r
-  if (mSerialBaseAddress != 0) {\r
-    return PL011UartWrite (mSerialBaseAddress, Buffer, NumberOfBytes);\r
-  }\r
-  return 0;\r
-}\r
-\r
-/**\r
-  Read data from serial device and save the data in buffer.\r
-\r
-  @param  Buffer           Point of data buffer which need to be written.\r
-  @param  NumberOfBytes    Number of output bytes which are cached in Buffer.\r
-\r
-  @retval 0                Read data failed.\r
-  @retval !0               Actual number of bytes read from serial device.\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-SerialPortRead (\r
-  OUT UINT8     *Buffer,\r
-  IN  UINTN     NumberOfBytes\r
-)\r
-{\r
-  if (mSerialBaseAddress != 0) {\r
-    return PL011UartRead (mSerialBaseAddress, Buffer, NumberOfBytes);\r
-  }\r
-  return 0;\r
-}\r
-\r
-/**\r
-  Check to see if any data is available to be read from the debug device.\r
-\r
-  @retval TRUE       At least one byte of data is available to be read\r
-  @retval FALSE      No data is available to be read\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-SerialPortPoll (\r
-  VOID\r
-  )\r
-{\r
-  if (mSerialBaseAddress != 0) {\r
-    return PL011UartPoll (mSerialBaseAddress);\r
-  }\r
-  return FALSE;\r
-}\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/FdtPL011SerialPortLib.inf b/ArmPlatformPkg/ArmVirtualizationPkg/Library/FdtPL011SerialPortLib/FdtPL011SerialPortLib.inf
deleted file mode 100644 (file)
index 9145afa..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#/** @file\r
-#\r
-#  Component description file for PL011SerialPortLib module\r
-#\r
-#  Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#**/\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = FdtPL011SerialPortLib\r
-  FILE_GUID                      = CB768406-7DE6-49B6-BC2C-F324E110DE5A\r
-  MODULE_TYPE                    = BASE\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = SerialPortLib|DXE_CORE DXE_DRIVER UEFI_DRIVER DXE_RUNTIME_DRIVER UEFI_APPLICATION\r
-  CONSTRUCTOR                    = FdtPL011SerialPortLibInitialize\r
-\r
-[Sources.common]\r
-  FdtPL011SerialPortLib.c\r
-\r
-[LibraryClasses]\r
-  PL011UartLib\r
-  HobLib\r
-\r
-[Packages]\r
-  EmbeddedPkg/EmbeddedPkg.dec\r
-  MdePkg/MdePkg.dec\r
-  MdeModulePkg/MdeModulePkg.dec\r
-  ArmPlatformPkg/ArmPlatformPkg.dec\r
-  ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationPkg.dec\r
-  ArmPkg/ArmPkg.dec\r
-\r
-[FixedPcd]\r
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate\r
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits\r
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity\r
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits\r
-\r
-[Guids]\r
-  gEarlyPL011BaseAddressGuid\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c
deleted file mode 100644 (file)
index 7f34607..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/** @file\r
-\r
- Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>\r
-\r
- This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution.  The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
- **/\r
-\r
-#include <ArmPlatform.h>\r
-#include <Library/NorFlashPlatformLib.h>\r
-\r
-EFI_STATUS\r
-NorFlashPlatformInitialization (\r
-  VOID\r
-  )\r
-{\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-NOR_FLASH_DESCRIPTION mNorFlashDevices[] = {\r
-  {\r
-    QEMU_NOR0_BASE,\r
-    QEMU_NOR0_BASE,\r
-    QEMU_NOR0_SIZE,\r
-    QEMU_NOR_BLOCK_SIZE,\r
-    {0xF9B94AE2, 0x8BA6, 0x409B, {0x9D, 0x56, 0xB9, 0xB4, 0x17, 0xF5, 0x3C, 0xB3}}\r
-  }, {\r
-    QEMU_NOR1_BASE,\r
-    QEMU_NOR1_BASE,\r
-    QEMU_NOR1_SIZE,\r
-    QEMU_NOR_BLOCK_SIZE,\r
-    {0x8047DB4B, 0x7E9C, 0x4C0C, {0x8E, 0xBC, 0xDF, 0xBB, 0xAA, 0xCA, 0xCE, 0x8F}}\r
-  }\r
-};\r
-\r
-EFI_STATUS\r
-NorFlashPlatformGetDevices (\r
-  OUT NOR_FLASH_DESCRIPTION   **NorFlashDescriptions,\r
-  OUT UINT32                  *Count\r
-  )\r
-{\r
-  *NorFlashDescriptions = mNorFlashDevices;\r
-  *Count = sizeof (mNorFlashDevices) / sizeof (mNorFlashDevices[0]);\r
-  return EFI_SUCCESS;\r
-}\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf b/ArmPlatformPkg/ArmVirtualizationPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf
deleted file mode 100644 (file)
index 126d167..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#/** @file\r
-#\r
-#  Component description file for NorFlashQemuLib module\r
-#\r
-#  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>\r
-#\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#**/\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = NorFlashQemuLib\r
-  FILE_GUID                      = 339B7829-4C5F-4EFC-B2DD-5050E530DECE\r
-  MODULE_TYPE                    = DXE_DRIVER\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = NorFlashPlatformLib\r
-\r
-[Sources.common]\r
-  NorFlashQemuLib.c\r
-\r
-[Packages]\r
-  MdePkg/MdePkg.dec\r
-  ArmPlatformPkg/ArmPlatformPkg.dec\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c
deleted file mode 100644 (file)
index 499cce5..0000000
+++ /dev/null
@@ -1,477 +0,0 @@
-/** @file\r
-  Implementation for PlatformBdsLib library class interfaces.\r
-\r
-  Copyright (C) 2015, Red Hat, Inc.\r
-  Copyright (c) 2014, ARM Ltd. All rights reserved.<BR>\r
-  Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.<BR>\r
-\r
-  This program and the accompanying materials are licensed and made available\r
-  under the terms and conditions of the BSD License which accompanies this\r
-  distribution. The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT\r
-  WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include <IndustryStandard/Pci22.h>\r
-#include <Library/DevicePathLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/PlatformBdsLib.h>\r
-#include <Library/QemuBootOrderLib.h>\r
-#include <Protocol/DevicePath.h>\r
-#include <Protocol/GraphicsOutput.h>\r
-#include <Protocol/PciIo.h>\r
-#include <Protocol/PciRootBridgeIo.h>\r
-\r
-#include "IntelBdsPlatform.h"\r
-\r
-#define DP_NODE_LEN(Type) { (UINT8)sizeof (Type), (UINT8)(sizeof (Type) >> 8) }\r
-\r
-\r
-#pragma pack (1)\r
-typedef struct {\r
-  VENDOR_DEVICE_PATH         SerialDxe;\r
-  UART_DEVICE_PATH           Uart;\r
-  VENDOR_DEFINED_DEVICE_PATH Vt100;\r
-  EFI_DEVICE_PATH_PROTOCOL   End;\r
-} PLATFORM_SERIAL_CONSOLE;\r
-#pragma pack ()\r
-\r
-#define SERIAL_DXE_FILE_GUID { \\r
-          0xD3987D4B, 0x971A, 0x435F, \\r
-          { 0x8C, 0xAF, 0x49, 0x67, 0xEB, 0x62, 0x72, 0x41 } \\r
-          }\r
-\r
-STATIC PLATFORM_SERIAL_CONSOLE mSerialConsole = {\r
-  //\r
-  // VENDOR_DEVICE_PATH SerialDxe\r
-  //\r
-  {\r
-    { HARDWARE_DEVICE_PATH, HW_VENDOR_DP, DP_NODE_LEN (VENDOR_DEVICE_PATH) },\r
-    SERIAL_DXE_FILE_GUID\r
-  },\r
-\r
-  //\r
-  // UART_DEVICE_PATH Uart\r
-  //\r
-  {\r
-    { MESSAGING_DEVICE_PATH, MSG_UART_DP, DP_NODE_LEN (UART_DEVICE_PATH) },\r
-    0,                                      // Reserved\r
-    FixedPcdGet64 (PcdUartDefaultBaudRate), // BaudRate\r
-    FixedPcdGet8 (PcdUartDefaultDataBits),  // DataBits\r
-    FixedPcdGet8 (PcdUartDefaultParity),    // Parity\r
-    FixedPcdGet8 (PcdUartDefaultStopBits)   // StopBits\r
-  },\r
-\r
-  //\r
-  // VENDOR_DEFINED_DEVICE_PATH Vt100\r
-  //\r
-  {\r
-    {\r
-      MESSAGING_DEVICE_PATH, MSG_VENDOR_DP,\r
-      DP_NODE_LEN (VENDOR_DEFINED_DEVICE_PATH)\r
-    },\r
-    EFI_VT_100_GUID\r
-  },\r
-\r
-  //\r
-  // EFI_DEVICE_PATH_PROTOCOL End\r
-  //\r
-  {\r
-    END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE,\r
-    DP_NODE_LEN (EFI_DEVICE_PATH_PROTOCOL)\r
-  }\r
-};\r
-\r
-\r
-#pragma pack (1)\r
-typedef struct {\r
-  USB_CLASS_DEVICE_PATH    Keyboard;\r
-  EFI_DEVICE_PATH_PROTOCOL End;\r
-} PLATFORM_USB_KEYBOARD;\r
-#pragma pack ()\r
-\r
-STATIC PLATFORM_USB_KEYBOARD mUsbKeyboard = {\r
-  //\r
-  // USB_CLASS_DEVICE_PATH Keyboard\r
-  //\r
-  {\r
-    {\r
-      MESSAGING_DEVICE_PATH, MSG_USB_CLASS_DP,\r
-      DP_NODE_LEN (USB_CLASS_DEVICE_PATH)\r
-    },\r
-    0xFFFF, // VendorId: any\r
-    0xFFFF, // ProductId: any\r
-    3,      // DeviceClass: HID\r
-    1,      // DeviceSubClass: boot\r
-    1       // DeviceProtocol: keyboard\r
-  },\r
-\r
-  //\r
-  // EFI_DEVICE_PATH_PROTOCOL End\r
-  //\r
-  {\r
-    END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE,\r
-    DP_NODE_LEN (EFI_DEVICE_PATH_PROTOCOL)\r
-  }\r
-};\r
-\r
-\r
-//\r
-// BDS Platform Functions\r
-//\r
-/**\r
-  Platform Bds init. Include the platform firmware vendor, revision\r
-  and so crc check.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-PlatformBdsInit (\r
-  VOID\r
-  )\r
-{\r
-}\r
-\r
-\r
-/**\r
-  Check if the handle satisfies a particular condition.\r
-\r
-  @param[in] Handle      The handle to check.\r
-  @param[in] ReportText  A caller-allocated string passed in for reporting\r
-                         purposes. It must never be NULL.\r
-\r
-  @retval TRUE   The condition is satisfied.\r
-  @retval FALSE  Otherwise. This includes the case when the condition could not\r
-                 be fully evaluated due to an error.\r
-**/\r
-typedef\r
-BOOLEAN\r
-(EFIAPI *FILTER_FUNCTION) (\r
-  IN EFI_HANDLE   Handle,\r
-  IN CONST CHAR16 *ReportText\r
-  );\r
-\r
-\r
-/**\r
-  Process a handle.\r
-\r
-  @param[in] Handle      The handle to process.\r
-  @param[in] ReportText  A caller-allocated string passed in for reporting\r
-                         purposes. It must never be NULL.\r
-**/\r
-typedef\r
-VOID\r
-(EFIAPI *CALLBACK_FUNCTION)  (\r
-  IN EFI_HANDLE   Handle,\r
-  IN CONST CHAR16 *ReportText\r
-  );\r
-\r
-/**\r
-  Locate all handles that carry the specified protocol, filter them with a\r
-  callback function, and pass each handle that passes the filter to another\r
-  callback.\r
-\r
-  @param[in] ProtocolGuid  The protocol to look for.\r
-\r
-  @param[in] Filter        The filter function to pass each handle to. If this\r
-                           parameter is NULL, then all handles are processed.\r
-\r
-  @param[in] Process       The callback function to pass each handle to that\r
-                           clears the filter.\r
-**/\r
-STATIC\r
-VOID\r
-FilterAndProcess (\r
-  IN EFI_GUID          *ProtocolGuid,\r
-  IN FILTER_FUNCTION   Filter         OPTIONAL,\r
-  IN CALLBACK_FUNCTION Process\r
-  )\r
-{\r
-  EFI_STATUS Status;\r
-  EFI_HANDLE *Handles;\r
-  UINTN      NoHandles;\r
-  UINTN      Idx;\r
-\r
-  Status = gBS->LocateHandleBuffer (ByProtocol, ProtocolGuid,\r
-                  NULL /* SearchKey */, &NoHandles, &Handles);\r
-  if (EFI_ERROR (Status)) {\r
-    //\r
-    // This is not an error, just an informative condition.\r
-    //\r
-    DEBUG ((EFI_D_VERBOSE, "%a: %g: %r\n", __FUNCTION__, ProtocolGuid,\r
-      Status));\r
-    return;\r
-  }\r
-\r
-  ASSERT (NoHandles > 0);\r
-  for (Idx = 0; Idx < NoHandles; ++Idx) {\r
-    CHAR16        *DevicePathText;\r
-    STATIC CHAR16 Fallback[] = L"<device path unavailable>";\r
-\r
-    //\r
-    // The ConvertDevicePathToText() function handles NULL input transparently.\r
-    //\r
-    DevicePathText = ConvertDevicePathToText (\r
-                       DevicePathFromHandle (Handles[Idx]),\r
-                       FALSE, // DisplayOnly\r
-                       FALSE  // AllowShortcuts\r
-                       );\r
-    if (DevicePathText == NULL) {\r
-      DevicePathText = Fallback;\r
-    }\r
-\r
-    if (Filter == NULL || Filter (Handles[Idx], DevicePathText)) {\r
-      Process (Handles[Idx], DevicePathText);\r
-    }\r
-\r
-    if (DevicePathText != Fallback) {\r
-      FreePool (DevicePathText);\r
-    }\r
-  }\r
-  gBS->FreePool (Handles);\r
-}\r
-\r
-\r
-/**\r
-  This FILTER_FUNCTION checks if a handle corresponds to a PCI display device.\r
-**/\r
-STATIC\r
-BOOLEAN\r
-EFIAPI\r
-IsPciDisplay (\r
-  IN EFI_HANDLE   Handle,\r
-  IN CONST CHAR16 *ReportText\r
-  )\r
-{\r
-  EFI_STATUS          Status;\r
-  EFI_PCI_IO_PROTOCOL *PciIo;\r
-  PCI_TYPE00          Pci;\r
-\r
-  Status = gBS->HandleProtocol (Handle, &gEfiPciIoProtocolGuid,\r
-                  (VOID**)&PciIo);\r
-  if (EFI_ERROR (Status)) {\r
-    //\r
-    // This is not an error worth reporting.\r
-    //\r
-    return FALSE;\r
-  }\r
-\r
-  Status = PciIo->Pci.Read (PciIo, EfiPciIoWidthUint32, 0 /* Offset */,\r
-                        sizeof Pci / sizeof (UINT32), &Pci);\r
-  if (EFI_ERROR (Status)) {\r
-    DEBUG ((EFI_D_ERROR, "%a: %s: %r\n", __FUNCTION__, ReportText, Status));\r
-    return FALSE;\r
-  }\r
-\r
-  return IS_PCI_DISPLAY (&Pci);\r
-}\r
-\r
-\r
-/**\r
-  This CALLBACK_FUNCTION attempts to connect a handle non-recursively, asking\r
-  the matching driver to produce all first-level child handles.\r
-**/\r
-STATIC\r
-VOID\r
-EFIAPI\r
-Connect (\r
-  IN EFI_HANDLE   Handle,\r
-  IN CONST CHAR16 *ReportText\r
-  )\r
-{\r
-  EFI_STATUS Status;\r
-\r
-  Status = gBS->ConnectController (\r
-                  Handle, // ControllerHandle\r
-                  NULL,   // DriverImageHandle\r
-                  NULL,   // RemainingDevicePath -- produce all children\r
-                  FALSE   // Recursive\r
-                  );\r
-  DEBUG ((EFI_ERROR (Status) ? EFI_D_ERROR : EFI_D_VERBOSE, "%a: %s: %r\n",\r
-    __FUNCTION__, ReportText, Status));\r
-}\r
-\r
-\r
-/**\r
-  This CALLBACK_FUNCTION retrieves the EFI_DEVICE_PATH_PROTOCOL from the\r
-  handle, and adds it to ConOut and ErrOut.\r
-**/\r
-STATIC\r
-VOID\r
-EFIAPI\r
-AddOutput (\r
-  IN EFI_HANDLE   Handle,\r
-  IN CONST CHAR16 *ReportText\r
-  )\r
-{\r
-  EFI_STATUS               Status;\r
-  EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
-\r
-  DevicePath = DevicePathFromHandle (Handle);\r
-  if (DevicePath == NULL) {\r
-    DEBUG ((EFI_D_ERROR, "%a: %s: handle %p: device path not found\n",\r
-      __FUNCTION__, ReportText, Handle));\r
-    return;\r
-  }\r
-\r
-  Status = BdsLibUpdateConsoleVariable (L"ConOut", DevicePath, NULL);\r
-  if (EFI_ERROR (Status)) {\r
-    DEBUG ((EFI_D_ERROR, "%a: %s: adding to ConOut: %r\n", __FUNCTION__,\r
-      ReportText, Status));\r
-    return;\r
-  }\r
-\r
-  Status = BdsLibUpdateConsoleVariable (L"ErrOut", DevicePath, NULL);\r
-  if (EFI_ERROR (Status)) {\r
-    DEBUG ((EFI_D_ERROR, "%a: %s: adding to ErrOut: %r\n", __FUNCTION__,\r
-      ReportText, Status));\r
-    return;\r
-  }\r
-\r
-  DEBUG ((EFI_D_VERBOSE, "%a: %s: added to ConOut and ErrOut\n", __FUNCTION__,\r
-    ReportText));\r
-}\r
-\r
-\r
-/**\r
-  The function will execute with as the platform policy, current policy\r
-  is driven by boot mode. IBV/OEM can customize this code for their specific\r
-  policy action.\r
-\r
-  @param  DriverOptionList        The header of the driver option link list\r
-  @param  BootOptionList          The header of the boot option link list\r
-  @param  ProcessCapsules         A pointer to ProcessCapsules()\r
-  @param  BaseMemoryTest          A pointer to BaseMemoryTest()\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-PlatformBdsPolicyBehavior (\r
-  IN LIST_ENTRY                      *DriverOptionList,\r
-  IN LIST_ENTRY                      *BootOptionList,\r
-  IN PROCESS_CAPSULES                ProcessCapsules,\r
-  IN BASEM_MEMORY_TEST               BaseMemoryTest\r
-  )\r
-{\r
-  //\r
-  // Locate the PCI root bridges and make the PCI bus driver connect each,\r
-  // non-recursively. This will produce a number of child handles with PciIo on\r
-  // them.\r
-  //\r
-  FilterAndProcess (&gEfiPciRootBridgeIoProtocolGuid, NULL, Connect);\r
-\r
-  //\r
-  // Find all display class PCI devices (using the handles from the previous\r
-  // step), and connect them non-recursively. This should produce a number of\r
-  // child handles with GOPs on them.\r
-  //\r
-  FilterAndProcess (&gEfiPciIoProtocolGuid, IsPciDisplay, Connect);\r
-\r
-  //\r
-  // Now add the device path of all handles with GOP on them to ConOut and\r
-  // ErrOut.\r
-  //\r
-  FilterAndProcess (&gEfiGraphicsOutputProtocolGuid, NULL, AddOutput);\r
-\r
-  //\r
-  // Add the hardcoded short-form USB keyboard device path to ConIn.\r
-  //\r
-  BdsLibUpdateConsoleVariable (L"ConIn",\r
-    (EFI_DEVICE_PATH_PROTOCOL *)&mUsbKeyboard, NULL);\r
-\r
-  //\r
-  // Add the hardcoded serial console device path to ConIn, ConOut, ErrOut.\r
-  //\r
-  BdsLibUpdateConsoleVariable (L"ConIn",\r
-    (EFI_DEVICE_PATH_PROTOCOL *)&mSerialConsole, NULL);\r
-  BdsLibUpdateConsoleVariable (L"ConOut",\r
-    (EFI_DEVICE_PATH_PROTOCOL *)&mSerialConsole, NULL);\r
-  BdsLibUpdateConsoleVariable (L"ErrOut",\r
-    (EFI_DEVICE_PATH_PROTOCOL *)&mSerialConsole, NULL);\r
-\r
-  //\r
-  // Connect the consoles based on the above variables.\r
-  //\r
-  BdsLibConnectAllDefaultConsoles ();\r
-\r
-  //\r
-  // Show the splash screen.\r
-  //\r
-  EnableQuietBoot (PcdGetPtr (PcdLogoFile));\r
-\r
-  //\r
-  // Connect the rest of the devices.\r
-  //\r
-  BdsLibConnectAll ();\r
-\r
-  //\r
-  // Process QEMU's -kernel command line option. Note that the kernel booted\r
-  // this way should receive ACPI tables, which is why we connect all devices\r
-  // first (see above) -- PCI enumeration blocks ACPI table installation, if\r
-  // there is a PCI host.\r
-  //\r
-  TryRunningQemuKernel ();\r
-\r
-  BdsLibEnumerateAllBootOption (BootOptionList);\r
-  SetBootOrderFromQemu (BootOptionList);\r
-  //\r
-  // The BootOrder variable may have changed, reload the in-memory list with\r
-  // it.\r
-  //\r
-  BdsLibBuildOptionFromVar (BootOptionList, L"BootOrder");\r
-\r
-  PlatformBdsEnterFrontPage (GetFrontPageTimeoutFromQemu(), TRUE);\r
-}\r
-\r
-/**\r
-  Hook point after a boot attempt succeeds. We don't expect a boot option to\r
-  return, so the UEFI 2.0 specification defines that you will default to an\r
-  interactive mode and stop processing the BootOrder list in this case. This\r
-  is also a platform implementation and can be customized by IBV/OEM.\r
-\r
-  @param  Option                  Pointer to Boot Option that succeeded to boot.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-PlatformBdsBootSuccess (\r
-  IN  BDS_COMMON_OPTION *Option\r
-  )\r
-{\r
-}\r
-\r
-/**\r
-  Hook point after a boot attempt fails.\r
-\r
-  @param  Option                  Pointer to Boot Option that failed to boot.\r
-  @param  Status                  Status returned from failed boot.\r
-  @param  ExitData                Exit data returned from failed boot.\r
-  @param  ExitDataSize            Exit data size returned from failed boot.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-PlatformBdsBootFail (\r
-  IN  BDS_COMMON_OPTION  *Option,\r
-  IN  EFI_STATUS         Status,\r
-  IN  CHAR16             *ExitData,\r
-  IN  UINTN              ExitDataSize\r
-  )\r
-{\r
-}\r
-\r
-/**\r
-  This function locks platform flash that is not allowed to be updated during normal boot path.\r
-  The flash layout is platform specific.\r
-**/\r
-VOID\r
-EFIAPI\r
-PlatformBdsLockNonUpdatableFlash (\r
-  VOID\r
-  )\r
-{\r
-  return;\r
-}\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.h b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.h
deleted file mode 100644 (file)
index 3d29b0d..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/** @file\r
-  Head file for BDS Platform specific code\r
-\r
-  Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.<BR>\r
-\r
-  This program and the accompanying materials are licensed and made available\r
-  under the terms and conditions of the BSD License which accompanies this\r
-  distribution. The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT\r
-  WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#ifndef _INTEL_BDS_PLATFORM_H_\r
-#define _INTEL_BDS_PLATFORM_H_\r
-\r
-#include <Library/BaseLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/DevicePathLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/UefiRuntimeServicesTableLib.h>\r
-\r
-VOID\r
-PlatformBdsEnterFrontPage (\r
-  IN UINT16                 TimeoutDefault,\r
-  IN BOOLEAN                ConnectAllHappened\r
-  );\r
-\r
-/**\r
-  Download the kernel, the initial ramdisk, and the kernel command line from\r
-  QEMU's fw_cfg. Construct a minimal SimpleFileSystem that contains the two\r
-  image files, and load and start the kernel from it.\r
-\r
-  The kernel will be instructed via its command line to load the initrd from\r
-  the same Simple FileSystem.\r
-\r
-  @retval EFI_NOT_FOUND         Kernel image was not found.\r
-  @retval EFI_OUT_OF_RESOURCES  Memory allocation failed.\r
-  @retval EFI_PROTOCOL_ERROR    Unterminated kernel command line.\r
-\r
-  @return                       Error codes from any of the underlying\r
-                                functions. On success, the function doesn't\r
-                                return.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-TryRunningQemuKernel (\r
-  VOID\r
-  );\r
-\r
-#endif // _INTEL_BDS_PLATFORM_H\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf
deleted file mode 100644 (file)
index d8f8926..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-## @file\r
-#  Implementation for PlatformBdsLib library class interfaces.\r
-#\r
-#  Copyright (C) 2015, Red Hat, Inc.\r
-#  Copyright (c) 2014, ARM Ltd. All rights reserved.<BR>\r
-#  Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
-#\r
-#  This program and the accompanying materials are licensed and made available\r
-#  under the terms and conditions of the BSD License which accompanies this\r
-#  distribution. The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR\r
-#  IMPLIED.\r
-#\r
-##\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = PlatformIntelBdsLib\r
-  FILE_GUID                      = 46DF84EB-F603-4D39-99D8-E1E86B50BCC2\r
-  MODULE_TYPE                    = DXE_DRIVER\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = PlatformBdsLib|DXE_DRIVER\r
-\r
-#\r
-# The following information is for reference only and not required by the build tools.\r
-#\r
-#  VALID_ARCHITECTURES           = ARM AARCH64\r
-#\r
-\r
-[Sources]\r
-  IntelBdsPlatform.c\r
-  QemuKernel.c\r
-\r
-[Packages]\r
-  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec\r
-  MdeModulePkg/MdeModulePkg.dec\r
-  MdePkg/MdePkg.dec\r
-  OvmfPkg/OvmfPkg.dec\r
-\r
-[LibraryClasses]\r
-  BaseLib\r
-  BaseMemoryLib\r
-  DebugLib\r
-  DevicePathLib\r
-  GenericBdsLib\r
-  MemoryAllocationLib\r
-  PcdLib\r
-  PrintLib\r
-  QemuBootOrderLib\r
-  QemuFwCfgLib\r
-  UefiBootServicesTableLib\r
-  UefiRuntimeServicesTableLib\r
-\r
-[FixedPcd]\r
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile\r
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate\r
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits\r
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity\r
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits\r
-\r
-[Guids]\r
-  gEfiFileInfoGuid\r
-  gEfiFileSystemInfoGuid\r
-  gEfiFileSystemVolumeLabelInfoIdGuid\r
-\r
-[Protocols]\r
-  gEfiDevicePathProtocolGuid\r
-  gEfiGraphicsOutputProtocolGuid\r
-  gEfiLoadedImageProtocolGuid\r
-  gEfiPciRootBridgeIoProtocolGuid\r
-  gEfiSimpleFileSystemProtocolGuid\r
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/QemuKernel.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/QemuKernel.c
deleted file mode 100644 (file)
index 21545f0..0000000
+++ /dev/null
@@ -1,1108 +0,0 @@
-/** @file\r
-  Try to load an EFI-stubbed ARM Linux kernel from QEMU's fw_cfg.\r
-\r
-  This implementation differs from OvmfPkg/Library/LoadLinuxLib. An EFI\r
-  stub in the subject kernel is a hard requirement here.\r
-\r
-  Copyright (C) 2014, Red Hat, Inc.\r
-\r
-  This program and the accompanying materials are licensed and made available\r
-  under the terms and conditions of the BSD License which accompanies this\r
-  distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT\r
-  WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-**/\r
-\r
-#include <Guid/FileInfo.h>\r
-#include <Guid/FileSystemInfo.h>\r
-#include <Guid/FileSystemVolumeLabelInfo.h>\r
-#include <Library/PrintLib.h>\r
-#include <Library/QemuFwCfgLib.h>\r
-#include <Protocol/DevicePath.h>\r
-#include <Protocol/LoadedImage.h>\r
-#include <Protocol/SimpleFileSystem.h>\r
-\r
-#include "IntelBdsPlatform.h"\r
-\r
-//\r
-// Static data that hosts the fw_cfg blobs and serves file requests.\r
-//\r
-typedef enum {\r
-  KernelBlobTypeKernel,\r
-  KernelBlobTypeInitrd,\r
-  KernelBlobTypeCommandLine,\r
-  KernelBlobTypeMax\r
-} KERNEL_BLOB_TYPE;\r
-\r
-typedef struct {\r
-  FIRMWARE_CONFIG_ITEM CONST SizeKey;\r
-  FIRMWARE_CONFIG_ITEM CONST DataKey;\r
-  CONST CHAR16 *       CONST Name;\r
-  UINT32                     Size;\r
-  UINT8                      *Data;\r
-} KERNEL_BLOB;\r
-\r
-STATIC KERNEL_BLOB mKernelBlob[KernelBlobTypeMax] = {\r
-  { QemuFwCfgItemKernelSize,      QemuFwCfgItemKernelData,      L"kernel"  },\r
-  { QemuFwCfgItemInitrdSize,      QemuFwCfgItemInitrdData,      L"initrd"  },\r
-  { QemuFwCfgItemCommandLineSize, QemuFwCfgItemCommandLineData, L"cmdline" }\r
-};\r
-\r
-STATIC UINT64 mTotalBlobBytes;\r
-\r
-//\r
-// Device path for the handle that incorporates our "EFI stub filesystem". The\r
-// GUID is arbitrary and need not be standardized or advertized.\r
-//\r
-#pragma pack(1)\r
-typedef struct {\r
-  VENDOR_DEVICE_PATH       VenHwNode;\r
-  EFI_DEVICE_PATH_PROTOCOL EndNode;\r
-} SINGLE_VENHW_NODE_DEVPATH;\r
-#pragma pack()\r
-\r
-STATIC CONST SINGLE_VENHW_NODE_DEVPATH mFileSystemDevicePath = {\r
-  {\r
-    { HARDWARE_DEVICE_PATH, HW_VENDOR_DP, { sizeof (VENDOR_DEVICE_PATH) } },\r
-    {\r
-      0xb0fae7e7, 0x6b07, 0x49d0,\r
-      { 0x9e, 0x5b, 0x3b, 0xde, 0xc8, 0x3b, 0x03, 0x9d }\r
-    }\r
-  },\r
-\r
-  {\r
-    END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE,\r
-    { sizeof (EFI_DEVICE_PATH_PROTOCOL) }\r
-  }\r
-};\r
-\r
-//\r
-// The "file in the EFI stub filesystem" abstraction.\r
-//\r
-STATIC EFI_TIME mInitTime;\r
-\r
-#define STUB_FILE_SIG SIGNATURE_64 ('S', 'T', 'U', 'B', 'F', 'I', 'L', 'E')\r
-\r
-typedef struct {\r
-  UINT64            Signature; // Carries STUB_FILE_SIG.\r
-\r
-  KERNEL_BLOB_TYPE  BlobType;  // Index into mKernelBlob. KernelBlobTypeMax\r
-                               // denotes the root directory of the filesystem.\r
-\r
-  UINT64            Position;  // Byte position for regular files;\r
-                               // next directory entry to return for the root\r
-                               // directory.\r
-\r
-  EFI_FILE_PROTOCOL File;      // Standard protocol interface.\r
-} STUB_FILE;\r
-\r
-#define STUB_FILE_FROM_FILE(FilePointer) \\r
-        CR (FilePointer, STUB_FILE, File, STUB_FILE_SIG)\r
-\r
-//\r
-// Tentative definition of the file protocol template. The initializer\r
-// (external definition) will be provided later.\r
-//\r
-STATIC CONST EFI_FILE_PROTOCOL mEfiFileProtocolTemplate;\r
-\r
-\r
-//\r
-// Protocol member functions for File.\r
-//\r
-\r
-/**\r
-  Opens a new file relative to the source file's location.\r
-\r
-  @param[in]  This        A pointer to the EFI_FILE_PROTOCOL instance that is\r
-                          the file handle to the source location. This would\r
-                          typically be an open handle to a directory.\r
-\r
-  @param[out] NewHandle   A pointer to the location to return the opened handle\r
-                          for the new file.\r
-\r
-  @param[in]  FileName    The Null-terminated string of the name of the file to\r
-                          be opened. The file name may contain the following\r
-                          path modifiers: "\", ".", and "..".\r
-\r
-  @param[in]  OpenMode    The mode to open the file. The only valid\r
-                          combinations that the file may be opened with are:\r
-                          Read, Read/Write, or Create/Read/Write.\r
-\r
-  @param[in]  Attributes  Only valid for EFI_FILE_MODE_CREATE, in which case\r
-                          these are the attribute bits for the newly created\r
-                          file.\r
-\r
-  @retval EFI_SUCCESS           The file was opened.\r
-  @retval EFI_NOT_FOUND         The specified file could not be found on the\r
-                                device.\r
-  @retval EFI_NO_MEDIA          The device has no medium.\r
-  @retval EFI_MEDIA_CHANGED     The device has a different medium in it or the\r
-                                medium is no longer supported.\r
-  @retval EFI_DEVICE_ERROR      The device reported an error.\r
-  @retval EFI_VOLUME_CORRUPTED  The file system structures are corrupted.\r
-  @retval EFI_WRITE_PROTECTED   An attempt was made to create a file, or open a\r
-                                file for write when the media is\r
-                                write-protected.\r
-  @retval EFI_ACCESS_DENIED     The service denied access to the file.\r
-  @retval EFI_OUT_OF_RESOURCES  Not enough resources were available to open the\r
-                                file.\r
-  @retval EFI_VOLUME_FULL       The volume is full.\r
-**/\r
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-StubFileOpen (\r
-  IN EFI_FILE_PROTOCOL  *This,\r
-  OUT EFI_FILE_PROTOCOL **NewHandle,\r
-  IN CHAR16             *FileName,\r
-  IN UINT64             OpenMode,\r
-  IN UINT64             Attributes\r
-  )\r
-{\r
-  CONST STUB_FILE *StubFile;\r
-  UINTN           BlobType;\r
-  STUB_FILE       *NewStubFile;\r
-\r
-  //\r
-  // We're read-only.\r
-  //\r
-  switch (OpenMode) {\r
-    case EFI_FILE_MODE_READ:\r
-      break;\r
-\r
-    case EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE:\r
-    case EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE:\r
-      return EFI_WRITE_PROTECTED;\r
-\r
-    default:\r
-      return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-  //\r
-  // Only the root directory supports opening files in it.\r
-  //\r
-  StubFile = STUB_FILE_FROM_FILE (This);\r
-  if (StubFile->BlobType != KernelBlobTypeMax) {\r
-    return EFI_UNSUPPORTED;\r
-  }\r
-\r
-  //\r
-  // Locate the file.\r
-  //\r
-  for (BlobType = 0; BlobType < KernelBlobTypeMax; ++BlobType) {\r
-    if (StrCmp (FileName, mKernelBlob[BlobType].Name) == 0) {\r
-      break;\r
-    }\r
-  }\r
-  if (BlobType == KernelBlobTypeMax) {\r
-    return EFI_NOT_FOUND;\r
-  }\r
-\r
-  //\r
-  // Found it.\r
-  //\r
-  NewStubFile = AllocatePool (sizeof *NewStubFile);\r
-  if (NewStubFile == NULL) {\r
-    return EFI_OUT_OF_RESOURCES;\r
-  }\r
-\r
-  NewStubFile->Signature = STUB_FILE_SIG;\r
-  NewStubFile->BlobType  = (KERNEL_BLOB_TYPE)BlobType;\r
-  NewStubFile->Position  = 0;\r
-  CopyMem (&NewStubFile->File, &mEfiFileProtocolTemplate,\r
-    sizeof mEfiFileProtocolTemplate);\r
-  *NewHandle = &NewStubFile->File;\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
-  Closes a specified file handle.\r
-\r
-  @param[in] This  A pointer to the EFI_FILE_PROTOCOL instance that is the file\r
-                   handle to close.\r
-\r
-  @retval EFI_SUCCESS  The file was closed.\r
-**/\r
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-StubFileClose (\r
-  IN EFI_FILE_PROTOCOL *This\r
-  )\r
-{\r
-  FreePool (STUB_FILE_FROM_FILE (This));\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
-  Close and delete the file handle.\r
-\r
-  @param[in] This  A pointer to the EFI_FILE_PROTOCOL instance that is the\r
-                   handle to the file to delete.\r
-\r
-  @retval EFI_SUCCESS              The file was closed and deleted, and the\r
-                                   handle was closed.\r
-  @retval EFI_WARN_DELETE_FAILURE  The handle was closed, but the file was not\r
-                                   deleted.\r
-\r
-**/\r
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-StubFileDelete (\r
-  IN EFI_FILE_PROTOCOL *This\r
-  )\r
-{\r
-  FreePool (STUB_FILE_FROM_FILE (This));\r
-  return EFI_WARN_DELETE_FAILURE;\r
-}\r
-\r
-\r
-/**\r
-  Helper function that formats an EFI_FILE_INFO structure into the\r
-  user-allocated buffer, for any valid KERNEL_BLOB_TYPE value (including\r
-  KernelBlobTypeMax, which stands for the root directory).\r
-\r
-  The interface follows the EFI_FILE_GET_INFO -- and for directories, the\r
-  EFI_FILE_READ -- interfaces.\r
-\r
-  @param[in]     BlobType     The KERNEL_BLOB_TYPE value identifying the fw_cfg\r
-                              blob backing the STUB_FILE that information is\r
-                              being requested about. If BlobType equals\r
-                              KernelBlobTypeMax, then information will be\r
-                              provided about the root directory of the\r
-                              filesystem.\r
-\r
-  @param[in,out] BufferSize  On input, the size of Buffer. On output, the\r
-                             amount of data returned in Buffer. In both cases,\r
-                             the size is measured in bytes.\r
-\r
-  @param[out]    Buffer      A pointer to the data buffer to return. The\r
-                             buffer's type is EFI_FILE_INFO.\r
-\r
-  @retval EFI_SUCCESS           The information was returned.\r
-  @retval EFI_BUFFER_TOO_SMALL  BufferSize is too small to store the\r
-                                EFI_FILE_INFO structure. BufferSize has been\r
-                                updated with the size needed to complete the\r
-                                request.\r
-**/\r
-STATIC\r
-EFI_STATUS\r
-ConvertKernelBlobTypeToFileInfo (\r
-  IN KERNEL_BLOB_TYPE BlobType,\r
-  IN OUT UINTN        *BufferSize,\r
-  OUT VOID            *Buffer\r
-  )\r
-{\r
-  CONST CHAR16  *Name;\r
-  UINT64        FileSize;\r
-  UINT64        Attribute;\r
-\r
-  UINTN         NameSize;\r
-  UINTN         FileInfoSize;\r
-  EFI_FILE_INFO *FileInfo;\r
-  UINTN         OriginalBufferSize;\r
-\r
-  if (BlobType == KernelBlobTypeMax) {\r
-    //\r
-    // getting file info about the root directory\r
-    //\r
-    Name      = L"\\";\r
-    FileSize  = KernelBlobTypeMax;\r
-    Attribute = EFI_FILE_READ_ONLY | EFI_FILE_DIRECTORY;\r
-  } else {\r
-    CONST KERNEL_BLOB *Blob;\r
-\r
-    Blob      = &mKernelBlob[BlobType];\r
-    Name      = Blob->Name;\r
-    FileSize  = Blob->Size;\r
-    Attribute = EFI_FILE_READ_ONLY;\r
-  }\r
-\r
-  NameSize     = (StrLen(Name) + 1) * 2;\r
-  FileInfoSize = OFFSET_OF (EFI_FILE_INFO, FileName) + NameSize;\r
-  ASSERT (FileInfoSize >= sizeof *FileInfo);\r
-\r
-  OriginalBufferSize = *BufferSize;\r
-  *BufferSize        = FileInfoSize;\r
-  if (OriginalBufferSize < *BufferSize) {\r
-    return EFI_BUFFER_TOO_SMALL;\r
-  }\r
-\r
-  FileInfo               = (EFI_FILE_INFO *)Buffer;\r
-  FileInfo->Size         = FileInfoSize;\r
-  FileInfo->FileSize     = FileSize;\r
-  FileInfo->PhysicalSize = FileSize;\r
-  FileInfo->Attribute    = Attribute;\r
-\r
-  CopyMem (&FileInfo->CreateTime,       &mInitTime, sizeof mInitTime);\r
-  CopyMem (&FileInfo->LastAccessTime,   &mInitTime, sizeof mInitTime);\r
-  CopyMem (&FileInfo->ModificationTime, &mInitTime, sizeof mInitTime);\r
-  CopyMem (FileInfo->FileName,          Name,       NameSize);\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
-  Reads data from a file, or continues scanning a directory.\r
-\r
-  @param[in]     This        A pointer to the EFI_FILE_PROTOCOL instance that\r
-                             is the file handle to read data from.\r
-\r
-  @param[in,out] BufferSize  On input, the size of the Buffer. On output, the\r
-                             amount of data returned in Buffer. In both cases,\r
-                             the size is measured in bytes. If the read goes\r
-                             beyond the end of the file, the read length is\r
-                             truncated to the end of the file.\r
-\r
-                             If This is a directory, the function reads the\r
-                             directory entry at the current position and\r
-                             returns the entry (as EFI_FILE_INFO) in Buffer. If\r
-                             there are no more directory entries, the\r
-                             BufferSize is set to zero on output.\r
-\r
-  @param[out]    Buffer      The buffer into which the data is read.\r
-\r
-  @retval EFI_SUCCESS           Data was read.\r
-  @retval EFI_NO_MEDIA          The device has no medium.\r
-  @retval EFI_DEVICE_ERROR      The device reported an error.\r
-  @retval EFI_DEVICE_ERROR      An attempt was made to read from a deleted\r
-                                file.\r
-  @retval EFI_DEVICE_ERROR      On entry, the current file position is beyond\r
-                                the end of the file.\r
-  @retval EFI_VOLUME_CORRUPTED  The file system structures are corrupted.\r
-  @retval EFI_BUFFER_TOO_SMALL  The BufferSize is too small to store the\r
-                                current directory entry as a EFI_FILE_INFO\r
-                                structure. BufferSize has been updated with the\r
-                                size needed to complete the request, and the\r
-                                directory position has not been advanced.\r
-**/\r
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-StubFileRead (\r
-  IN EFI_FILE_PROTOCOL *This,\r
-  IN OUT UINTN         *BufferSize,\r
-  OUT VOID             *Buffer\r
-  )\r
-{\r
-  STUB_FILE         *StubFile;\r
-  CONST KERNEL_BLOB *Blob;\r
-  UINT64            Left;\r
-\r
-  StubFile = STUB_FILE_FROM_FILE (This);\r
-\r
-  //\r
-  // Scanning the root directory?\r
-  //\r
-  if (StubFile->BlobType == KernelBlobTypeMax) {\r
-    EFI_STATUS Status;\r
-\r
-    if (StubFile->Position == KernelBlobTypeMax) {\r
-      //\r
-      // Scanning complete.\r
-      //\r
-      *BufferSize = 0;\r
-      return EFI_SUCCESS;\r
-    }\r
-\r
-    Status = ConvertKernelBlobTypeToFileInfo (StubFile->Position, BufferSize,\r
-               Buffer);\r
-    if (EFI_ERROR (Status)) {\r
-      return Status;\r
-    }\r
-\r
-    ++StubFile->Position;\r
-    return EFI_SUCCESS;\r
-  }\r
-\r
-  //\r
-  // Reading a file.\r
-  //\r
-  Blob = &mKernelBlob[StubFile->BlobType];\r
-  if (StubFile->Position > Blob->Size) {\r
-    return EFI_DEVICE_ERROR;\r
-  }\r
-\r
-  Left = Blob->Size - StubFile->Position;\r
-  if (*BufferSize > Left) {\r
-    *BufferSize = (UINTN)Left;\r
-  }\r
-  if (Blob->Data != NULL) {\r
-    CopyMem (Buffer, Blob->Data + StubFile->Position, *BufferSize);\r
-  }\r
-  StubFile->Position += *BufferSize;\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
-  Writes data to a file.\r
-\r
-  @param[in]     This        A pointer to the EFI_FILE_PROTOCOL instance that\r
-                             is the file handle to write data to.\r
-\r
-  @param[in,out] BufferSize  On input, the size of the Buffer. On output, the\r
-                             amount of data actually written. In both cases,\r
-                             the size is measured in bytes.\r
-\r
-  @param[in]     Buffer      The buffer of data to write.\r
-\r
-  @retval EFI_SUCCESS           Data was written.\r
-  @retval EFI_UNSUPPORTED       Writes to open directory files are not\r
-                                supported.\r
-  @retval EFI_NO_MEDIA          The device has no medium.\r
-  @retval EFI_DEVICE_ERROR      The device reported an error.\r
-  @retval EFI_DEVICE_ERROR      An attempt was made to write to a deleted file.\r
-  @retval EFI_VOLUME_CORRUPTED  The file system structures are corrupted.\r
-  @retval EFI_WRITE_PROTECTED   The file or medium is write-protected.\r
-  @retval EFI_ACCESS_DENIED     The file was opened read only.\r
-  @retval EFI_VOLUME_FULL       The volume is full.\r
-**/\r
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-StubFileWrite (\r
-  IN EFI_FILE_PROTOCOL *This,\r
-  IN OUT UINTN         *BufferSize,\r
-  IN VOID              *Buffer\r
-  )\r
-{\r
-  STUB_FILE *StubFile;\r
-\r
-  StubFile = STUB_FILE_FROM_FILE (This);\r
-  return (StubFile->BlobType == KernelBlobTypeMax) ?\r
-         EFI_UNSUPPORTED :\r
-         EFI_WRITE_PROTECTED;\r
-}\r
-\r
-\r
-/**\r
-  Returns a file's current position.\r
-\r
-  @param[in]  This      A pointer to the EFI_FILE_PROTOCOL instance that is the\r
-                        file handle to get the current position on.\r
-\r
-  @param[out] Position  The address to return the file's current position\r
-                        value.\r
-\r
-  @retval EFI_SUCCESS      The position was returned.\r
-  @retval EFI_UNSUPPORTED  The request is not valid on open directories.\r
-  @retval EFI_DEVICE_ERROR An attempt was made to get the position from a\r
-                           deleted file.\r
-**/\r
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-StubFileGetPosition (\r
-  IN EFI_FILE_PROTOCOL *This,\r
-  OUT UINT64           *Position\r
-  )\r
-{\r
-  STUB_FILE *StubFile;\r
-\r
-  StubFile = STUB_FILE_FROM_FILE (This);\r
-  if (StubFile->BlobType == KernelBlobTypeMax) {\r
-    return EFI_UNSUPPORTED;\r
-  }\r
-\r
-  *Position = StubFile->Position;\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
-  Sets a file's current position.\r
-\r
-  @param[in] This      A pointer to the EFI_FILE_PROTOCOL instance that is the\r
-                       file handle to set the requested position on.\r
-\r
-  @param[in] Position  The byte position from the start of the file to set. For\r
-                       regular files, MAX_UINT64 means "seek to end". For\r
-                       directories, zero means "rewind directory scan".\r
-\r
-  @retval EFI_SUCCESS       The position was set.\r
-  @retval EFI_UNSUPPORTED   The seek request for nonzero is not valid on open\r
-                            directories.\r
-  @retval EFI_DEVICE_ERROR  An attempt was made to set the position of a\r
-                            deleted file.\r
-**/\r
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-StubFileSetPosition (\r
-  IN EFI_FILE_PROTOCOL *This,\r
-  IN UINT64            Position\r
-  )\r
-{\r
-  STUB_FILE   *StubFile;\r
-  KERNEL_BLOB *Blob;\r
-\r
-  StubFile = STUB_FILE_FROM_FILE (This);\r
-\r
-  if (StubFile->BlobType == KernelBlobTypeMax) {\r
-    if (Position == 0) {\r
-      //\r
-      // rewinding a directory scan is allowed\r
-      //\r
-      StubFile->Position = 0;\r
-      return EFI_SUCCESS;\r
-    }\r
-    return EFI_UNSUPPORTED;\r
-  }\r
-\r
-  //\r
-  // regular file seek\r
-  //\r
-  Blob = &mKernelBlob[StubFile->BlobType];\r
-  if (Position == MAX_UINT64) {\r
-    //\r
-    // seek to end\r
-    //\r
-    StubFile->Position = Blob->Size;\r
-  } else {\r
-    //\r
-    // absolute seek from beginning -- seeking past the end is allowed\r
-    //\r
-    StubFile->Position = Position;\r
-  }\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
-  Returns information about a file.\r
-\r
-  @param[in]     This             A pointer to the EFI_FILE_PROTOCOL instance\r
-                                  that is the file handle the requested\r
-                                  information is for.\r
-\r
-  @param[in]     InformationType  The type identifier GUID for the information\r
-                                  being requested. The following information\r
-                                  types are supported, storing the\r
-                                  corresponding structures in Buffer:\r
-\r
-                                  - gEfiFileInfoGuid: EFI_FILE_INFO\r
-\r
-                                  - gEfiFileSystemInfoGuid:\r
-                                    EFI_FILE_SYSTEM_INFO\r
-\r
-                                  - gEfiFileSystemVolumeLabelInfoIdGuid:\r
-                                    EFI_FILE_SYSTEM_VOLUME_LABEL\r
-\r
-  @param[in,out] BufferSize       On input, the size of Buffer. On output, the\r
-                                  amount of data returned in Buffer. In both\r
-                                  cases, the size is measured in bytes.\r
-\r
-  @param[out]    Buffer           A pointer to the data buffer to return. The\r
-                                  buffer's type is indicated by\r
-                                  InformationType.\r
-\r
-  @retval EFI_SUCCESS           The information was returned.\r
-  @retval EFI_UNSUPPORTED       The InformationType is not known.\r
-  @retval EFI_NO_MEDIA          The device has no medium.\r
-  @retval EFI_DEVICE_ERROR      The device reported an error.\r
-  @retval EFI_VOLUME_CORRUPTED  The file system structures are corrupted.\r
-  @retval EFI_BUFFER_TOO_SMALL  The BufferSize is too small to store the\r
-                                information structure requested by\r
-                                InformationType. BufferSize has been updated\r
-                                with the size needed to complete the request.\r
-**/\r
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-StubFileGetInfo (\r
-  IN EFI_FILE_PROTOCOL *This,\r
-  IN EFI_GUID          *InformationType,\r
-  IN OUT UINTN         *BufferSize,\r
-  OUT VOID             *Buffer\r
-  )\r
-{\r
-  CONST STUB_FILE *StubFile;\r
-  UINTN           OriginalBufferSize;\r
-\r
-  StubFile = STUB_FILE_FROM_FILE (This);\r
-\r
-  if (CompareGuid (InformationType, &gEfiFileInfoGuid)) {\r
-    return ConvertKernelBlobTypeToFileInfo (StubFile->BlobType, BufferSize,\r
-             Buffer);\r
-  }\r
-\r
-  OriginalBufferSize = *BufferSize;\r
-\r
-  if (CompareGuid (InformationType, &gEfiFileSystemInfoGuid)) {\r
-    EFI_FILE_SYSTEM_INFO *FileSystemInfo;\r
-\r
-    *BufferSize = sizeof *FileSystemInfo;\r
-    if (OriginalBufferSize < *BufferSize) {\r
-      return EFI_BUFFER_TOO_SMALL;\r
-    }\r
-\r
-    FileSystemInfo                 = (EFI_FILE_SYSTEM_INFO *)Buffer;\r
-    FileSystemInfo->Size           = sizeof *FileSystemInfo;\r
-    FileSystemInfo->ReadOnly       = TRUE;\r
-    FileSystemInfo->VolumeSize     = mTotalBlobBytes;\r
-    FileSystemInfo->FreeSpace      = 0;\r
-    FileSystemInfo->BlockSize      = 1;\r
-    FileSystemInfo->VolumeLabel[0] = L'\0';\r
-\r
-    return EFI_SUCCESS;\r
-  }\r
-\r
-  if (CompareGuid (InformationType, &gEfiFileSystemVolumeLabelInfoIdGuid)) {\r
-    EFI_FILE_SYSTEM_VOLUME_LABEL *FileSystemVolumeLabel;\r
-\r
-    *BufferSize = sizeof *FileSystemVolumeLabel;\r
-    if (OriginalBufferSize < *BufferSize) {\r
-      return EFI_BUFFER_TOO_SMALL;\r
-    }\r
-\r
-    FileSystemVolumeLabel = (EFI_FILE_SYSTEM_VOLUME_LABEL *)Buffer;\r
-    FileSystemVolumeLabel->VolumeLabel[0] = L'\0';\r
-\r
-    return EFI_SUCCESS;\r
-  }\r
-\r
-  return EFI_UNSUPPORTED;\r
-}\r
-\r
-\r
-/**\r
-  Sets information about a file.\r
-\r
-  @param[in] File             A pointer to the EFI_FILE_PROTOCOL instance that\r
-                              is the file handle the information is for.\r
-\r
-  @param[in] InformationType  The type identifier for the information being\r
-                              set.\r
-\r
-  @param[in] BufferSize       The size, in bytes, of Buffer.\r
-\r
-  @param[in] Buffer           A pointer to the data buffer to write. The\r
-                              buffer's type is indicated by InformationType.\r
-\r
-  @retval EFI_SUCCESS           The information was set.\r
-  @retval EFI_UNSUPPORTED       The InformationType is not known.\r
-  @retval EFI_NO_MEDIA          The device has no medium.\r
-  @retval EFI_DEVICE_ERROR      The device reported an error.\r
-  @retval EFI_VOLUME_CORRUPTED  The file system structures are corrupted.\r
-  @retval EFI_WRITE_PROTECTED   InformationType is EFI_FILE_INFO_ID and the\r
-                                media is read-only.\r
-  @retval EFI_WRITE_PROTECTED   InformationType is\r
-                                EFI_FILE_PROTOCOL_SYSTEM_INFO_ID and the media\r
-                                is read only.\r
-  @retval EFI_WRITE_PROTECTED   InformationType is\r
-                                EFI_FILE_SYSTEM_VOLUME_LABEL_ID and the media\r
-                                is read-only.\r
-  @retval EFI_ACCESS_DENIED     An attempt is made to change the name of a file\r
-                                to a file that is already present.\r
-  @retval EFI_ACCESS_DENIED     An attempt is being made to change the\r
-                                EFI_FILE_DIRECTORY Attribute.\r
-  @retval EFI_ACCESS_DENIED     An attempt is being made to change the size of\r
-                                a directory.\r
-  @retval EFI_ACCESS_DENIED     InformationType is EFI_FILE_INFO_ID and the\r
-                                file was opened read-only and an attempt is\r
-                                being made to modify a field other than\r
-                                Attribute.\r
-  @retval EFI_VOLUME_FULL       The volume is full.\r
-  @retval EFI_BAD_BUFFER_SIZE   BufferSize is smaller than the size of the type\r
-                                indicated by InformationType.\r
-**/\r
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-StubFileSetInfo (\r
-  IN EFI_FILE_PROTOCOL *This,\r
-  IN EFI_GUID          *InformationType,\r
-  IN UINTN             BufferSize,\r
-  IN VOID              *Buffer\r
-  )\r
-{\r
-  return EFI_WRITE_PROTECTED;\r
-}\r
-\r
-\r
-/**\r
-  Flushes all modified data associated with a file to a device.\r
-\r
-  @param [in] This  A pointer to the EFI_FILE_PROTOCOL instance that is the\r
-                    file handle to flush.\r
-\r
-  @retval EFI_SUCCESS           The data was flushed.\r
-  @retval EFI_NO_MEDIA          The device has no medium.\r
-  @retval EFI_DEVICE_ERROR      The device reported an error.\r
-  @retval EFI_VOLUME_CORRUPTED  The file system structures are corrupted.\r
-  @retval EFI_WRITE_PROTECTED   The file or medium is write-protected.\r
-  @retval EFI_ACCESS_DENIED     The file was opened read-only.\r
-  @retval EFI_VOLUME_FULL       The volume is full.\r
-**/\r
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-StubFileFlush (\r
-  IN EFI_FILE_PROTOCOL *This\r
-  )\r
-{\r
-  return EFI_WRITE_PROTECTED;\r
-}\r
-\r
-//\r
-// External definition of the file protocol template.\r
-//\r
-STATIC CONST EFI_FILE_PROTOCOL mEfiFileProtocolTemplate = {\r
-  EFI_FILE_PROTOCOL_REVISION, // revision 1\r
-  StubFileOpen,\r
-  StubFileClose,\r
-  StubFileDelete,\r
-  StubFileRead,\r
-  StubFileWrite,\r
-  StubFileGetPosition,\r
-  StubFileSetPosition,\r
-  StubFileGetInfo,\r
-  StubFileSetInfo,\r
-  StubFileFlush,\r
-  NULL,                       // OpenEx, revision 2\r
-  NULL,                       // ReadEx, revision 2\r
-  NULL,                       // WriteEx, revision 2\r
-  NULL                        // FlushEx, revision 2\r
-};\r
-\r
-\r
-//\r
-// Protocol member functions for SimpleFileSystem.\r
-//\r
-\r
-/**\r
-  Open the root directory on a volume.\r
-\r
-  @param[in]  This  A pointer to the volume to open the root directory on.\r
-\r
-  @param[out] Root  A pointer to the location to return the opened file handle\r
-                    for the root directory in.\r
-\r
-  @retval EFI_SUCCESS           The device was opened.\r
-  @retval EFI_UNSUPPORTED       This volume does not support the requested file\r
-                                system type.\r
-  @retval EFI_NO_MEDIA          The device has no medium.\r
-  @retval EFI_DEVICE_ERROR      The device reported an error.\r
-  @retval EFI_VOLUME_CORRUPTED  The file system structures are corrupted.\r
-  @retval EFI_ACCESS_DENIED     The service denied access to the file.\r
-  @retval EFI_OUT_OF_RESOURCES  The volume was not opened due to lack of\r
-                                resources.\r
-  @retval EFI_MEDIA_CHANGED     The device has a different medium in it or the\r
-                                medium is no longer supported. Any existing\r
-                                file handles for this volume are no longer\r
-                                valid. To access the files on the new medium,\r
-                                the volume must be reopened with OpenVolume().\r
-**/\r
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-StubFileSystemOpenVolume (\r
-  IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *This,\r
-  OUT EFI_FILE_PROTOCOL              **Root\r
-  )\r
-{\r
-  STUB_FILE *StubFile;\r
-\r
-  StubFile = AllocatePool (sizeof *StubFile);\r
-  if (StubFile == NULL) {\r
-    return EFI_OUT_OF_RESOURCES;\r
-  }\r
-\r
-  StubFile->Signature = STUB_FILE_SIG;\r
-  StubFile->BlobType  = KernelBlobTypeMax;\r
-  StubFile->Position  = 0;\r
-  CopyMem (&StubFile->File, &mEfiFileProtocolTemplate,\r
-    sizeof mEfiFileProtocolTemplate);\r
-  *Root = &StubFile->File;\r
-\r