]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A8.dsc
ArmPlatformPkg: Minor code changes (comments, misspellings, coding stylei, line endings)
[mirror_edk2.git] / ArmPlatformPkg / ArmRealViewEbPkg / ArmRealViewEb-RTSM-A8.dsc
index 2ac5203404ac11df6bd45891784f07e8f4bc2911..f8d360f75d6c7867701fe3c3247e35b23a3e24e2 100644 (file)
   SKUID_IDENTIFIER               = DEFAULT\r
   FLASH_DEFINITION               = ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-UniCore.fdf\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/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf\r
-#  UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf\r
-!endif\r
-  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
+!include ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb.dsc.inc\r
 \r
+[LibraryClasses.common]\r
   ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
+  ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA8Lib/ArmCortexA8Lib.inf\r
   ArmPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf\r
   \r
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
-  BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf\r
-  SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
-\r
-  EfiResetSystemLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ResetSystemLib/ResetSystemLib.inf\r
-  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
-  \r
-  EblCmdLib|ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.inf\r
-  EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf\r
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
-  \r
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
-  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.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
-  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf\r
-  DefaultExceptioHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf\r
-  \r
-  SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf\r
-  \r
-  RealTimeClockLib|ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf\r
-\r
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
-  \r
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
-  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
-  \r
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
-\r
-  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
-  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
-\r
-#\r
-# Assume everything is fixed at build\r
-#\r
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
-\r
-  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
-\r
-  EblAddExternalCommandLib|EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf\r
-\r
-  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf\r
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
-\r
-  EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf\r
-  \r
-  ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf\r
-  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
-  DebugAgentTimerLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf\r
-\r
-  SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf\r
-  TimerLib|ArmPlatformPkg/Library/SP804TimerLib/SP804TimerLib.inf  \r
-  GdbSerialLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/GdbSerialLib/GdbSerialLib.inf\r
-  DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf\r
-  \r
-  # ARM PL011 UART Driver\r
-  PL011UartLib|ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf\r
-\r
-  BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf\r
-  \r
-  ArmPlatformSysConfigLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/SysConfigArmRealViewEbLib/SysConfigArmRealViewEbLib.inf\r
-  NorFlashPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/NorFlashArmRealViewEbLib/NorFlashArmRealViewEbLib.inf\r
-  LcdPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/PL111LcdArmRealViewEbLib/PL111LcdArmRealViewEbLib.inf\r
+  # ARM PL390 General Interrupt Driver in Secure and Non-secure\r
+  ArmGicSecLib|ArmPkg/Drivers/PL390Gic/PL390GicSecLib.inf\r
+  ArmGicLib|ArmPkg/Drivers/PL390Gic/PL390GicLib.inf\r
 \r
 [LibraryClasses.common.SEC]\r
   ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf\r
   ArmPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbSecLib.inf\r
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
-  \r
-  # 1/123 faster than Stm or Vstm version\r
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
-\r
-  # Uncomment to turn on GDB stub in SEC. \r
-  #DebugAgentLib|EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.inf\r
-  \r
-  # L2 Cache Driver\r
-  L2X0CacheLib|ArmPlatformPkg/Library/L2X0CacheLibNull/L2X0CacheLibNull.inf\r
-  # ARM PL390 General Interrupt Driver in Secure and Non-secure\r
-  PL390GicSecLib|ArmPkg/Drivers/PL390Gic/PL390GicSec.inf\r
-\r
-!if $(EDK2_SKIP_PEICORE) == 1\r
-  PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf\r
-  ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf\r
-  LzmaDecompressLib|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
-  MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf\r
-  HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf\r
-  PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf\r
-  PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf\r
-  MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf\r
-!endif\r
-\r
-[LibraryClasses.common.PEI_CORE]\r
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
-  # note: this won't actually work since globals in PEI are not writeable\r
-  # need to generate an ARM PEI services table pointer implementation\r
-  PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.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
-[LibraryClasses.common.PEIM]\r
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
-  # note: this won't actually work since globals in PEI are not writeable\r
-  # need to generate an ARM PEI services table pointer implementation\r
-  PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.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
-[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
-\r
-[LibraryClasses.common.UEFI_APPLICATION]\r
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
-  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf\r
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.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
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
-\r
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]\r
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
-  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\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
 [BuildOptions]\r
-  RVCT:*_*_ARM_ARCHCC_FLAGS  == --cpu Cortex-A8 --thumb --fpu=softvfp -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
-  RVCT:*_*_ARM_ARCHASM_FLAGS == --cpu Cortex-A8 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
-  RVCT:RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
+  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A8 --fpu=softvfp -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
 \r
-  GCC:*_*_ARM_ARCHCC_FLAGS    == -march=armv7-a -mthumb -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform \r
-  GCC:*_*_ARM_ARCHASM_FLAGS   == -march=armv7-a -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
-  GCC:RELEASE_*_*_CC_FLAGS    = -DMDEPKG_NDEBUG -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
+  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a8 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
 \r
-  XCODE:*_*_ARM_ARCHCC_FLAGS     == -arch armv7 -march=armv7 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
-  XCODE:*_*_ARM_ARCHASM_FLAGS    == -arch armv7 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
-  XCODE:*_*_ARM_ARCHDLINK_FLAGS  == -arch armv7 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
-  XCODE:RELEASE_*_*_CC_FLAGS     = -DMDEPKG_NDEBUG -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
+  XCODE:*_*_ARM_PLATFORM_FLAGS == -arch armv7 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
 \r
 \r
 ################################################################################\r
 ################################################################################\r
 \r
 [PcdsFeatureFlag.common]\r
-  gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE\r
-  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE\r
-  gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE\r
-  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE\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
-  gArmTokenSpaceGuid.PcdCpuDxeProduceDebugSupport|FALSE\r
-\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE\r
-\r
-!if $(EDK2_SKIP_PEICORE) == 1\r
-  gArmTokenSpaceGuid.PcdSkipPeiCore|TRUE\r
+!ifdef $(EDK2_SKIP_PEICORE)\r
+  gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec|TRUE\r
+  gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores|TRUE\r
 !endif\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
+  \r
+  # Install Debugger Exception Handlers.\r
+  gArmTokenSpaceGuid.PcdDebuggerExceptionSupport|TRUE\r
 \r
 [PcdsFixedAtBuild.common]\r
   gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM RealView Emulation Board"\r
-  \r
   gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmRealViewEb-A8"\r
-  gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|32\r
-  gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|0\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  // Verbose\r
-#  DEBUG_DISPATCH  0x00000080  // PEI/DXE 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_ERROR     0x80000000  // Error\r
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F\r
-\r
-  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07\r
   \r
   #\r
   # NV Storage PCDs. Use base of 0x43F00000 for NOR0\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x43FE0000\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00020000\r
 \r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000\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
-  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x00000000\r
-  \r
-  gArmPlatformTokenSpaceGuid.PcdStandalone|1\r
-  \r
   # Stack for CPU Cores in Secure Mode\r
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0x4B000000     # Top of SEC Stack for Secure World\r
-  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecStackSize|0x2000          # Size of SEC Stack for Secure World\r
-\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0x4B000000\r
   # Stack for CPU Cores in Secure Monitor Mode\r
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0x4A000000  # Top of SEC Stack for Monitor World\r
-  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecMonStackSize|0x2000       # Size of SEC Stack for Monitor World\r
-\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0x4A000000\r
   # Stack for CPU Cores in Non Secure Mode\r
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackBase|0x48000000  # Top of SEC Stack for Normal World\r
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackSize|0x20000     # Size of SEC Stack for Normal World\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x48000000\r
 \r
   # System Memory (256MB) \r
   gArmTokenSpaceGuid.PcdSystemMemoryBase|0x70000000\r
   gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|1000000\r
   gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000        # expressed in 100ns units, 100,000 x 100 ns = 10,000,000 ns = 10 ms\r
   gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicInterruptNum|36\r
-  gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicBase|0x10011000\r
+  gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicBase|0x10011000 \r
+  gArmPlatformTokenSpaceGuid.PcdSP804TimerMetronomeBase|0x10011020\r
   gArmPlatformTokenSpaceGuid.PcdSP804TimerPerformanceBase|0x10012020\r
-  gArmPlatformTokenSpaceGuid.PcdSP804TimerMetronomeBase|0x10012000\r
   \r
   ## PL031 RealTimeClock\r
   gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x10017000\r
   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x10040000\r
   gArmTokenSpaceGuid.PcdGicNumInterrupts|96\r
 \r
-  #\r
-  # ARM OS Loader\r
-  #\r
-  gArmTokenSpaceGuid.PcdArmMachineType|827\r
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"SemiHosting"\r
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/zImage-RTSM"\r
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|""\r
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootType|1\r
-  \r
-  # Use the Serial console (ConIn & ConOut) and the Graphic driver (ConOut)\r
-  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi();VenHw(407B4008-BF5B-11DF-9547-CF16E0D72085)"\r
-  gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi()"\r
-  gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|10\r
-  \r
   #\r
   # ARM L2x0 PCDs\r
   #\r
   gArmTokenSpaceGuid.PcdL2x0ControllerBase|0x1F002000\r
  \r
 \r
-\r
 ################################################################################\r
 #\r
 # Components Section - list of all EDK II Modules needed by this Platform\r
 ################################################################################\r
 [Components.common]\r
   \r
-#\r
-# SEC\r
-#\r
+  #\r
+  # SEC\r
+  #\r
   ArmPlatformPkg/Sec/Sec.inf\r
   \r
-#\r
-# PEI Phase modules\r
-#\r
-!if $(EDK2_SKIP_PEICORE) == 1\r
+  #\r
+  # PEI Phase modules\r
+  #\r
+!ifdef $(EDK2_SKIP_PEICORE)\r
   ArmPlatformPkg/PrePi/PeiUniCore.inf {\r
     <LibraryClasses>\r
+      ArmGicSecLib|ArmPkg/Drivers/PL390Gic/PL390GicLib.inf\r
       ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
       ArmPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf\r
+      ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/PrePi/PrePiArmPlatformGlobalVariableLib.inf\r
   }\r
 !else\r
-  ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf\r
+  ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf {\r
+    <LibraryClasses>\r
+      ArmGicSecLib|ArmPkg/Drivers/PL390Gic/PL390GicLib.inf\r
+  }\r
   MdeModulePkg/Core/Pei/PeiMain.inf\r
   MdeModulePkg/Universal/PCD/Pei/Pcd.inf  {\r
     <LibraryClasses>\r
   }\r
   ArmPlatformPkg/PlatformPei/PlatformPeim.inf\r
   ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf\r
+  ArmPkg/Drivers/CpuPei/CpuPei.inf\r
   IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
   Nt32Pkg/BootModePei/BootModePei.inf\r
   MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
   }\r
 !endif\r
 \r
-#\r
-# DXE\r
-#\r
+  #\r
+  # DXE\r
+  #\r
   MdeModulePkg/Core/Dxe/DxeMain.inf {\r
     <LibraryClasses>\r
       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
   FatPkg/EnhancedFatDxe/Fat.inf\r
   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
   \r
-  \r
   #\r
   # Application\r
   #  \r