+++ /dev/null
-#\r
-# Copyright (c) 2011-2014, 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
-################################################################################\r
-#\r
-# Defines Section - statements that will be processed to create a Makefile.\r
-#\r
-################################################################################\r
-[Defines]\r
- PLATFORM_NAME = ArmRealViewEbPkg\r
- PLATFORM_GUID = F4C1AD3E-9D3E-4F61-8791-B3BB1C43D04C\r
- PLATFORM_VERSION = 0.1\r
- DSC_SPECIFICATION = 0x00010005\r
- OUTPUT_DIRECTORY = Build/ArmRealViewEb-RTSM-A8\r
- SUPPORTED_ARCHITECTURES = ARM\r
- BUILD_TARGETS = DEBUG|RELEASE\r
- SKUID_IDENTIFIER = DEFAULT\r
- FLASH_DEFINITION = ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-UniCore.fdf\r
-\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
-[LibraryClasses.common.SEC]\r
- ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf\r
- ArmPlatformSecLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbSecLibRTSM/ArmRealViewEbSecLib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLibSec.inf\r
-\r
-[BuildOptions]\r
- RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A8 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
-\r
- GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a8 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
-\r
- XCODE:*_*_ARM_PLATFORM_FLAGS == -arch armv7 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\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
-!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
- gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmRealViewEb-A8"\r
-\r
- #\r
- # NV Storage PCDs. Use base of 0x43F00000 for NOR0\r
- #\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x43F00000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00020000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x43F20000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00020000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x43F40000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00020000\r
-\r
- # Stack for CPU Cores in Secure Mode\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0x4B000000\r
- # Stack for CPU Cores in Secure Monitor Mode\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0x4A000000\r
- # Stack for CPU Cores in Non Secure Mode\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x48000000\r
-\r
- # System Memory (256MB)\r
- gArmTokenSpaceGuid.PcdSystemMemoryBase|0x70000000\r
- gArmTokenSpaceGuid.PcdSystemMemorySize|0x10000000\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
- #\r
- # ARM PrimeCells\r
- #\r
-\r
- ## SP804 Timer\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.PcdSP804TimerMetronomeBase|0x10011020\r
- gArmPlatformTokenSpaceGuid.PcdSP804TimerPerformanceBase|0x10012020\r
-\r
- ## PL031 RealTimeClock\r
- gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x10017000\r
-\r
- ## PL111 Lcd\r
- gArmPlatformTokenSpaceGuid.PcdPL111LcdBase|0x10020000\r
-\r
- #\r
- # ARM PL011 - Serial Terminal\r
- #\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x10009000\r
-\r
- #\r
- # ARM General Interrupt Controller\r
- #\r
- gArmTokenSpaceGuid.PcdGicDistributorBase|0x10041000\r
- gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x10040000\r
-\r
-\r
-################################################################################\r
-#\r
-# Components Section - list of all EDK II Modules needed by this Platform\r
-#\r
-################################################################################\r
-[Components.common]\r
-\r
- #\r
- # SEC\r
- #\r
- ArmPlatformPkg/Sec/Sec.inf {\r
- <LibraryClasses>\r
- # Use the implementation which set the Secure bits\r
- ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf\r
- }\r
-\r
- #\r
- # PEI Phase modules\r
- #\r
-!ifdef EDK2_SKIP_PEICORE\r
- ArmPlatformPkg/PrePi/PeiUniCore.inf {\r
- <LibraryClasses>\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
- <LibraryClasses>\r
- ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf\r
- }\r
- MdeModulePkg/Core/Pei/PeiMain.inf\r
- MdeModulePkg/Universal/PCD/Pei/Pcd.inf {\r
- <LibraryClasses>\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\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
- MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
- <LibraryClasses>\r
- NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
- }\r
-!endif\r
-\r
- #\r
- # DXE\r
- #\r
- MdeModulePkg/Core/Dxe/DxeMain.inf {\r
- <LibraryClasses>\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
- NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
- }\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/WatchdogTimerDxe/WatchdogTimer.inf\r
- MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
- MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
- MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
- EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf\r
-\r
- EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
- EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
- EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
-\r
- MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
- MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
- ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf\r
-\r
- MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
- MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
- MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
- EmbeddedPkg/SerialDxe/SerialDxe.inf\r
-\r
- ArmPkg/Drivers/ArmGic/ArmGicDxe.inf\r
- ArmPlatformPkg/Drivers/SP804TimerDxe/SP804TimerDxe.inf\r
-\r
- ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
-\r
- #\r
- # Semi-hosting filesystem\r
- #\r
- ArmPkg/Filesystem/SemihostFs/SemihostFs.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
- ArmPlatformPkg/Bds/Bds.inf\r
+++ /dev/null
-#\r
-# Copyright (c) 2011-2014, 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
-################################################################################\r
-#\r
-# Defines Section - statements that will be processed to create a Makefile.\r
-#\r
-################################################################################\r
-[Defines]\r
- PLATFORM_NAME = ArmRealViewEb-RTSM-A9x2\r
- PLATFORM_GUID = f6c2f4a0-2027-11e0-a2a1-0002a5d5c51b\r
- PLATFORM_VERSION = 0.1\r
- DSC_SPECIFICATION = 0x00010005\r
- OUTPUT_DIRECTORY = Build/ArmRealViewEb-RTSM-A9x2\r
- SUPPORTED_ARCHITECTURES = ARM\r
- BUILD_TARGETS = DEBUG|RELEASE\r
- SKUID_IDENTIFIER = DEFAULT\r
- FLASH_DEFINITION = ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-MPCore.fdf\r
-\r
-!include ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb.dsc.inc\r
-\r
-[LibraryClasses.common]\r
- ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
- ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Lib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf\r
-\r
-[LibraryClasses.common.SEC]\r
- ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf\r
- ArmPlatformSecLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbSecLibRTSM/ArmRealViewEbSecLib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLibSec.inf\r
-\r
-[BuildOptions]\r
- RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A9 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
-\r
- GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a9 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\r
-\r
- XCODE:*_*_ARM_PLATFORM_FLAGS == -arch armv7 -I$(WORKSPACE)/ArmPlatformPkg/ArmRealViewEbPkg/Include/Platform\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
-!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
-[PcdsFixedAtBuild.common]\r
- gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM RealView Emulation Board"\r
- gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmRealViewEb-A9x2"\r
-\r
- gArmPlatformTokenSpaceGuid.PcdCoreCount|2\r
-\r
- #\r
- # NV Storage PCDs. Use base of 0x43F00000 for NOR0\r
- #\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x43F00000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00020000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x43F20000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00020000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x43F40000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00020000\r
-\r
- # Stacks for MPCores in Secure World\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0x4B000000\r
- # Stacks for MPCores in Monitor Mode\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0x4A000000\r
- # Stacks for MPCores in Normal World\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x48000000\r
-\r
- # System Memory (256MB)\r
- gArmTokenSpaceGuid.PcdSystemMemoryBase|0x70000000\r
- gArmTokenSpaceGuid.PcdSystemMemorySize|0x10000000\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
- #\r
- # ARM PrimeCells\r
- #\r
-\r
- ## SP804 Timer\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|33\r
- gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicBase|0x10011000\r
- gArmPlatformTokenSpaceGuid.PcdSP804TimerMetronomeBase|0x10011020\r
- gArmPlatformTokenSpaceGuid.PcdSP804TimerPerformanceBase|0x10012020\r
-\r
- ## PL031 RealTimeClock\r
- gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x10017000\r
-\r
- ## PL111 Lcd\r
- gArmPlatformTokenSpaceGuid.PcdPL111LcdBase|0x10020000\r
-\r
- #\r
- # ARM PL011 - Serial Terminal\r
- #\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x10009000\r
-\r
- #\r
- # ARM General Interrupt Controller\r
- #\r
- gArmTokenSpaceGuid.PcdGicDistributorBase|0x1F001000\r
- gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x1F000100\r
-\r
- #\r
- # ARM L2x0 PCDs\r
- #\r
- gArmTokenSpaceGuid.PcdL2x0ControllerBase|0x1F002000\r
-\r
-################################################################################\r
-#\r
-# Components Section - list of all EDK II Modules needed by this Platform\r
-#\r
-################################################################################\r
-[Components.common]\r
-\r
- #\r
- # SEC\r
- #\r
- ArmPlatformPkg/Sec/Sec.inf {\r
- <LibraryClasses>\r
- # Use the implementation which set the Secure bits\r
- ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf\r
- }\r
-\r
- #\r
- # PEI Phase modules\r
- #\r
-!ifdef EDK2_SKIP_PEICORE\r
- ArmPlatformPkg/PrePi/PeiMPCore.inf {\r
- <LibraryClasses>\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/PrePeiCoreMPCore.inf\r
- MdeModulePkg/Core/Pei/PeiMain.inf\r
- MdeModulePkg/Universal/PCD/Pei/Pcd.inf {\r
- <LibraryClasses>\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\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
- MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
- <LibraryClasses>\r
- NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
- }\r
-!endif\r
-\r
- #\r
- # DXE\r
- #\r
- MdeModulePkg/Core/Dxe/DxeMain.inf {\r
- <LibraryClasses>\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
- NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
- }\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/WatchdogTimerDxe/WatchdogTimer.inf\r
- MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
- MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
- MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
- EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf\r
-\r
- EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
- EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
- EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
-\r
- MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
- MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
- ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf\r
-\r
- MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
- MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
- MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
- EmbeddedPkg/SerialDxe/SerialDxe.inf\r
-\r
- ArmPkg/Drivers/ArmGic/ArmGicDxe.inf\r
- ArmPlatformPkg/Drivers/SP804TimerDxe/SP804TimerDxe.inf\r
-\r
- ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
-\r
- #\r
- # Semi-hosting filesystem\r
- #\r
- ArmPkg/Filesystem/SemihostFs/SemihostFs.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
- ArmPlatformPkg/Bds/Bds.inf\r
+++ /dev/null
-# FLASH layout file for ARM RealView EB.\r
-#\r
-# Copyright (c) 2011-2015, 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
-#\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
-\r
-[FD.ArmRealViewEb_EFI]\r
-BaseAddress = 0x40000000|gArmTokenSpaceGuid.PcdFdBaseAddress\r
-Size = 0x00200000|gArmTokenSpaceGuid.PcdFdSize\r
-ErasePolarity = 1\r
-BlockSize = 0x00010000\r
-NumBlocks = 0x20\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
-0x00000000|0x00050000\r
-gArmTokenSpaceGuid.PcdSecureFvBaseAddress|gArmTokenSpaceGuid.PcdSecureFvSize\r
-FV = FVMAIN_SEC\r
-\r
-0x00050000|0x00150000\r
-gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize\r
-FV = FVMAIN_COMPACT\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_SEC]\r
-FvAlignment = 8\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/Sec/Sec.inf\r
-\r
-\r
-[FV.FvMain]\r
-BlockSize = 0x40\r
-NumBlocks = 0 # This FV gets compressed so make it just big enough\r
-FvAlignment = 8 # 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
-FvNameGuid = 14801114-da6a-4113-985b-dc876337a15e\r
-\r
- INF MdeModulePkg/Core/Dxe/DxeMain.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/WatchdogTimerDxe/WatchdogTimer.inf\r
- INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
- INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
- INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
- INF EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf\r
- INF EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
- INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
- INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
-\r
- INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
- INF ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.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 ArmPlatformPkg/Drivers/SP804TimerDxe/SP804TimerDxe.inf\r
-\r
- INF ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
-\r
- #\r
- # Semi-hosting filesystem\r
- #\r
- INF ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
-\r
- #\r
- # Multimedia Card Interface\r
- #\r
- INF EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf\r
- INF ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf\r
-\r
- # FV Filesystem\r
- INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.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 ShellBinPkg/UefiShell/UefiShell.inf\r
-\r
- #\r
- # Bds\r
- #\r
- INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
- INF ArmPlatformPkg/Bds/Bds.inf\r
-\r
- # Legacy Linux Loader\r
- INF ArmPkg/Application/LinuxLoader/LinuxLoader.inf\r
-\r
-[FV.FVMAIN_COMPACT]\r
-FvAlignment = 8\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
-!if $(EDK2_SKIP_PEICORE) == 1\r
- INF ArmPlatformPkg/PrePi/PeiMPCore.inf\r
-!else\r
- INF ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.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
- INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
- INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
- INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
-!endif\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
-# 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 = 32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
- }\r
-\r
-[Rule.Common.PEI_CORE]\r
- FILE PEI_CORE = $(NAMED_GUID) {\r
- TE TE $(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 $(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
+++ /dev/null
-# FLASH layout file for ARM RealView EB.\r
-#\r
-# Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>\r
-# Copyright (c) 2011 - 2015, 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
-#\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
-\r
-[FD.ArmRealViewEb_EFI]\r
-BaseAddress = 0x40000000|gArmTokenSpaceGuid.PcdFdBaseAddress\r
-Size = 0x00200000|gArmTokenSpaceGuid.PcdFdSize\r
-ErasePolarity = 1\r
-BlockSize = 0x00010000\r
-NumBlocks = 0x20\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
-0x00000000|0x00050000\r
-gArmTokenSpaceGuid.PcdSecureFvBaseAddress|gArmTokenSpaceGuid.PcdSecureFvSize\r
-FV = FVMAIN_SEC\r
-\r
-0x00050000|0x00150000\r
-gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize\r
-FV = FVMAIN_COMPACT\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_SEC]\r
-FvAlignment = 8\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/Sec/Sec.inf\r
-\r
-\r
-[FV.FvMain]\r
-BlockSize = 0x40\r
-NumBlocks = 0 # This FV gets compressed so make it just big enough\r
-FvAlignment = 8 # 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
-FvNameGuid = 14801114-da6a-4113-985b-dc876337a15e\r
-\r
- INF MdeModulePkg/Core/Dxe/DxeMain.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/WatchdogTimerDxe/WatchdogTimer.inf\r
- INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
- INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
- INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
- INF EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf\r
- INF EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
- INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
- INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
-\r
- INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
- INF ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.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 ArmPlatformPkg/Drivers/SP804TimerDxe/SP804TimerDxe.inf\r
-\r
- INF ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
-\r
- #\r
- # Semi-hosting filesystem\r
- #\r
- INF ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
-\r
- #\r
- # Multimedia Card Interface\r
- #\r
- INF EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf\r
- INF ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf\r
-\r
- # FV Filesystem\r
- INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.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 ShellBinPkg/UefiShell/UefiShell.inf\r
-\r
- #\r
- # Bds\r
- #\r
- INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
- INF ArmPlatformPkg/Bds/Bds.inf\r
-\r
- # Legacy Linux Loader\r
- INF ArmPkg/Application/LinuxLoader/LinuxLoader.inf\r
-\r
-\r
-[FV.FVMAIN_COMPACT]\r
-FvAlignment = 8\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
-!if $(EDK2_SKIP_PEICORE) == 1\r
- INF ArmPlatformPkg/PrePi/PeiUniCore.inf\r
-!else\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
- INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
- INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
- INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
-!endif\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
-# 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 = 32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
- }\r
-\r
-[Rule.Common.PEI_CORE]\r
- FILE PEI_CORE = $(NAMED_GUID) {\r
- TE TE $(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 $(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
+++ /dev/null
-#\r
-# Copyright (c) 2011-2015, ARM Limited. All rights reserved.\r
-# Copyright (c) 2015, Intel Corporation. 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
-[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
-\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|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
- 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
-\r
- #\r
- # Assume everything is fixed at build\r
- #\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
- BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.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
- ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf\r
- ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf\r
- ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf\r
-\r
- # RealView Emulation Board Specific Libraries\r
- PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf\r
- EfiResetSystemLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/ResetSystemLib/ResetSystemLib.inf\r
- RealTimeClockLib|ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf\r
- SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf\r
- SerialPortExtLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortExtLib.inf\r
- TimerLib|ArmPlatformPkg/Library/SP804TimerLib/SP804TimerLib.inf\r
- # ARM PL011 UART Driver\r
- PL011UartLib|ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf\r
- NorFlashPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/NorFlashArmRealViewEbLib/NorFlashArmRealViewEbLib.inf\r
- LcdPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/PL111LcdArmRealViewEbLib/PL111LcdArmRealViewEbLib.inf\r
- ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf\r
-\r
- # Networking Requirements for ArmPlatformPkg/Bds\r
- NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf\r
-\r
- # EBL Related Libraries\r
- EblCmdLib|ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.inf\r
- EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf\r
- EblAddExternalCommandLib|EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf\r
- EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.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
- #DebugAgentTimerLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf\r
-\r
- SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf\r
-\r
- GdbSerialLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/GdbSerialLib/GdbSerialLib.inf\r
-\r
- # These libraries are used by the dynamic EFI Shell commands\r
- ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
- FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
- SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
-\r
- # BDS Libraries\r
- BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf\r
- FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf\r
-\r
- TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf\r
- AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf\r
-\r
-[LibraryClasses.common.SEC]\r
- ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf\r
- ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Sec/SecArmPlatformGlobalVariableLib.inf\r
- ArmTrustedMonitorLib|ArmPlatformPkg/Library/ArmTrustedMonitorLibNull/ArmTrustedMonitorLibNull.inf\r
-\r
- DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf\r
- DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf\r
- # Uncomment to turn on GDB stub in SEC.\r
- #DebugAgentLib|EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.inf\r
-\r
-!ifdef $(EDK2_SKIP_PEICORE)\r
- PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf\r
- ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf\r
- LzmaDecompressLib|MdeModulePkg/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
-!endif\r
-\r
- ArmGicArchLib|ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.inf\r
-\r
-[LibraryClasses.common.SEC, LibraryClasses.common.PEIM]\r
- MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf\r
-\r
-[LibraryClasses.common.PEI_CORE]\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
- PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf\r
- ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf\r
-\r
-[LibraryClasses.common.PEIM]\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
-\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
- 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
- DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.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
- # Add support for GCC stack protector\r
- NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf\r
-\r
-[BuildOptions]\r
- RVCT:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG\r
-\r
- GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG\r
-\r
- XCODE:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG\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
- 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
- gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE\r
-\r
-[PcdsFixedAtBuild.common]\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
- 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
- ## PL180 MMC/SD card controller\r
- gArmPlatformTokenSpaceGuid.PcdPL180SysMciRegAddress|0x10000048\r
- gArmPlatformTokenSpaceGuid.PcdPL180MciBaseAddress|0x10005000\r
-\r
- # We want to use the Shell Libraries but don't want it to initialise\r
- # automatically. We initialise the libraries when the command is called by the\r
- # Shell.\r
- gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
-\r
- #\r
- # ARM OS Loader\r
- #\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"SemiHosting"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"Fv(14801114-DA6A-4113-985B-DC876337A15E)/LinuxLoader.efi"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|L"VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/zImage-RTSM -a 827 -c \"console=ttyAMA0,38400n8\""\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
- gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|10\r
-\r
-[Components.common]\r
- #\r
- # Multimedia Card Interface\r
- #\r
- EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf\r
- ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf\r
-\r
- # FV Filesystem\r
- MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf\r
-\r
- # Legacy Linux Loader\r
- ArmPkg/Application/LinuxLoader/LinuxLoader.inf\r
+++ /dev/null
-#/** @file\r
-# Arm RealView EB package.\r
-#\r
-# Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>\r
-# Copyright (c) 2011 - 2012, Arm Ltd. All rights reserved.<BR>\r
-#\r
-# This program and the accompanying materials are licensed and made available under\r
-# the terms and conditions of the BSD License which accompanies this distribution.\r
-# 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 = ArmRealViewEbPkg\r
- PACKAGE_GUID = 44577A0D-361A-45B2-B33D-BB9EE60D5A4F\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
- gArmRealViewEbPkgTokenSpaceGuid = { 0x44577A0D, 0x361A, 0x45B2, { 0xb3, 0x3d, 0xbb, 0x9e, 0xe6, 0x0d, 0x5a, 0x4f} }\r
-\r
-[PcdsFixedAtBuild.common]\r
- gArmRealViewEbPkgTokenSpaceGuid.PcdGdbUartBase|0|UINT32|0x00000001\r
+++ /dev/null
-// returns the base address of the SEC FV in flash on the EB board\r
-// change this address for where your platform's SEC FV is located\r
-// (or make it more intelligent to search for it)\r
-define /r FindFv()\r
-{\r
- return 0x40000000;\r
-}\r
-.\r
-\r
-include /s 'ZZZZZZ/EfiFuncs.inc'\r
-error=continue\r
-unload ,all\r
-error=abort\r
-LoadPeiSec()\r
-include C:\loadfiles.inc\r
-\r
+++ /dev/null
-error=abort\r
-\r
-// NOTE: THIS MAY NEED TO BE ADJUSTED\r
-// change to reflect the total amount of ram in your system\r
-define /r GetMaxMem()\r
-{\r
- return 0x10000000; // 256 MB\r
-}\r
-.\r
-\r
-define /r GetWord(Addr)\r
-{\r
- unsigned long data;\r
-\r
- if( (Addr & 0x2) == 0 )\r
- {\r
- data = dword(Addr);\r
- data = data & 0xffff;\r
- //$printf "getword data is %x\n", data$;\r
- return data;\r
- }\r
- else\r
- {\r
- data = dword(Addr & 0xfffffffc);\r
- //data = data >> 16;\r
- data = data / 0x10000;\r
- //$printf "getword data is %x (1)\n", data$;\r
- return data;\r
- }\r
-}\r
-.\r
-\r
-define /r ProcessPE32(imgstart)\r
-unsigned long imgstart;\r
-{\r
- unsigned long filehdrstart;\r
- unsigned long debugdirentryrva;\r
- unsigned long debugtype;\r
- unsigned long debugrva;\r
- unsigned long dwarfsig;\r
- unsigned long baseofcode;\r
- unsigned long baseofdata;\r
- unsigned long elfbase;\r
- char *elfpath;\r
-\r
- $printf "PE32 image found at %x",imgstart$;\r
-\r
- //$printf "PE file hdr offset %x",dword(imgstart+0x3C)$;\r
-\r
- // offset from dos hdr to PE file hdr\r
- filehdrstart = imgstart + dword(imgstart+0x3C);\r
-\r
- // offset to debug dir in PE hdrs\r
- //$printf "debug dir is at %x",(filehdrstart+0xA8)$;\r
- debugdirentryrva = dword(filehdrstart + 0xA8);\r
- if(debugdirentryrva == 0)\r
- {\r
- $printf "no debug dir for image at %x",imgstart$;\r
- return;\r
- }\r
-\r
- //$printf "debug dir entry rva is %x",debugdirentryrva$;\r
-\r
- debugtype = dword(imgstart + debugdirentryrva + 0xc);\r
- if( (debugtype != 0xdf) && (debugtype != 0x2) )\r
- {\r
- $printf "debug type is not dwarf for image at %x",imgstart$;\r
- $printf "debug type is %x",debugtype$;\r
- return;\r
- }\r
-\r
- debugrva = dword(imgstart + debugdirentryrva + 0x14);\r
- dwarfsig = dword(imgstart + debugrva);\r
- if(dwarfsig != 0x66727764)\r
- {\r
- $printf "dwarf debug signature not found for image at %x",imgstart$;\r
- return;\r
- }\r
-\r
- elfpath = (char *)(imgstart + debugrva + 0xc);\r
-\r
- baseofcode = imgstart + dword(filehdrstart + 0x28);\r
- baseofdata = imgstart + dword(filehdrstart + 0x2c);\r
-\r
- if( (baseofcode < baseofdata) && (baseofcode != 0) )\r
- {\r
- elfbase = baseofcode;\r
- }\r
- else\r
- {\r
- elfbase = baseofdata;\r
- }\r
-\r
- $printf "found path %s",elfpath$;\r
- $fprintf 50, "load /ni /np /a %s &0x%x\n",elfpath,elfbase$;\r
-}\r
-.\r
-\r
-define /r ProcessTE(imgstart)\r
-unsigned long imgstart;\r
-{\r
- unsigned long strippedsize;\r
- unsigned long debugdirentryrva;\r
- unsigned long debugtype;\r
- unsigned long debugrva;\r
- unsigned long dwarfsig;\r
- unsigned long elfbase;\r
- char *elfpath;\r
-\r
- $printf "TE image found at %x",imgstart$;\r
-\r
- // determine pe header bytes removed to account for in rva references\r
- //strippedsize = word(imgstart + 0x6);\r
- //strippedsize = (dword(imgstart + 0x4) & 0xffff0000) >> 16;\r
- strippedsize = (dword(imgstart + 0x4) & 0xffff0000) / 0x10000;\r
- strippedsize = strippedsize - 0x28;\r
-\r
- debugdirentryrva = dword(imgstart + 0x20);\r
- if(debugdirentryrva == 0)\r
- {\r
- $printf "no debug dir for image at %x",imgstart$;\r
- return;\r
- }\r
- debugdirentryrva = debugdirentryrva - strippedsize;\r
-\r
- //$printf "debug dir entry rva is %x",debugdirentryrva$;\r
-\r
- debugtype = dword(imgstart + debugdirentryrva + 0xc);\r
- if( (debugtype != 0xdf) && (debugtype != 0x2) )\r
- {\r
- $printf "debug type is not dwarf for image at %x",imgstart$;\r
- $printf "debug type is %x",debugtype$;\r
- return;\r
- }\r
-\r
- debugrva = dword(imgstart + debugdirentryrva + 0x14);\r
- debugrva = debugrva - strippedsize;\r
- dwarfsig = dword(imgstart + debugrva);\r
- if( (dwarfsig != 0x66727764) && (dwarfsig != 0x3031424e) )\r
- {\r
- $printf "dwarf debug signature not found for image at %x",imgstart$;\r
- $printf "found %x", dwarfsig$;\r
- return;\r
- }\r
-\r
- if( dwarfsig == 0x66727764 )\r
- {\r
- elfpath = (char *)(imgstart + debugrva + 0xc);\r
- $printf "looking for elf path at 0x%x", elfpath$;\r
- }\r
- else\r
- {\r
- elfpath = (char *)(imgstart + debugrva + 0x10);\r
- $printf "looking for elf path at 0x%x", elfpath$;\r
- }\r
-\r
- // elf base is baseofcode (we hope that for TE images it's not baseofdata)\r
- elfbase = imgstart + dword(imgstart + 0xc) - strippedsize;\r
-\r
- $printf "found path %s",elfpath$;\r
- $fprintf 50, "load /ni /np /a %s &0x%x\n",elfpath,elfbase$;\r
-}\r
-.\r
-\r
-define /r ProcessFvSection(secstart)\r
-unsigned long secstart;\r
-{\r
- unsigned long sectionsize;\r
- unsigned char sectiontype;\r
-\r
- sectionsize = dword(secstart);\r
- //sectiontype = (sectionsize & 0xff000000) >> 24;\r
- sectiontype = (sectionsize & 0xff000000) / 0x1000000;\r
- sectionsize = sectionsize & 0x00ffffff;\r
-\r
- $printf "fv section at %x size %x type %x",secstart,sectionsize,sectiontype$;\r
-\r
- if(sectiontype == 0x10) // PE32\r
- {\r
- ProcessPE32(secstart+0x4);\r
- }\r
- else if(sectiontype == 0x12) // TE\r
- {\r
- ProcessTE(secstart+0x4);\r
- }\r
-}\r
-.\r
-\r
-define /r ProcessFfsFile(ffsfilestart)\r
-unsigned long ffsfilestart;\r
-{\r
- unsigned long ffsfilesize;\r
- unsigned long ffsfiletype;\r
- unsigned long secoffset;\r
- unsigned long secsize;\r
-\r
- //ffsfiletype = byte(ffsfilestart + 0x12);\r
- ffsfilesize = dword(ffsfilestart + 0x14);\r
- //ffsfiletype = (ffsfilesize & 0xff000000) >> 24;\r
- ffsfiletype = (ffsfilesize & 0xff000000) / 0x1000000;\r
- ffsfilesize = ffsfilesize & 0x00ffffff;\r
-\r
- if(ffsfiletype == 0xff) return;\r
-\r
- $printf "ffs file at %x size %x type %x",ffsfilestart,ffsfilesize,ffsfiletype$;\r
-\r
- secoffset = ffsfilestart + 0x18;\r
-\r
- // loop through sections in file\r
- while(secoffset < (ffsfilestart + ffsfilesize))\r
- {\r
- // process fv section and increment section offset by size\r
- secsize = dword(secoffset) & 0x00ffffff;\r
- ProcessFvSection(secoffset);\r
- secoffset = secoffset + secsize;\r
-\r
- // align to next 4 byte boundary\r
- if( (secoffset & 0x3) != 0 )\r
- {\r
- secoffset = secoffset + (0x4 - (secoffset & 0x3));\r
- }\r
- } // end section loop\r
-}\r
-.\r
-\r
-define /r LoadPeiSec()\r
-{\r
- unsigned long fvbase;\r
- unsigned long fvlen;\r
- unsigned long fvsig;\r
- unsigned long ffsoffset;\r
- unsigned long ffsfilesize;\r
-\r
- fvbase = FindFv();\r
- $printf "fvbase %x",fvbase$;\r
-\r
- // get fv signature field\r
- fvsig = dword(fvbase + 0x28);\r
- if(fvsig != 0x4856465F)\r
- {\r
- $printf "FV does not have proper signature, exiting"$;\r
- return 0;\r
- }\r
-\r
- $printf "FV signature found"$;\r
-\r
- $fopen 50, 'C:\loadfiles.inc'$;\r
-\r
- fvlen = dword(fvbase + 0x20);\r
-\r
- // first ffs file is after fv header, use headerlength field\r
- //ffsoffset = (dword(fvbase + 0x30) & 0xffff0000) >> 16;\r
- ffsoffset = (dword(fvbase + 0x30) & 0xffff0000) / 0x10000;\r
- ffsoffset = fvbase + GetWord(fvbase + 0x30);\r
-\r
- // loop through ffs files\r
- while(ffsoffset < (fvbase+fvlen))\r
- {\r
- // process ffs file and increment by ffs file size field\r
- ProcessFfsFile(ffsoffset);\r
- ffsfilesize = (dword(ffsoffset + 0x14) & 0x00ffffff);\r
- if(ffsfilesize == 0)\r
- {\r
- break;\r
- }\r
- ffsoffset = ffsoffset + ffsfilesize;\r
-\r
-\r
- // align to next 8 byte boundary\r
- if( (ffsoffset & 0x7) != 0 )\r
- {\r
- ffsoffset = ffsoffset + (0x8 - (ffsoffset & 0x7));\r
- }\r
-\r
- } // end fv ffs loop\r
-\r
- $vclose 50$;\r
-\r
-}\r
-.\r
-\r
-define /r FindSystemTable(TopOfRam)\r
-unsigned long TopOfRam;\r
-{\r
- unsigned long offset;\r
-\r
- $printf "FindSystemTable"$;\r
- $printf "top of mem is %x",TopOfRam$;\r
-\r
- offset = TopOfRam;\r
-\r
- // align to highest 4MB boundary\r
- offset = offset & 0xFFC00000;\r
-\r
- // start at top and look on 4MB boundaries for system table ptr structure\r
- while(offset > 0)\r
- {\r
- //$printf "checking %x",offset$;\r
- //$printf "value is %x",dword(offset)$;\r
-\r
- // low signature match\r
- if(dword(offset) == 0x20494249)\r
- {\r
- // high signature match\r
- if(dword(offset+4) == 0x54535953)\r
- {\r
- // less than 4GB?\r
- if(dword(offset+0x0c) == 0)\r
- {\r
- // less than top of ram?\r
- if(dword(offset+8) < TopOfRam)\r
- {\r
- return(dword(offset+8));\r
- }\r
- }\r
- }\r
-\r
- }\r
-\r
- if(offset < 0x400000) break;\r
- offset = offset - 0x400000;\r
- }\r
-\r
- return 0;\r
-}\r
-.\r
-\r
-define /r ProcessImage(ImageBase)\r
-unsigned long ImageBase;\r
-{\r
- $printf "ProcessImage %x", ImageBase$;\r
-}\r
-.\r
-\r
-define /r FindDebugInfo(SystemTable)\r
-unsigned long SystemTable;\r
-{\r
- unsigned long CfgTableEntries;\r
- unsigned long ConfigTable;\r
- unsigned long i;\r
- unsigned long offset;\r
- unsigned long dbghdr;\r
- unsigned long dbgentries;\r
- unsigned long dbgptr;\r
- unsigned long dbginfo;\r
- unsigned long loadedimg;\r
-\r
- $printf "FindDebugInfo"$;\r
-\r
- dbgentries = 0;\r
- CfgTableEntries = dword(SystemTable + 0x40);\r
- ConfigTable = dword(SystemTable + 0x44);\r
-\r
- $printf "config table is at %x (%d entries)", ConfigTable, CfgTableEntries$;\r
-\r
- // now search for debug info entry with guid 49152E77-1ADA-4764-B7A2-7AFEFED95E8B\r
- // 0x49152E77 0x47641ADA 0xFE7AA2B7 0x8B5ED9FE\r
- for(i=0; i<CfgTableEntries; i++)\r
- {\r
- offset = ConfigTable + (i*0x14);\r
- if(dword(offset) == 0x49152E77)\r
- {\r
- if(dword(offset+4) == 0x47641ADA)\r
- {\r
- if(dword(offset+8) == 0xFE7AA2B7)\r
- {\r
- if(dword(offset+0xc) == 0x8B5ED9FE)\r
- {\r
- dbghdr = dword(offset+0x10);\r
- dbgentries = dword(dbghdr + 4);\r
- dbgptr = dword(dbghdr + 8);\r
- }\r
- }\r
- }\r
- }\r
- }\r
-\r
- if(dbgentries == 0)\r
- {\r
- $printf "no debug entries found"$;\r
- return;\r
- }\r
-\r
- $printf "debug table at %x (%d entries)", dbgptr, dbgentries$;\r
-\r
- for(i=0; i<dbgentries; i++)\r
- {\r
- dbginfo = dword(dbgptr + (i*4));\r
- if(dbginfo != 0)\r
- {\r
- if(dword(dbginfo) == 1) // normal debug info type\r
- {\r
- loadedimg = dword(dbginfo + 4);\r
- ProcessPE32(dword(loadedimg + 0x20));\r
- }\r
- }\r
- }\r
-}\r
-.\r
-\r
-define /r LoadDxe()\r
-{\r
- unsigned long maxmem;\r
- unsigned long systbl;\r
-\r
- $printf "LoadDxe"$;\r
-\r
- $fopen 50, 'C:\loadfiles.inc'$;\r
-\r
- maxmem = GetMaxMem();\r
- systbl = FindSystemTable(maxmem);\r
- if(systbl != 0)\r
- {\r
- $printf "found system table at %x",systbl$;\r
- FindDebugInfo(systbl);\r
- }\r
-\r
- $vclose 50$;\r
-}\r
-.\r
-\r
-define /r LoadRuntimeDxe()\r
-\r
-{\r
- unsigned long maxmem;\r
- unsigned long SystemTable;\r
- unsigned long CfgTableEntries;\r
- unsigned long ConfigTable;\r
- unsigned long i;\r
- unsigned long offset;\r
- unsigned long numentries;\r
- unsigned long RuntimeDebugInfo;\r
- unsigned long DebugInfoOffset;\r
- unsigned long imgbase;\r
-\r
- $printf "LoadRuntimeDxe"$;\r
-\r
- $fopen 50, 'C:\loadfiles.inc'$;\r
-\r
- RuntimeDebugInfo = 0x80000010;\r
-\r
- if(RuntimeDebugInfo != 0)\r
- {\r
- numentries = dword(RuntimeDebugInfo);\r
-\r
- $printf "runtime debug info is at %x (%d entries)", RuntimeDebugInfo, numentries$;\r
-\r
- DebugInfoOffset = RuntimeDebugInfo + 0x4;\r
- for(i=0; i<numentries; i++)\r
- {\r
- imgbase = dword(DebugInfoOffset);\r
- if(imgbase != 0)\r
- {\r
- $printf "found image at %x",imgbase$;\r
- ProcessPE32(imgbase);\r
- }\r
- DebugInfoOffset = DebugInfoOffset + 0x4;\r
- }\r
- }\r
-\r
- $vclose 50$;\r
-}\r
-.\r
+++ /dev/null
-//\r
-// Copyright (c) 2008 - 2009, Apple Inc. 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
-error = continue\r
-unload\r
-error = abort\r
-\r
-setreg @CP15_CONTROL = 0x0005107E\r
-setreg @pc=0x80008208\r
-setreg @cpsr=0x000000D3\r
-dis/D\r
-readfile,raw,nowarn "ZZZZZZ/FV/BEAGLEBOARD_EFI.fd"=0x80008000\r
-\r
+++ /dev/null
-#!/bin/sh\r
-#\r
-# Copyright (c) 2008 - 2009, Apple Inc. 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
-IN=`/usr/bin/cygpath -u $1`\r
-OUT=`/usr/bin/cygpath -u $2`\r
-\r
-/usr/bin/sed -e "s/\/cygdrive\/\(.\)/load\/a\/ni\/np \"\1:/g" \\r
- -e 's:\\:/:g' \\r
- -e "s/^/load\/a\/ni\/np \"/g" \\r
- -e "s/dll /dll\" \&/g" \\r
- $IN | /usr/bin/sort.exe --key=3 --output=$OUT\r
-\r
+++ /dev/null
-//\r
-// Copyright (c) 2008 - 2009, Apple Inc. 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
-error = continue\r
-unload\r
-error = abort\r
-\r
-setreg @CP15_CONTROL = 0x0005107E\r
-setreg @cpsr=0x000000D3\r
-\r
-; General clock settings.\r
-setmem /32 0x48307270=0x00000080\r
-setmem /32 0x48306D40=0x00000003\r
-setmem /32 0x48005140=0x03020A50\r
-\r
-;Clock configuration\r
-setmem /32 0x48004A40=0x0000030A\r
-setmem /32 0x48004C40=0x00000015\r
-\r
-;DPLL3 (Core) settings\r
-setmem /32 0x48004D00=0x00370037\r
-setmem /32 0x48004D30=0x00000000\r
-setmem /32 0x48004D40=0x094C0C00\r
-\r
-;DPLL4 (Peripheral) settings\r
-setmem /32 0x48004D00=0x00370037\r
-setmem /32 0x48004D30=0x00000000\r
-setmem /32 0x48004D44=0x0001B00C\r
-setmem /32 0x48004D48=0x00000009\r
-\r
-;DPLL1 (MPU) settings\r
-setmem /32 0x48004904=0x00000037\r
-setmem /32 0x48004934=0x00000000\r
-setmem /32 0x48004940=0x0011F40C\r
-setmem /32 0x48004944=0x00000001\r
-setmem /32 0x48004948=0x00000000\r
-\r
-;RAM setup.\r
-setmem /16 0x6D000010=0x0000\r
-setmem /16 0x6D000040=0x0001\r
-setmem /16 0x6D000044=0x0100\r
-setmem /16 0x6D000048=0x0000\r
-setmem /32 0x6D000060=0x0000000A\r
-setmem /32 0x6D000070=0x00000081\r
-setmem /16 0x6D000040=0x0003\r
-setmem /32 0x6D000080=0x02D04011\r
-setmem /16 0x6D000084=0x0032\r
-setmem /16 0x6D00008C=0x0000\r
-setmem /32 0x6D00009C=0xBA9DC4C6\r
-setmem /32 0x6D0000A0=0x00012522\r
-setmem /32 0x6D0000A4=0x0004E201\r
-setmem /16 0x6D000040=0x0003\r
-setmem /32 0x6D0000B0=0x02D04011\r
-setmem /16 0x6D0000B4=0x0032\r
-setmem /16 0x6D0000BC=0x0000\r
-setmem /32 0x6D0000C4=0xBA9DC4C6\r
-setmem /32 0x6D0000C8=0x00012522\r
-setmem /32 0x6D0000D4=0x0004E201\r
+++ /dev/null
-//\r
-// Copyright (c) 2008 - 2009, Apple Inc. 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
-include 'ZZZZZZ/rvi_symbols_macros.inc'\r
-\r
-macro write_symbols_file("ZZZZZZ/rvi_symbols.tmp", 0x00000000, 0x10000000)\r
-\r
-host "bash -o igncr ZZZZZZ/rvi_convert_symbols.sh ZZZZZZ/rvi_symbols.tmp ZZZZZZ/rvi_symbols.inc"\r
-include 'ZZZZZZ/rvi_symbols.inc'\r
-load /NI /NP 'ZZZZZZ/rvi_dummy.axf' ;.constdata\r
-unload rvi_dummy.axf\r
-delfile rvi_dummy.axf\r
-\r
-\r
+++ /dev/null
-//\r
-// Copyright (c) 2008 - 2009, Apple Inc. 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
-define /R int compare_guid(guid1, guid2)\r
- unsigned char *guid1;\r
- unsigned char *guid2;\r
-{\r
- return strncmp(guid1, guid2, 16);\r
-}\r
-.\r
-\r
-define /R unsigned char * find_system_table(mem_start, mem_size)\r
- unsigned char *mem_start;\r
- unsigned long mem_size;\r
-{\r
- unsigned char *mem_ptr;\r
-\r
- mem_ptr = mem_start + mem_size;\r
-\r
- do\r
- {\r
- mem_ptr -= 0x400000; // 4 MB\r
-\r
- if (strncmp(mem_ptr, "IBI SYST", 8) == 0)\r
- {\r
- return *(unsigned long *)(mem_ptr + 8); // EfiSystemTableBase\r
- }\r
-\r
- } while (mem_ptr > mem_start);\r
-\r
- return 0;\r
-}\r
-.\r
-\r
-define /R unsigned char * find_debug_info_table_header(system_table)\r
- unsigned char *system_table;\r
-{\r
- unsigned long configuration_table_entries;\r
- unsigned char *configuration_table;\r
- unsigned long index;\r
- unsigned char debug_table_guid[16];\r
-\r
- // Fill in the debug table's guid\r
- debug_table_guid[ 0] = 0x77;\r
- debug_table_guid[ 1] = 0x2E;\r
- debug_table_guid[ 2] = 0x15;\r
- debug_table_guid[ 3] = 0x49;\r
- debug_table_guid[ 4] = 0xDA;\r
- debug_table_guid[ 5] = 0x1A;\r
- debug_table_guid[ 6] = 0x64;\r
- debug_table_guid[ 7] = 0x47;\r
- debug_table_guid[ 8] = 0xB7;\r
- debug_table_guid[ 9] = 0xA2;\r
- debug_table_guid[10] = 0x7A;\r
- debug_table_guid[11] = 0xFE;\r
- debug_table_guid[12] = 0xFE;\r
- debug_table_guid[13] = 0xD9;\r
- debug_table_guid[14] = 0x5E;\r
- debug_table_guid[15] = 0x8B;\r
-\r
- configuration_table_entries = *(unsigned long *)(system_table + 64);\r
- configuration_table = *(unsigned long *)(system_table + 68);\r
-\r
- for (index = 0; index < configuration_table_entries; index++)\r
- {\r
- if (compare_guid(configuration_table, debug_table_guid) == 0)\r
- {\r
- return *(unsigned long *)(configuration_table + 16);\r
- }\r
-\r
- configuration_table += 20;\r
- }\r
-\r
- return 0;\r
-}\r
-.\r
-\r
-define /R int valid_pe_header(header)\r
- unsigned char *header;\r
-{\r
- if ((header[0x00] == 'M') &&\r
- (header[0x01] == 'Z') &&\r
- (header[0x80] == 'P') &&\r
- (header[0x81] == 'E'))\r
- {\r
- return 1;\r
- }\r
-\r
- return 0;\r
-}\r
-.\r
-\r
-define /R unsigned long pe_headersize(header)\r
- unsigned char *header;\r
-{\r
- unsigned long *size;\r
-\r
- size = header + 0x00AC;\r
-\r
- return *size;\r
-}\r
-.\r
-\r
-define /R unsigned char *pe_filename(header)\r
- unsigned char *header;\r
-{\r
- unsigned long *debugOffset;\r
- unsigned char *stringOffset;\r
-\r
- if (valid_pe_header(header))\r
- {\r
- debugOffset = header + 0x0128;\r
- stringOffset = header + *debugOffset + 0x002C;\r
-\r
- return stringOffset;\r
- }\r
-\r
- return 0;\r
-}\r
-.\r
-\r
-define /R int char_is_valid(c)\r
- unsigned char c;\r
-{\r
- if (c >= 32 && c < 127)\r
- return 1;\r
-\r
- return 0;\r
-}\r
-.\r
-\r
-define /R write_symbols_file(filename, mem_start, mem_size)\r
- unsigned char *filename;\r
- unsigned char *mem_start;\r
- unsigned long mem_size;\r
-{\r
- unsigned char *system_table;\r
- unsigned char *debug_info_table_header;\r
- unsigned char *debug_info_table;\r
- unsigned long debug_info_table_size;\r
- unsigned long index;\r
- unsigned char *debug_image_info;\r
- unsigned char *loaded_image_protocol;\r
- unsigned char *image_base;\r
- unsigned char *debug_filename;\r
- unsigned long header_size;\r
- int status;\r
-\r
- system_table = find_system_table(mem_start, mem_size);\r
- if (system_table == 0)\r
- {\r
- return;\r
- }\r
-\r
- status = fopen(88, filename, "w");\r
-\r
- debug_info_table_header = find_debug_info_table_header(system_table);\r
-\r
- debug_info_table = *(unsigned long *)(debug_info_table_header + 8);\r
- debug_info_table_size = *(unsigned long *)(debug_info_table_header + 4);\r
-\r
- for (index = 0; index < (debug_info_table_size * 4); index += 4)\r
- {\r
- debug_image_info = *(unsigned long *)(debug_info_table + index);\r
-\r
- if (debug_image_info == 0)\r
- {\r
- break;\r
- }\r
-\r
- loaded_image_protocol = *(unsigned long *)(debug_image_info + 4);\r
-\r
- image_base = *(unsigned long *)(loaded_image_protocol + 32);\r
-\r
- debug_filename = pe_filename(image_base);\r
- header_size = pe_headersize(image_base);\r
-\r
- $fprintf 88, "%s 0x%08x\n", debug_filename, image_base + header_size$;\r
- }\r
-\r
-\r
- fclose(88);\r
-}\r
-.\r
-\r
+++ /dev/null
-//\r
-// Copyright (c) 2008 - 2009, Apple Inc. 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
-error = continue\r
-\r
-unload\r
-\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-delfile 1\r
-\r
-error = abort\r
+++ /dev/null
-/*++\r
-RealView EB FVB DXE Driver\r
-\r
-Copyright (c) 2010, Apple Inc. 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 <PiDxe.h>\r
-\r
-#include <Library/BaseLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/UefiLib.h>\r
-#include <Library/PcdLib.h>\r
-\r
-#include <Protocol/FirmwareVolumeBlock.h>\r
-\r
-\r
-\r
-/**\r
- The GetAttributes() function retrieves the attributes and\r
- current settings of the block.\r
-\r
- @param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
-\r
- @param Attributes Pointer to EFI_FVB_ATTRIBUTES_2 in which the\r
- attributes and current settings are\r
- returned. Type EFI_FVB_ATTRIBUTES_2 is defined\r
- in EFI_FIRMWARE_VOLUME_HEADER.\r
-\r
- @retval EFI_SUCCESS The firmware volume attributes were\r
- returned.\r
-\r
-**/\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-FvbGetAttributes (\r
- IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,\r
- OUT EFI_FVB_ATTRIBUTES_2 *Attributes\r
- )\r
-{\r
- return EFI_UNSUPPORTED;\r
-}\r
-\r
-\r
-/**\r
- The SetAttributes() function sets configurable firmware volume\r
- attributes and returns the new settings of the firmware volume.\r
-\r
-\r
- @param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
-\r
- @param Attributes On input, Attributes is a pointer to\r
- EFI_FVB_ATTRIBUTES_2 that contains the\r
- desired firmware volume settings. On\r
- successful return, it contains the new\r
- settings of the firmware volume. Type\r
- EFI_FVB_ATTRIBUTES_2 is defined in\r
- EFI_FIRMWARE_VOLUME_HEADER.\r
-\r
- @retval EFI_SUCCESS The firmware volume attributes were returned.\r
-\r
- @retval EFI_INVALID_PARAMETER The attributes requested are in\r
- conflict with the capabilities\r
- as declared in the firmware\r
- volume header.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-FvbSetAttributes (\r
- IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,\r
- IN OUT EFI_FVB_ATTRIBUTES_2 *Attributes\r
- )\r
-{\r
- return EFI_UNSUPPORTED;\r
-}\r
-\r
-\r
-/**\r
- The GetPhysicalAddress() function retrieves the base address of\r
- a memory-mapped firmware volume. This function should be called\r
- only for memory-mapped firmware volumes.\r
-\r
- @param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
-\r
- @param Address Pointer to a caller-allocated\r
- EFI_PHYSICAL_ADDRESS that, on successful\r
- return from GetPhysicalAddress(), contains the\r
- base address of the firmware volume.\r
-\r
- @retval EFI_SUCCESS The firmware volume base address was returned.\r
-\r
- @retval EFI_NOT_SUPPORTED The firmware volume is not memory mapped.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-FvbGetPhysicalAddress (\r
- IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,\r
- OUT EFI_PHYSICAL_ADDRESS *Address\r
- )\r
-{\r
- return EFI_UNSUPPORTED;\r
-}\r
-\r
-\r
-/**\r
- The GetBlockSize() function retrieves the size of the requested\r
- block. It also returns the number of additional blocks with\r
- the identical size. The GetBlockSize() function is used to\r
- retrieve the block map (see EFI_FIRMWARE_VOLUME_HEADER).\r
-\r
-\r
- @param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
-\r
- @param Lba Indicates the block for which to return the size.\r
-\r
- @param BlockSize Pointer to a caller-allocated UINTN in which\r
- the size of the block is returned.\r
-\r
- @param NumberOfBlocks Pointer to a caller-allocated UINTN in\r
- which the number of consecutive blocks,\r
- starting with Lba, is returned. All\r
- blocks in this range have a size of\r
- BlockSize.\r
-\r
-\r
- @retval EFI_SUCCESS The firmware volume base address was returned.\r
-\r
- @retval EFI_INVALID_PARAMETER The requested LBA is out of range.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-FvbGetBlockSize (\r
- IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,\r
- IN EFI_LBA Lba,\r
- OUT UINTN *BlockSize,\r
- OUT UINTN *NumberOfBlocks\r
- )\r
-{\r
- return EFI_UNSUPPORTED;\r
-}\r
-\r
-\r
-\r
-/**\r
- Reads the specified number of bytes into a buffer from the specified block.\r
-\r
- The Read() function reads the requested number of bytes from the\r
- requested block and stores them in the provided buffer.\r
- Implementations should be mindful that the firmware volume\r
- might be in the ReadDisabled state. If it is in this state,\r
- the Read() function must return the status code\r
- EFI_ACCESS_DENIED without modifying the contents of the\r
- buffer. The Read() function must also prevent spanning block\r
- boundaries. If a read is requested that would span a block\r
- boundary, the read must read up to the boundary but not\r
- beyond. The output parameter NumBytes must be set to correctly\r
- indicate the number of bytes actually read. The caller must be\r
- aware that a read may be partially completed.\r
-\r
- @param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
-\r
- @param Lba The starting logical block index\r
- from which to read.\r
-\r
- @param Offset Offset into the block at which to begin reading.\r
-\r
- @param NumBytes Pointer to a UINTN. At entry, *NumBytes\r
- contains the total size of the buffer. At\r
- exit, *NumBytes contains the total number of\r
- bytes read.\r
-\r
- @param Buffer Pointer to a caller-allocated buffer that will\r
- be used to hold the data that is read.\r
-\r
- @retval EFI_SUCCESS The firmware volume was read successfully,\r
- and contents are in Buffer.\r
-\r
- @retval EFI_BAD_BUFFER_SIZE Read attempted across an LBA\r
- boundary. On output, NumBytes\r
- contains the total number of bytes\r
- returned in Buffer.\r
-\r
- @retval EFI_ACCESS_DENIED The firmware volume is in the\r
- ReadDisabled state.\r
-\r
- @retval EFI_DEVICE_ERROR The block device is not\r
- functioning correctly and could\r
- not be read.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-FvbRead (\r
- IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,\r
- IN EFI_LBA Lba,\r
- IN UINTN Offset,\r
- IN OUT UINTN *NumBytes,\r
- IN OUT UINT8 *Buffer\r
- )\r
-{\r
- return EFI_UNSUPPORTED;\r
-}\r
-\r
-\r
-/**\r
- Writes the specified number of bytes from the input buffer to the block.\r
-\r
- The Write() function writes the specified number of bytes from\r
- the provided buffer to the specified block and offset. If the\r
- firmware volume is sticky write, the caller must ensure that\r
- all the bits of the specified range to write are in the\r
- EFI_FVB_ERASE_POLARITY state before calling the Write()\r
- function, or else the result will be unpredictable. This\r
- unpredictability arises because, for a sticky-write firmware\r
- volume, a write may negate a bit in the EFI_FVB_ERASE_POLARITY\r
- state but cannot flip it back again. Before calling the\r
- Write() function, it is recommended for the caller to first call\r
- the EraseBlocks() function to erase the specified block to\r
- write. A block erase cycle will transition bits from the\r
- (NOT)EFI_FVB_ERASE_POLARITY state back to the\r
- EFI_FVB_ERASE_POLARITY state. Implementations should be\r
- mindful that the firmware volume might be in the WriteDisabled\r
- state. If it is in this state, the Write() function must\r
- return the status code EFI_ACCESS_DENIED without modifying the\r
- contents of the firmware volume. The Write() function must\r
- also prevent spanning block boundaries. If a write is\r
- requested that spans a block boundary, the write must store up\r
- to the boundary but not beyond. The output parameter NumBytes\r
- must be set to correctly indicate the number of bytes actually\r
- written. The caller must be aware that a write may be\r
- partially completed. All writes, partial or otherwise, must be\r
- fully flushed to the hardware before the Write() service\r
- returns.\r
-\r
- @param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
-\r
- @param Lba The starting logical block index to write to.\r
-\r
- @param Offset Offset into the block at which to begin writing.\r
-\r
- @param NumBytes The pointer to a UINTN. At entry, *NumBytes\r
- contains the total size of the buffer. At\r
- exit, *NumBytes contains the total number of\r
- bytes actually written.\r
-\r
- @param Buffer The pointer to a caller-allocated buffer that\r
- contains the source for the write.\r
-\r
- @retval EFI_SUCCESS The firmware volume was written successfully.\r
-\r
- @retval EFI_BAD_BUFFER_SIZE The write was attempted across an\r
- LBA boundary. On output, NumBytes\r
- contains the total number of bytes\r
- actually written.\r
-\r
- @retval EFI_ACCESS_DENIED The firmware volume is in the\r
- WriteDisabled state.\r
-\r
- @retval EFI_DEVICE_ERROR The block device is malfunctioning\r
- and could not be written.\r
-\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-FvbWrite (\r
- IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,\r
- IN EFI_LBA Lba,\r
- IN UINTN Offset,\r
- IN OUT UINTN *NumBytes,\r
- IN UINT8 *Buffer\r
- )\r
-{\r
- return EFI_UNSUPPORTED;\r
-}\r
-\r
-\r
-/**\r
- Erases and initializes a firmware volume block.\r
-\r
- The EraseBlocks() function erases one or more blocks as denoted\r
- by the variable argument list. The entire parameter list of\r
- blocks must be verified before erasing any blocks. If a block is\r
- requested that does not exist within the associated firmware\r
- volume (it has a larger index than the last block of the\r
- firmware volume), the EraseBlocks() function must return the\r
- status code EFI_INVALID_PARAMETER without modifying the contents\r
- of the firmware volume. Implementations should be mindful that\r
- the firmware volume might be in the WriteDisabled state. If it\r
- is in this state, the EraseBlocks() function must return the\r
- status code EFI_ACCESS_DENIED without modifying the contents of\r
- the firmware volume. All calls to EraseBlocks() must be fully\r
- flushed to the hardware before the EraseBlocks() service\r
- returns.\r
-\r
- @param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL\r
- instance.\r
-\r
- @param ... The variable argument list is a list of tuples.\r
- Each tuple describes a range of LBAs to erase\r
- and consists of the following:\r
- - An EFI_LBA that indicates the starting LBA\r
- - A UINTN that indicates the number of blocks to\r
- erase.\r
-\r
- The list is terminated with an\r
- EFI_LBA_LIST_TERMINATOR. For example, the\r
- following indicates that two ranges of blocks\r
- (5-7 and 10-11) are to be erased: EraseBlocks\r
- (This, 5, 3, 10, 2, EFI_LBA_LIST_TERMINATOR);\r
-\r
- @retval EFI_SUCCESS The erase request successfully\r
- completed.\r
-\r
- @retval EFI_ACCESS_DENIED The firmware volume is in the\r
- WriteDisabled state.\r
- @retval EFI_DEVICE_ERROR The block device is not functioning\r
- correctly and could not be written.\r
- The firmware device may have been\r
- partially erased.\r
- @retval EFI_INVALID_PARAMETER One or more of the LBAs listed\r
- in the variable argument list do\r
- not exist in the firmware volume.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-FvbEraseBlocks (\r
- IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,\r
- ...\r
- )\r
-{\r
- return EFI_UNSUPPORTED;\r
-}\r
-\r
-\r
-//\r
-// Making this global saves a few bytes in image size\r
-//\r
-EFI_HANDLE gFvbHandle = NULL;\r
-\r
-\r
-///\r
-/// The Firmware Volume Block Protocol is the low-level interface\r
-/// to a firmware volume. File-level access to a firmware volume\r
-/// should not be done using the Firmware Volume Block Protocol.\r
-/// Normal access to a firmware volume must use the Firmware\r
-/// Volume Protocol. Typically, only the file system driver that\r
-/// produces the Firmware Volume Protocol will bind to the\r
-/// Firmware Volume Block Protocol.\r
-///\r
-EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL gFvbProtocol = {\r
- FvbGetAttributes,\r
- FvbSetAttributes,\r
- FvbGetPhysicalAddress,\r
- FvbGetBlockSize,\r
- FvbRead,\r
- FvbWrite,\r
- FvbEraseBlocks,\r
- ///\r
- /// The handle of the parent firmware volume.\r
- ///\r
- NULL\r
-};\r
-\r
-// NvStorageVariableBase = (EFI_PHYSICAL_ADDRESS) FixedPcdGet32 (PcdFlashNvStorageVariableBase);\r
-\r
-\r
-/**\r
- Initialize the state information for the CPU Architectural Protocol\r
-\r
- @param ImageHandle of the loaded driver\r
- @param SystemTable Pointer to the System Table\r
-\r
- @retval EFI_SUCCESS Protocol registered\r
- @retval EFI_OUT_OF_RESOURCES Cannot allocate protocol data structure\r
- @retval EFI_DEVICE_ERROR Hardware problems\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-FvbDxeInitialize (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
- )\r
-{\r
- EFI_STATUS Status;\r
-\r
-\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &gFvbHandle,\r
- &gEfiFirmwareVolumeBlockProtocolGuid, &gFvbProtocol,\r
- NULL\r
- );\r
- ASSERT_EFI_ERROR (Status);\r
-\r
- // SetVertAddressEvent ()\r
-\r
- // GCD Map NAND as RT\r
-\r
- return Status;\r
-}\r
-\r
+++ /dev/null
-#/** @file\r
-#\r
-# Copyright (c) 2008 - 2010, Apple Inc. 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 = FvbDxe\r
- FILE_GUID = 43ECE281-D9E2-4DD0-B304-E6A5689256F4\r
- MODULE_TYPE = DXE_RUNTIME_DRIVER\r
- VERSION_STRING = 1.0\r
-\r
- ENTRY_POINT = FvbDxeInitialize\r
-\r
-\r
-[Sources.common]\r
- FvbDxe.c\r
-\r
-[Packages]\r
- MdePkg/MdePkg.dec\r
- MdeModulePkg/MdeModulePkg.dec\r
- EmbeddedPkg/EmbeddedPkg.dec\r
- ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEbPkg.dec\r
-\r
-[LibraryClasses]\r
- BaseLib\r
- UefiLib\r
- UefiBootServicesTableLib\r
- DebugLib\r
- PrintLib\r
- UefiDriverEntryPoint\r
- IoLib\r
-\r
-[Guids]\r
-\r
-\r
-[Protocols]\r
- gEfiFirmwareVolumeBlockProtocolGuid\r
-\r
-[FixedPcd.common]\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase\r
-\r
-[depex]\r
- TRUE\r
+++ /dev/null
-/** @file\r
-* Header defining RealView EB constants (Base addresses, sizes, flags)\r
-*\r
-* Copyright (c) 2011, 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
-#ifndef __ARM_EB_H__\r
-#define __ARM_EB_H__\r
-\r
-/*******************************************\r
-// Platform Memory Map\r
-*******************************************/\r
-\r
-// Can be NOR, DOC, DRAM, SRAM\r
-#define ARM_EB_REMAP_BASE 0x00000000\r
-#define ARM_EB_REMAP_SZ 0x04000000\r
-\r
-// Motherboard Peripheral and On-chip peripheral\r
-#define ARM_EB_SMB_MB_ON_CHIP_PERIPH_BASE 0x10000000\r
-#define ARM_EB_SMB_MB_ON_CHIP_PERIPH_SZ 0x10000000\r
-#define ARM_EB_BOARD_PERIPH_BASE 0x10000000\r
-//#define ARM_EB_CHIP_PERIPH_BASE 0x10020000\r
-\r
-// SMC\r
-#define ARM_EB_SMC_BASE 0x40000000\r
-#define ARM_EB_SMC_SZ 0x20000000\r
-\r
-// NOR Flash 1\r
-#define ARM_EB_SMB_NOR_BASE 0x40000000\r
-#define ARM_EB_SMB_NOR_SZ 0x04000000 /* 64 MB */\r
-// DOC Flash\r
-#define ARM_EB_SMB_DOC_BASE 0x44000000\r
-#define ARM_EB_SMB_DOC_SZ 0x04000000 /* 64 MB */\r
-// SRAM\r
-#define ARM_EB_SMB_SRAM_BASE 0x48000000\r
-#define ARM_EB_SMB_SRAM_SZ 0x02000000 /* 32 MB */\r
-// USB, Ethernet, VRAM\r
-#define ARM_EB_SMB_PERIPH_BASE 0x4E000000\r
-//#define ARM_EB_SMB_PERIPH_VRAM 0x4C000000\r
-#define ARM_EB_SMB_PERIPH_SZ 0x02000000 /* 32 MB */\r
-\r
-// Logic Tile\r
-#define ARM_EB_LOGIC_TILE_BASE 0xC0000000\r
-#define ARM_EB_LOGIC_TILE_SZ 0x40000000\r
-\r
-/*******************************************\r
-// Motherboard peripherals\r
-*******************************************/\r
-\r
-// Define MotherBoard SYS flags offsets (from ARM_EB_BOARD_PERIPH_BASE)\r
-#define ARM_EB_SYS_ID_REG (ARM_EB_BOARD_PERIPH_BASE + 0x00000)\r
-#define ARM_EB_SYS_OSC4_REG (ARM_EB_BOARD_PERIPH_BASE + 0x0001C)\r
-#define ARM_EB_SYS_LOCK_REG (ARM_EB_BOARD_PERIPH_BASE + 0x00020)\r
-#define ARM_EB_SYS_100HZ_REG (ARM_EB_BOARD_PERIPH_BASE + 0x00024)\r
-#define ARM_EB_SYS_FLAGS_REG (ARM_EB_BOARD_PERIPH_BASE + 0x00030)\r
-#define ARM_EB_SYS_FLAGS_SET_REG (ARM_EB_BOARD_PERIPH_BASE + 0x00030)\r
-#define ARM_EB_SYS_FLAGS_CLR_REG (ARM_EB_BOARD_PERIPH_BASE + 0x00034)\r
-#define ARM_EB_SYS_FLAGS_NV_REG (ARM_EB_BOARD_PERIPH_BASE + 0x00038)\r
-#define ARM_EB_SYS_FLAGS_NV_SET_REG (ARM_EB_BOARD_PERIPH_BASE + 0x00038)\r
-#define ARM_EB_SYS_FLAGS_NV_CLR_REG (ARM_EB_BOARD_PERIPH_BASE + 0x0003C)\r
-#define ARM_EB_SYS_RESETCTL_REG (ARM_EB_BOARD_PERIPH_BASE + 0x00040)\r
-#define ARM_EB_SYS_CLCD_REG (ARM_EB_BOARD_PERIPH_BASE + 0x00050)\r
-#define ARM_EB_SYS_PROCID0_REG (ARM_EB_BOARD_PERIPH_BASE + 0x00084)\r
-#define ARM_EB_SYS_PROCID1_REG (ARM_EB_BOARD_PERIPH_BASE + 0x00088)\r
-\r
-// SP810 Controller\r
-#define SP810_CTRL_BASE (ARM_EB_BOARD_PERIPH_BASE + 0x01000)\r
-\r
-// SYSTRCL Register\r
-#define ARM_EB_SYSCTRL 0x10001000\r
-\r
-// Dynamic Memory Controller Base\r
-#define ARM_EB_DMC_BASE 0x10018000\r
-\r
-// Static Memory Controller Base\r
-#define ARM_EB_SMC_CTRL_BASE 0x10080000\r
-\r
-//Note: Moving the framebuffer into the 0x70000000-0x80000000 region does not seem to work\r
-#define PL111_CLCD_VRAM_BASE 0x00100000\r
-\r
-/*// System Configuration Controller register Base addresses\r
-//#define ARM_EB_SYS_CFG_CTRL_BASE 0x100E2000\r
-#define ARM_EB_SYS_CFGRW0_REG 0x100E2000\r
-#define ARM_EB_SYS_CFGRW1_REG 0x100E2004\r
-#define ARM_EB_SYS_CFGRW2_REG 0x100E2008\r
-\r
-#define ARM_EB_CFGRW1_REMAP_NOR0 0\r
-#define ARM_EB_CFGRW1_REMAP_NOR1 (1 << 28)\r
-#define ARM_EB_CFGRW1_REMAP_EXT_AXI (1 << 29)\r
-#define ARM_EB_CFGRW1_REMAP_DRAM (1 << 30)\r
-\r
-// PL301 Fast AXI Base Address\r
-#define ARM_EB_FAXI_BASE 0x100E9000\r
-\r
-// L2x0 Cache Controller Base Address\r
-//#define ARM_EB_L2x0_CTLR_BASE 0x1E00A000*/\r
-\r
-#define ARM_EB_SYS_PROC_ID_MASK (UINT32)(0xFFU << 24)\r
-#define ARM_EB_SYS_PROC_ID_CORTEX_A8 (UINT32)(0x0EU << 24)\r
-#define ARM_EB_SYS_PROC_ID_CORTEX_A9 (UINT32)(0x0CU << 24)\r
-\r
-/*******************************************\r
-// System Configuration Control\r
-*******************************************/\r
-\r
-// Sites where the peripheral is fitted\r
-#define ARM_EB_UNSUPPORTED ~0\r
-\r
-#define VIRTUAL_SYS_CFG(site,func) (((site) << 24) | (func))\r
-\r
-#define SYS_CFG_RTC VIRTUAL_SYS_CFG(ARM_EB_UNSUPPORTED,1)\r
-\r
-#endif\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2009, Hewlett-Packard Company. All rights reserved.<BR>\r
-Portions copyright (c) 2010, Apple Inc. 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
-Module Name:\r
-\r
- Gic.c\r
-\r
-Abstract:\r
-\r
- Driver implementing the GIC interrupt controller protocol\r
-\r
---*/\r
-\r
-#include <PiDxe.h>\r
-\r
-#include <Library/BaseLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/UefiLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/IoLib.h>\r
-\r
-#include <Protocol/Cpu.h>\r
-#include <Protocol/HardwareInterrupt.h>\r
-\r
-\r
-//\r
-// EB board definitions\r
-//\r
-#define EB_GIC1_CPU_INTF_BASE 0x10040000\r
-#define EB_GIC1_DIST_BASE 0x10041000\r
-#define EB_GIC2_CPU_INTF_BASE 0x10050000\r
-#define EB_GIC2_DIST_BASE 0x10051000\r
-#define EB_GIC3_CPU_INTF_BASE 0x10060000\r
-#define EB_GIC3_DIST_BASE 0x10061000\r
-#define EB_GIC4_CPU_INTF_BASE 0x10070000\r
-#define EB_GIC5_DIST_BASE 0x10071000\r
-\r
-// number of interrupts sources supported by each GIC on the EB\r
-#define EB_NUM_GIC_INTERRUPTS 96\r
-\r
-// number of 32-bit registers needed to represent those interrupts as a bit\r
-// (used for enable set, enable clear, pending set, pending clear, and active regs)\r
-#define EB_NUM_GIC_REG_PER_INT_BITS (EB_NUM_GIC_INTERRUPTS / 32)\r
-\r
-// number of 32-bit registers needed to represent those interrupts as two bits\r
-// (used for configuration reg)\r
-#define EB_NUM_GIC_REG_PER_INT_CFG (EB_NUM_GIC_INTERRUPTS / 16)\r
-\r
-// number of 32-bit registers needed to represent interrupts as 8-bit priority field\r
-// (used for priority regs)\r
-#define EB_NUM_GIC_REG_PER_INT_BYTES (EB_NUM_GIC_INTERRUPTS / 4)\r
-\r
-#define GIC_DEFAULT_PRIORITY 0x80\r
-\r
-//\r
-// GIC definitions\r
-//\r
-\r
-// Distributor\r
-#define GIC_ICDDCR 0x000 // Distributor Control Register\r
-#define GIC_ICDICTR 0x004 // Interrupt Controller Type Register\r
-#define GIC_ICDIIDR 0x008 // Implementer Identification Register\r
-\r
-// each reg base below repeats for EB_NUM_GIC_REG_PER_INT_BITS (see GIC spec)\r
-#define GIC_ICDISR 0x080 // Interrupt Security Registers\r
-#define GIC_ICDISER 0x100 // Interrupt Set-Enable Registers\r
-#define GIC_ICDICER 0x180 // Interrupt Clear-Enable Registers\r
-#define GIC_ICDSPR 0x200 // Interrupt Set-Pending Registers\r
-#define GIC_ICDCPR 0x280 // Interrupt Clear-Pending Registers\r
-#define GIC_ICDABR 0x300 // Active Bit Registers\r
-\r
-// each reg base below repeats for EB_NUM_GIC_REG_PER_INT_BYTES\r
-#define GIC_ICDIPR 0x400 // Interrupt Priority Registers\r
-\r
-// each reg base below repeats for EB_NUM_GIC_INTERRUPTS\r
-#define GIC_ICDIPTR 0x800 // Interrupt Processor Target Registers\r
-#define GIC_ICDICFR 0xC00 // Interrupt Configuration Registers\r
-\r
-// just one of these\r
-#define GIC_ICDSGIR 0xF00 // Software Generated Interrupt Register\r
-\r
-\r
-// Cpu interface\r
-#define GIC_ICCICR 0x00 // CPU Interface Controler Register\r
-#define GIC_ICCPMR 0x04 // Interrupt Priority Mask Register\r
-#define GIC_ICCBPR 0x08 // Binary Point Register\r
-#define GIC_ICCIAR 0x0C // Interrupt Acknowledge Register\r
-#define GIC_ICCEIOR 0x10 // End Of Interrupt Register\r
-#define GIC_ICCRPR 0x14 // Running Priority Register\r
-#define GIC_ICCPIR 0x18 // Highest Pending Interrupt Register\r
-#define GIC_ICCABPR 0x1C // Aliased Binary Point Register\r
-#define GIC_ICCIDR 0xFC // Identification Register\r
-\r
-extern EFI_HARDWARE_INTERRUPT_PROTOCOL gHardwareInterruptProtocol;\r
-\r
-//\r
-// Notifications\r
-//\r
-VOID *CpuProtocolNotificationToken = NULL;\r
-EFI_EVENT CpuProtocolNotificationEvent = (EFI_EVENT)NULL;\r
-EFI_EVENT EfiExitBootServicesEvent = (EFI_EVENT)NULL;\r
-\r
-\r
-HARDWARE_INTERRUPT_HANDLER gRegisteredInterruptHandlers[EB_NUM_GIC_INTERRUPTS];\r
-\r
-/**\r
- Register Handler for the specified interrupt source.\r
-\r
- @param This Instance pointer for this protocol\r
- @param Source Hardware source of the interrupt\r
- @param Handler Callback for interrupt. NULL to unregister\r
-\r
- @retval EFI_SUCCESS Source was updated to support Handler.\r
- @retval EFI_DEVICE_ERROR Hardware could not be programmed.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-RegisterInterruptSource (\r
- IN EFI_HARDWARE_INTERRUPT_PROTOCOL *This,\r
- IN HARDWARE_INTERRUPT_SOURCE Source,\r
- IN HARDWARE_INTERRUPT_HANDLER Handler\r
- )\r
-{\r
- if (Source > EB_NUM_GIC_INTERRUPTS) {\r
- ASSERT(FALSE);\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- if ((Handler == NULL) && (gRegisteredInterruptHandlers[Source] == NULL)) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- if ((Handler != NULL) && (gRegisteredInterruptHandlers[Source] != NULL)) {\r
- return EFI_ALREADY_STARTED;\r
- }\r
-\r
- gRegisteredInterruptHandlers[Source] = Handler;\r
- return This->EnableInterruptSource(This, Source);\r
-}\r
-\r
-\r
-/**\r
- Enable interrupt source Source.\r
-\r
- @param This Instance pointer for this protocol\r
- @param Source Hardware source of the interrupt\r
-\r
- @retval EFI_SUCCESS Source interrupt enabled.\r
- @retval EFI_DEVICE_ERROR Hardware could not be programmed.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-EnableInterruptSource (\r
- IN EFI_HARDWARE_INTERRUPT_PROTOCOL *This,\r
- IN HARDWARE_INTERRUPT_SOURCE Source\r
- )\r
-{\r
- UINT32 RegOffset;\r
- UINTN RegShift;\r
-\r
- if (Source > EB_NUM_GIC_INTERRUPTS) {\r
- ASSERT(FALSE);\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- // calculate enable register offset and bit position\r
- RegOffset = Source / 32;\r
- RegShift = Source % 32;\r
-\r
- // write set-enable register\r
- MmioWrite32 (EB_GIC1_DIST_BASE+GIC_ICDISER+(4*RegOffset), 1 << RegShift);\r
-\r
- return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
- Disable interrupt source Source.\r
-\r
- @param This Instance pointer for this protocol\r
- @param Source Hardware source of the interrupt\r
-\r
- @retval EFI_SUCCESS Source interrupt disabled.\r
- @retval EFI_DEVICE_ERROR Hardware could not be programmed.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-DisableInterruptSource (\r
- IN EFI_HARDWARE_INTERRUPT_PROTOCOL *This,\r
- IN HARDWARE_INTERRUPT_SOURCE Source\r
- )\r
-{\r
- UINT32 RegOffset;\r
- UINTN RegShift;\r
-\r
- if (Source > EB_NUM_GIC_INTERRUPTS) {\r
- ASSERT(FALSE);\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- // calculate enable register offset and bit position\r
- RegOffset = Source / 32;\r
- RegShift = Source % 32;\r
-\r
- // write set-enable register\r
- MmioWrite32 (EB_GIC1_DIST_BASE+GIC_ICDICER+(4*RegOffset), 1 << RegShift);\r
-\r
- return EFI_SUCCESS;\r
-}\r
-\r
-\r
-\r
-/**\r
- Return current state of interrupt source Source.\r
-\r
- @param This Instance pointer for this protocol\r
- @param Source Hardware source of the interrupt\r
- @param InterruptState TRUE: source enabled, FALSE: source disabled.\r
-\r
- @retval EFI_SUCCESS InterruptState is valid\r
- @retval EFI_DEVICE_ERROR InterruptState is not valid\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-GetInterruptSourceState (\r
- IN EFI_HARDWARE_INTERRUPT_PROTOCOL *This,\r
- IN HARDWARE_INTERRUPT_SOURCE Source,\r
- IN BOOLEAN *InterruptState\r
- )\r
-{\r
- UINT32 RegOffset;\r
- UINTN RegShift;\r
-\r
- if (Source > EB_NUM_GIC_INTERRUPTS) {\r
- ASSERT(FALSE);\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- // calculate enable register offset and bit position\r
- RegOffset = Source / 32;\r
- RegShift = Source % 32;\r
-\r
- if ((MmioRead32 (EB_GIC1_DIST_BASE+GIC_ICDISER+(4*RegOffset)) & (1<<RegShift)) == 0) {\r
- *InterruptState = FALSE;\r
- } else {\r
- *InterruptState = TRUE;\r
- }\r
-\r
- return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
- Signal to the hardware that the End Of Intrrupt state\r
- has been reached.\r
-\r
- @param This Instance pointer for this protocol\r
- @param Source Hardware source of the interrupt\r
-\r
- @retval EFI_SUCCESS Source interrupt EOI'ed.\r
- @retval EFI_DEVICE_ERROR Hardware could not be programmed.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-EndOfInterrupt (\r
- IN EFI_HARDWARE_INTERRUPT_PROTOCOL *This,\r
- IN HARDWARE_INTERRUPT_SOURCE Source\r
- )\r
-{\r
- if (Source > EB_NUM_GIC_INTERRUPTS) {\r
- ASSERT(FALSE);\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- MmioWrite32 (EB_GIC1_CPU_INTF_BASE+GIC_ICCEIOR, Source);\r
- return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
- EFI_CPU_INTERRUPT_HANDLER that is called when a processor interrupt occurs.\r
-\r
- @param InterruptType Defines the type of interrupt or exception that\r
- occurred on the processor.This parameter is processor architecture specific.\r
- @param SystemContext A pointer to the processor context when\r
- the interrupt occurred on the processor.\r
-\r
- @return None\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-IrqInterruptHandler (\r
- IN EFI_EXCEPTION_TYPE InterruptType,\r
- IN EFI_SYSTEM_CONTEXT SystemContext\r
- )\r
-{\r
- UINT32 GicInterrupt;\r
- HARDWARE_INTERRUPT_HANDLER InterruptHandler;\r
-\r
- GicInterrupt = MmioRead32 (EB_GIC1_CPU_INTF_BASE + GIC_ICCIAR);\r
- if (GicInterrupt >= EB_NUM_GIC_INTERRUPTS) {\r
- MmioWrite32 (EB_GIC1_CPU_INTF_BASE+GIC_ICCEIOR, GicInterrupt);\r
- }\r
-\r
- InterruptHandler = gRegisteredInterruptHandlers[GicInterrupt];\r
- if (InterruptHandler != NULL) {\r
- // Call the registered interrupt handler.\r
- InterruptHandler (GicInterrupt, SystemContext);\r
- } else {\r
- DEBUG ((EFI_D_ERROR, "Spurious GIC interrupt: %x\n", GicInterrupt));\r
- }\r
-\r
- EndOfInterrupt (&gHardwareInterruptProtocol, GicInterrupt);\r
-}\r
-\r
-\r
-//\r
-// Making this global saves a few bytes in image size\r
-//\r
-EFI_HANDLE gHardwareInterruptHandle = NULL;\r
-\r
-//\r
-// The protocol instance produced by this driver\r
-//\r
-EFI_HARDWARE_INTERRUPT_PROTOCOL gHardwareInterruptProtocol = {\r
- RegisterInterruptSource,\r
- EnableInterruptSource,\r
- DisableInterruptSource,\r
- GetInterruptSourceState,\r
- EndOfInterrupt\r
-};\r
-\r
-\r
-/**\r
- Shutdown our hardware\r
-\r
- DXE Core will disable interrupts and turn off the timer and disable interrupts\r
- after all the event handlers have run.\r
-\r
- @param[in] Event The Event that is being processed\r
- @param[in] Context Event Context\r
-**/\r
-VOID\r
-EFIAPI\r
-ExitBootServicesEvent (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
- )\r
-{\r
- UINTN i;\r
-\r
- for (i = 0; i < EB_NUM_GIC_INTERRUPTS; i++) {\r
- DisableInterruptSource (&gHardwareInterruptProtocol, i);\r
- }\r
-}\r
-\r
-\r
-//\r
-// Notification routines\r
-//\r
-VOID\r
-CpuProtocolInstalledNotification (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
- )\r
-{\r
- EFI_STATUS Status;\r
- EFI_CPU_ARCH_PROTOCOL *Cpu;\r
-\r
- //\r
- // Get the cpu protocol that this driver requires.\r
- //\r
- Status = gBS->LocateProtocol(&gEfiCpuArchProtocolGuid, NULL, (VOID **)&Cpu);\r
- ASSERT_EFI_ERROR(Status);\r
-\r
- //\r
- // Unregister the default exception handler.\r
- //\r
- Status = Cpu->RegisterInterruptHandler(Cpu, EXCEPT_ARM_IRQ, NULL);\r
- ASSERT_EFI_ERROR(Status);\r
-\r
- //\r
- // Register to receive interrupts\r
- //\r
- Status = Cpu->RegisterInterruptHandler(Cpu, EXCEPT_ARM_IRQ, IrqInterruptHandler);\r
- ASSERT_EFI_ERROR(Status);\r
-}\r
-\r
-/**\r
- Initialize the state information for the CPU Architectural Protocol\r
-\r
- @param ImageHandle of the loaded driver\r
- @param SystemTable Pointer to the System Table\r
-\r
- @retval EFI_SUCCESS Protocol registered\r
- @retval EFI_OUT_OF_RESOURCES Cannot allocate protocol data structure\r
- @retval EFI_DEVICE_ERROR Hardware problems\r
-\r
-**/\r
-EFI_STATUS\r
-InterruptDxeInitialize (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
- )\r
-{\r
- EFI_STATUS Status;\r
- UINTN i;\r
- UINT32 RegOffset;\r
- UINTN RegShift;\r
-\r
-\r
- // Make sure the Interrupt Controller Protocol is not already installed in the system.\r
- ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gHardwareInterruptProtocolGuid);\r
-\r
- for (i = 0; i < EB_NUM_GIC_INTERRUPTS; i++) {\r
- DisableInterruptSource (&gHardwareInterruptProtocol, i);\r
-\r
- // Set Priority\r
- RegOffset = i / 4;\r
- RegShift = (i % 4) * 8;\r
- MmioAndThenOr32 (\r
- EB_GIC1_DIST_BASE+GIC_ICDIPR+(4*RegOffset),\r
- ~(0xff << RegShift),\r
- GIC_DEFAULT_PRIORITY << RegShift\r
- );\r
- }\r
-\r
- // configure interrupts for cpu 0\r
- for (i = 0; i < EB_NUM_GIC_REG_PER_INT_BYTES; i++) {\r
- MmioWrite32 (EB_GIC1_DIST_BASE + GIC_ICDIPTR + (i*4), 0x01010101);\r
- }\r
-\r
- // set binary point reg to 0x7 (no preemption)\r
- MmioWrite32 (EB_GIC1_CPU_INTF_BASE + GIC_ICCBPR, 0x7);\r
-\r
- // set priority mask reg to 0xff to allow all priorities through\r
- MmioWrite32 (EB_GIC1_CPU_INTF_BASE + GIC_ICCPMR, 0xff);\r
-\r
- // enable gic cpu interface\r
- MmioWrite32 (EB_GIC1_CPU_INTF_BASE + GIC_ICCICR, 0x1);\r
-\r
- // enable gic distributor\r
- MmioWrite32 (EB_GIC1_DIST_BASE + GIC_ICCICR, 0x1);\r
-\r
-\r
- ZeroMem (&gRegisteredInterruptHandlers, sizeof (gRegisteredInterruptHandlers));\r
-\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &gHardwareInterruptHandle,\r
- &gHardwareInterruptProtocolGuid, &gHardwareInterruptProtocol,\r
- NULL\r
- );\r
- ASSERT_EFI_ERROR (Status);\r
-\r
- // Set up to be notified when the Cpu protocol is installed.\r
- Status = gBS->CreateEvent (EVT_NOTIFY_SIGNAL, TPL_CALLBACK, CpuProtocolInstalledNotification, NULL, &CpuProtocolNotificationEvent);\r
- ASSERT_EFI_ERROR (Status);\r
-\r
- Status = gBS->RegisterProtocolNotify (&gEfiCpuArchProtocolGuid, CpuProtocolNotificationEvent, (VOID *)&CpuProtocolNotificationToken);\r
- ASSERT_EFI_ERROR (Status);\r
-\r
- // Register for an ExitBootServicesEvent\r
- Status = gBS->CreateEvent (EVT_SIGNAL_EXIT_BOOT_SERVICES, TPL_NOTIFY, ExitBootServicesEvent, NULL, &EfiExitBootServicesEvent);\r
- ASSERT_EFI_ERROR (Status);\r
-\r
- return Status;\r
-}\r
-\r
+++ /dev/null
-#/** @file\r
-#\r
-# Copyright (c) 2008 - 2010, Apple Inc. 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 = GicInterruptDxe\r
- FILE_GUID = A7496828-946E-43BF-97D6-AA0272001899\r
- MODULE_TYPE = DXE_DRIVER\r
- VERSION_STRING = 1.0\r
-\r
- ENTRY_POINT = InterruptDxeInitialize\r
-\r
-\r
-[Sources.common]\r
- InterruptDxe.c\r
-\r
-\r
-[Packages]\r
- MdePkg/MdePkg.dec\r
- EmbeddedPkg/EmbeddedPkg.dec\r
- ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEbPkg.dec\r
-\r
-[LibraryClasses]\r
- BaseLib\r
- UefiLib\r
- UefiBootServicesTableLib\r
- DebugLib\r
- PrintLib\r
- UefiDriverEntryPoint\r
- IoLib\r
-\r
-[Guids]\r
-\r
-\r
-[Protocols]\r
- gHardwareInterruptProtocolGuid\r
- gEfiCpuArchProtocolGuid\r
-\r
-[FixedPcd.common]\r
- gEmbeddedTokenSpaceGuid.PcdInterruptBaseAddress\r
-\r
-[depex]\r
- TRUE\r
+++ /dev/null
-/** @file\r
-*\r
-* Copyright (c) 2011-2012, 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 <Library/IoLib.h>\r
-#include <Library/ArmLib.h>\r
-#include <Library/ArmPlatformLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/PcdLib.h>\r
-\r
-#include <Drivers/PL341Dmc.h>\r
-#include <Drivers/SP804Timer.h>\r
-\r
-#include <Ppi/ArmMpCoreInfo.h>\r
-\r
-#include <ArmPlatform.h>\r
-\r
-ARM_CORE_INFO mRealViewEbMpCoreInfoTable[] = {\r
- {\r
- // Cluster 0, Core 0\r
- 0x0, 0x0,\r
-\r
- // MP Core MailBox Set/Get/Clear Addresses and Clear Value\r
- (EFI_PHYSICAL_ADDRESS)ARM_EB_SYS_FLAGS_REG,\r
- (EFI_PHYSICAL_ADDRESS)ARM_EB_SYS_FLAGS_SET_REG,\r
- (EFI_PHYSICAL_ADDRESS)ARM_EB_SYS_FLAGS_CLR_REG,\r
- (UINT64)0xFFFFFFFF\r
- },\r
- {\r
- // Cluster 0, Core 1\r
- 0x0, 0x1,\r
-\r
- // MP Core MailBox Set/Get/Clear Addresses and Clear Value\r
- (EFI_PHYSICAL_ADDRESS)ARM_EB_SYS_FLAGS_REG,\r
- (EFI_PHYSICAL_ADDRESS)ARM_EB_SYS_FLAGS_SET_REG,\r
- (EFI_PHYSICAL_ADDRESS)ARM_EB_SYS_FLAGS_CLR_REG,\r
- (UINT64)0xFFFFFFFF\r
- }\r
-};\r
-\r
-/**\r
- Return the current Boot Mode\r
-\r
- This function returns the boot reason on the platform\r
-\r
-**/\r
-EFI_BOOT_MODE\r
-ArmPlatformGetBootMode (\r
- VOID\r
- )\r
-{\r
- return BOOT_WITH_FULL_CONFIGURATION;\r
-}\r
-\r
-/**\r
- Initialize controllers that must setup in the normal world\r
-\r
- This function is called by the ArmPlatformPkg/PrePi or ArmPlatformPkg/PlatformPei\r
- in the PEI phase.\r
-\r
-**/\r
-RETURN_STATUS\r
-ArmPlatformInitialize (\r
- IN UINTN MpId\r
- )\r
-{\r
- if (!ArmPlatformIsPrimaryCore (MpId)) {\r
- return RETURN_SUCCESS;\r
- }\r
-\r
- // Disable memory remapping and return to normal mapping\r
- MmioOr32 (ARM_EB_SYSCTRL, BIT8); //EB_SP810_CTRL_BASE\r
-\r
- // Configure periodic timer (TIMER0) for 1MHz operation\r
- MmioOr32 (SP810_CTRL_BASE + SP810_SYS_CTRL_REG, SP810_SYS_CTRL_TIMER0_TIMCLK);\r
- // Configure 1MHz clock\r
- MmioOr32 (SP810_CTRL_BASE + SP810_SYS_CTRL_REG, SP810_SYS_CTRL_TIMER1_TIMCLK);\r
- // configure SP810 to use 1MHz clock and disable\r
- MmioAndThenOr32 (SP810_CTRL_BASE + SP810_SYS_CTRL_REG, ~SP810_SYS_CTRL_TIMER2_EN, SP810_SYS_CTRL_TIMER2_TIMCLK);\r
- // Configure SP810 to use 1MHz clock and disable\r
- MmioAndThenOr32 (SP810_CTRL_BASE + SP810_SYS_CTRL_REG, ~SP810_SYS_CTRL_TIMER3_EN, SP810_SYS_CTRL_TIMER3_TIMCLK);\r
-\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
-**/\r
-VOID\r
-ArmPlatformInitializeSystemMemory (\r
- VOID\r
- )\r
-{\r
- // We do not need to initialize the System Memory on RTSM\r
-}\r
-\r
-EFI_STATUS\r
-PrePeiCoreGetMpCoreInfo (\r
- OUT UINTN *CoreCount,\r
- OUT ARM_CORE_INFO **ArmCoreTable\r
- )\r
-{\r
- if ((MmioRead32 (ARM_EB_SYS_PROCID0_REG) & ARM_EB_SYS_PROC_ID_MASK) == ARM_EB_SYS_PROC_ID_CORTEX_A9) {\r
- *CoreCount = sizeof(mRealViewEbMpCoreInfoTable) / sizeof(ARM_CORE_INFO);\r
- *ArmCoreTable = mRealViewEbMpCoreInfoTable;\r
- return EFI_SUCCESS;\r
- } else {\r
- return EFI_UNSUPPORTED;\r
- }\r
-}\r
-\r
-// Needs to be declared in the file. Otherwise gArmMpCoreInfoPpiGuid is undefined in the contect of PrePeiCore\r
-EFI_GUID mArmMpCoreInfoPpiGuid = ARM_MP_CORE_INFO_PPI_GUID;\r
-ARM_MP_CORE_INFO_PPI mMpCoreInfoPpi = { PrePeiCoreGetMpCoreInfo };\r
-\r
-EFI_PEI_PPI_DESCRIPTOR gPlatformPpiTable[] = {\r
- {\r
- EFI_PEI_PPI_DESCRIPTOR_PPI,\r
- &mArmMpCoreInfoPpiGuid,\r
- &mMpCoreInfoPpi\r
- }\r
-};\r
-\r
-VOID\r
-ArmPlatformGetPlatformPpiList (\r
- OUT UINTN *PpiListSize,\r
- OUT EFI_PEI_PPI_DESCRIPTOR **PpiList\r
- )\r
-{\r
- *PpiListSize = sizeof(gPlatformPpiTable);\r
- *PpiList = gPlatformPpiTable;\r
-}\r
-\r
+++ /dev/null
-//\r
-// Copyright (c) 2012-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 <AsmMacroIoLib.h>\r
-#include <Library/ArmLib.h>\r
-\r
-.text\r
-.align 2\r
-\r
-GCC_ASM_EXPORT(ArmPlatformPeiBootAction)\r
-GCC_ASM_EXPORT(ArmPlatformGetCorePosition)\r
-GCC_ASM_EXPORT(ArmPlatformIsPrimaryCore)\r
-\r
-GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCore)\r
-GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask)\r
-\r
-//UINTN\r
-//ArmPlatformGetCorePosition (\r
-// IN UINTN MpId\r
-// );\r
-ASM_PFX(ArmPlatformGetCorePosition):\r
- and r1, r0, #ARM_CORE_MASK\r
- and r0, r0, #ARM_CLUSTER_MASK\r
- add r0, r1, r0, LSR #7\r
- bx lr\r
-\r
-//UINTN\r
-//ArmPlatformIsPrimaryCore (\r
-// IN UINTN MpId\r
-// );\r
-ASM_PFX(ArmPlatformIsPrimaryCore):\r
- LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask, r1)\r
- ldr r1, [r1]\r
- and r0, r0, r1\r
- LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r1)\r
- ldr r1, [r1]\r
- cmp r0, r1\r
- moveq r0, #1\r
- movne r0, #0\r
- bx lr\r
-\r
-ASM_PFX(ArmPlatformPeiBootAction):\r
- bx lr\r
+++ /dev/null
-//\r
-// Copyright (c) 2012-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 <AsmMacroIoLib.h>\r
-#include <Library/ArmLib.h>\r
-\r
- INCLUDE AsmMacroIoLib.inc\r
-\r
- EXPORT ArmPlatformPeiBootAction\r
- EXPORT ArmPlatformGetCorePosition\r
- EXPORT ArmPlatformIsPrimaryCore\r
-\r
- IMPORT _gPcd_FixedAtBuild_PcdArmPrimaryCore\r
- IMPORT _gPcd_FixedAtBuild_PcdArmPrimaryCoreMask\r
-\r
- AREA ArmRealViewEbHelper, CODE, READONLY\r
-\r
-//UINTN\r
-//ArmPlatformGetCorePosition (\r
-// IN UINTN MpId\r
-// );\r
-ArmPlatformGetCorePosition FUNCTION\r
- and r1, r0, #ARM_CORE_MASK\r
- and r0, r0, #ARM_CLUSTER_MASK\r
- add r0, r1, r0, LSR #7\r
- bx lr\r
- ENDFUNC\r
-\r
-//UINTN\r
-//ArmPlatformIsPrimaryCore (\r
-// IN UINTN MpId\r
-// );\r
-ArmPlatformIsPrimaryCore FUNCTION\r
- LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask, r1)\r
- ldr r1, [r1]\r
- and r0, r0, r1\r
- LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r1)\r
- ldr r1, [r1]\r
- cmp r0, r1\r
- moveq r0, #1\r
- movne r0, #0\r
- bx lr\r
- ENDFUNC\r
-\r
-ArmPlatformPeiBootAction FUNCTION\r
- bx lr\r
- ENDFUNC\r
-\r
- END\r
+++ /dev/null
-#/* @file\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
-[Defines]\r
- INF_VERSION = 0x00010005\r
- BASE_NAME = ArmRealViewEbLib\r
- FILE_GUID = 736343a0-1d96-11e0-aaaa-0002a5d5c51b\r
- MODULE_TYPE = BASE\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = ArmPlatformLib\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
- IoLib\r
- ArmLib\r
- MemoryAllocationLib\r
-\r
-[Sources.common]\r
- ArmRealViewEbHelper.asm | RVCT\r
- ArmRealViewEbHelper.S | GCC\r
- ArmRealViewEb.c\r
- ArmRealViewEbMem.c\r
- ArmRealViewEbHelper.asm | RVCT\r
- ArmRealViewEbHelper.S | GCC\r
-\r
-[FeaturePcd]\r
- gEmbeddedTokenSpaceGuid.PcdCacheEnable\r
-\r
-[FixedPcd]\r
- gArmTokenSpaceGuid.PcdSystemMemoryBase\r
- gArmTokenSpaceGuid.PcdSystemMemorySize\r
-\r
- gArmTokenSpaceGuid.PcdArmPrimaryCoreMask\r
- gArmTokenSpaceGuid.PcdArmPrimaryCore\r
+++ /dev/null
-#/* @file\r
-# Copyright (c) 2011-2012, 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
-[Defines]\r
- INF_VERSION = 0x00010005\r
- BASE_NAME = ArmRealViewEbLibSec\r
- FILE_GUID = 5d1013ae-57b8-4a37-87d8-f5bf70e49059\r
- MODULE_TYPE = SEC\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = ArmPlatformLib\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
- IoLib\r
- ArmLib\r
-\r
-[Sources.common]\r
- ArmRealViewEb.c\r
- ArmRealViewEbHelper.asm | RVCT\r
- ArmRealViewEbHelper.S | GCC\r
-\r
-[FeaturePcd]\r
- gEmbeddedTokenSpaceGuid.PcdCacheEnable\r
-\r
-[FixedPcd]\r
- gArmTokenSpaceGuid.PcdSystemMemoryBase\r
- gArmTokenSpaceGuid.PcdSystemMemorySize\r
-\r
- gArmTokenSpaceGuid.PcdArmPrimaryCoreMask\r
- gArmTokenSpaceGuid.PcdArmPrimaryCore\r
+++ /dev/null
-/** @file\r
-*\r
-* Copyright (c) 2011, 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 <Library/ArmPlatformLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/IoLib.h>\r
-\r
-#include <ArmPlatform.h>\r
-\r
-#define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS 6\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
-/**\r
- Return the Virtual Memory Map of your platform\r
-\r
- This Virtual Memory Map is used by MemoryInitPei Module to initialize the MMU on your platform.\r
-\r
- @param[out] VirtualMemoryMap Array of ARM_MEMORY_REGION_DESCRIPTOR describing a Physical-to-\r
- Virtual Memory mapping. This array must be ended by a zero-filled\r
- entry\r
-\r
-**/\r
-VOID\r
-ArmPlatformGetVirtualMemoryMap (\r
- IN ARM_MEMORY_REGION_DESCRIPTOR** VirtualMemoryMap\r
- )\r
-{\r
- UINT32 CacheAttributes;\r
- UINTN Index = 0;\r
- ARM_MEMORY_REGION_DESCRIPTOR *VirtualMemoryTable;\r
-\r
- ASSERT(VirtualMemoryMap != NULL);\r
-\r
- VirtualMemoryTable = (ARM_MEMORY_REGION_DESCRIPTOR*)AllocatePages (EFI_SIZE_TO_PAGES (sizeof(ARM_MEMORY_REGION_DESCRIPTOR) * MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS));\r
- if (VirtualMemoryTable == NULL) {\r
- return;\r
- }\r
-\r
- if (FeaturePcdGet(PcdCacheEnable) == TRUE) {\r
- CacheAttributes = DDR_ATTRIBUTES_CACHED;\r
- } else {\r
- CacheAttributes = DDR_ATTRIBUTES_UNCACHED;\r
- }\r
-\r
- // ReMap (Either NOR Flash or DRAM)\r
- VirtualMemoryTable[Index].PhysicalBase = ARM_EB_REMAP_BASE;\r
- VirtualMemoryTable[Index].VirtualBase = ARM_EB_REMAP_BASE;\r
- VirtualMemoryTable[Index].Length = ARM_EB_REMAP_SZ;\r
- VirtualMemoryTable[Index].Attributes = (ARM_MEMORY_REGION_ATTRIBUTES)CacheAttributes;\r
-\r
- // DDR\r
- VirtualMemoryTable[++Index].PhysicalBase = PcdGet64 (PcdSystemMemoryBase);\r
- VirtualMemoryTable[Index].VirtualBase = PcdGet64 (PcdSystemMemoryBase);\r
- VirtualMemoryTable[Index].Length = PcdGet64 (PcdSystemMemorySize);\r
- VirtualMemoryTable[Index].Attributes = (ARM_MEMORY_REGION_ATTRIBUTES)CacheAttributes;\r
-\r
- // SMC CS7\r
- VirtualMemoryTable[++Index].PhysicalBase = ARM_EB_SMB_MB_ON_CHIP_PERIPH_BASE;\r
- VirtualMemoryTable[Index].VirtualBase = ARM_EB_SMB_MB_ON_CHIP_PERIPH_BASE;\r
- VirtualMemoryTable[Index].Length = ARM_EB_SMB_MB_ON_CHIP_PERIPH_SZ;\r
- VirtualMemoryTable[Index].Attributes = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;\r
-\r
- // SMB CS0-CS1 - NOR Flash 1 & 2\r
- VirtualMemoryTable[++Index].PhysicalBase = ARM_EB_SMB_NOR_BASE;\r
- VirtualMemoryTable[Index].VirtualBase = ARM_EB_SMB_NOR_BASE;\r
- VirtualMemoryTable[Index].Length = ARM_EB_SMB_NOR_SZ + ARM_EB_SMB_DOC_SZ;\r
- VirtualMemoryTable[Index].Attributes = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;\r
-\r
- // SMB CS2 - SRAM\r
- VirtualMemoryTable[++Index].PhysicalBase = ARM_EB_SMB_SRAM_BASE;\r
- VirtualMemoryTable[Index].VirtualBase = ARM_EB_SMB_SRAM_BASE;\r
- VirtualMemoryTable[Index].Length = ARM_EB_SMB_SRAM_SZ;\r
- VirtualMemoryTable[Index].Attributes = (ARM_MEMORY_REGION_ATTRIBUTES)CacheAttributes;\r
-\r
- // SMB CS3-CS6 - Motherboard Peripherals\r
- VirtualMemoryTable[++Index].PhysicalBase = ARM_EB_SMB_PERIPH_BASE;\r
- VirtualMemoryTable[Index].VirtualBase = ARM_EB_SMB_PERIPH_BASE;\r
- VirtualMemoryTable[Index].Length = ARM_EB_SMB_PERIPH_SZ;\r
- VirtualMemoryTable[Index].Attributes = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;\r
-\r
- // If a Logic Tile is connected to The ARM Versatile Express Motherboard\r
- if (MmioRead32(ARM_EB_SYS_PROCID1_REG) != 0) {\r
- VirtualMemoryTable[++Index].PhysicalBase = ARM_EB_LOGIC_TILE_BASE;\r
- VirtualMemoryTable[Index].VirtualBase = ARM_EB_LOGIC_TILE_BASE;\r
- VirtualMemoryTable[Index].Length = ARM_EB_LOGIC_TILE_SZ;\r
- VirtualMemoryTable[Index].Attributes = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;\r
-\r
- ASSERT((Index + 1) == (MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS + 1));\r
- } else {\r
- ASSERT((Index + 1) == MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS);\r
- }\r
-\r
- // End of Table\r
- VirtualMemoryTable[++Index].PhysicalBase = 0;\r
- VirtualMemoryTable[Index].VirtualBase = 0;\r
- VirtualMemoryTable[Index].Length = 0;\r
- VirtualMemoryTable[Index].Attributes = (ARM_MEMORY_REGION_ATTRIBUTES)0;\r
-\r
- *VirtualMemoryMap = VirtualMemoryTable;\r
-}\r
+++ /dev/null
-//\r
-// Copyright (c) 2011-2012, 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 <AsmMacroIoLib.h>\r
-#include <Base.h>\r
-#include <Library/ArmPlatformSecLib.h>\r
-#include <ArmPlatform.h>\r
-#include <AutoGen.h>\r
-\r
-.text\r
-.align 3\r
-\r
-GCC_ASM_EXPORT(ArmPlatformSecBootAction)\r
-GCC_ASM_EXPORT(ArmPlatformSecBootMemoryInit)\r
-\r
-/**\r
- Call at the beginning of the platform boot up\r
-\r
- This function allows the firmware platform to do extra actions at the early\r
- stage of the platform power up.\r
-\r
- Note: This function must be implemented in assembler as there is no stack set up yet\r
-\r
-**/\r
-ASM_PFX(ArmPlatformSecBootAction):\r
- LoadConstantToReg (ARM_EB_SYS_FLAGS_NV_REG, r0)\r
- ldr r0, [r0]\r
- cmp r0, #0\r
- bxeq lr\r
- bxne r0\r
-\r
-/**\r
- Initialize the memory where the initial stacks will reside\r
-\r
- This memory can contain the initial stacks (Secure and Secure Monitor stacks).\r
- In some platform, this region is already initialized and the implementation of this function can\r
- do nothing. This memory can also represent the Secure RAM.\r
- This function is called before the satck has been set up. Its implementation must ensure the stack\r
- pointer is not used (probably required to use assembly language)\r
-\r
-**/\r
-ASM_PFX(ArmPlatformSecBootMemoryInit):\r
- // The SMC does not need to be initialized for RTSM\r
- bx lr\r
+++ /dev/null
-//\r
-// Copyright (c) 2011-2012, 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 <AsmMacroIoLib.h>\r
-#include <Base.h>\r
-#include <Library/ArmPlatformSecLib.h>\r
-#include <ArmPlatform.h>\r
-#include <AutoGen.h>\r
-\r
- INCLUDE AsmMacroIoLib.inc\r
-\r
- EXPORT ArmPlatformSecBootAction\r
- EXPORT ArmPlatformSecBootMemoryInit\r
-\r
- PRESERVE8\r
- AREA ArmRealviewEbBootMode, CODE, READONLY\r
-\r
-/**\r
- Call at the beginning of the platform boot up\r
-\r
- This function allows the firmware platform to do extra actions at the early\r
- stage of the platform power up.\r
-\r
- Note: This function must be implemented in assembler as there is no stack set up yet\r
-\r
-**/\r
-ArmPlatformSecBootAction\r
- LoadConstantToReg (ARM_EB_SYS_FLAGS_NV_REG, r0)\r
- ldr r0, [r0]\r
- cmp r0, #0\r
- bxeq lr\r
- bxne r0\r
-\r
-/**\r
- Initialize the memory where the initial stacks will reside\r
-\r
- This memory can contain the initial stacks (Secure and Secure Monitor stacks).\r
- In some platform, this region is already initialized and the implementation of this function can\r
- do nothing. This memory can also represent the Secure RAM.\r
- This function is called before the satck has been set up. Its implementation must ensure the stack\r
- pointer is not used (probably required to use assembly language)\r
-\r
-**/\r
-ArmPlatformSecBootMemoryInit\r
- // The SMC does not need to be initialized for RTSM\r
- bx lr\r
-\r
- END\r
+++ /dev/null
-/** @file\r
-*\r
-* Copyright (c) 2011-2014, 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 <Library/IoLib.h>\r
-#include <Library/ArmLib.h>\r
-#include <Library/ArmPlatformLib.h>\r
-#include <Library/ArmPlatformSecLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/PcdLib.h>\r
-\r
-#include <Drivers/PL341Dmc.h>\r
-#include <Drivers/SP804Timer.h>\r
-\r
-#include <ArmPlatform.h>\r
-\r
-/**\r
- Initialize the Secure peripherals and memory regions\r
-\r
- If Trustzone is supported by your platform then this function makes the required initialization\r
- of the secure peripherals and memory regions.\r
-\r
-**/\r
-VOID\r
-ArmPlatformSecTrustzoneInit (\r
- IN UINTN MpId\r
- )\r
-{\r
- ASSERT(FALSE);\r
-}\r
-\r
-/**\r
- Initialize controllers that must setup at the early stage\r
-\r
- Some peripherals must be initialized in Secure World.\r
- For example, some L2x0 requires to be initialized in Secure World\r
-\r
-**/\r
-RETURN_STATUS\r
-ArmPlatformSecInitialize (\r
- IN UINTN MpId\r
- )\r
-{\r
- // If it is not the primary core then there is nothing to do\r
- if (!ArmPlatformIsPrimaryCore (MpId)) {\r
- return RETURN_SUCCESS;\r
- }\r
-\r
- // Do nothing yet\r
- return RETURN_SUCCESS;\r
-}\r
-\r
-/**\r
- Call before jumping to Normal World\r
-\r
- This function allows the firmware platform to do extra actions before\r
- jumping to the Normal World\r
-\r
-**/\r
-VOID\r
-ArmPlatformSecExtraAction (\r
- IN UINTN MpId,\r
- OUT UINTN* JumpAddress\r
- )\r
-{\r
- *JumpAddress = (UINTN)PcdGet64 (PcdFvBaseAddress);\r
-}\r
-\r
+++ /dev/null
-#/* @file\r
-# Copyright (c) 2011-2012, 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
-[Defines]\r
- INF_VERSION = 0x00010005\r
- BASE_NAME = ArmRealViewEbSecLib\r
- FILE_GUID = 6e02ebe0-1d96-11e0-b9cb-0002a5d5c51b\r
- MODULE_TYPE = BASE\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = ArmPlatformSecLib\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
- IoLib\r
- ArmLib\r
- ArmPlatformLib\r
-\r
-[Sources.common]\r
- ArmRealViewEbSec.c\r
- ArmRealViewEbBoot.asm | RVCT\r
- ArmRealViewEbBoot.S | GCC\r
-\r
-[FixedPcd]\r
- gArmTokenSpaceGuid.PcdFvBaseAddress\r
-\r
+++ /dev/null
-/** @file\r
- Template for ArmEb DebugAgentLib.\r
-\r
- For ARM we reserve FIQ for the Debug Agent Timer. We don't care about\r
- laytency as we only really need the timer to run a few times a second\r
- (how fast can some one type a ctrl-c?), but it works much better if\r
- the interrupt we are using to break into the debugger is not being\r
- used, and masked, by the system.\r
-\r
- Copyright (c) 2008 - 2010, Apple Inc. 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/DebugAgentTimerLib.h>\r
-\r
-\r
-\r
-/**\r
- Setup all the hardware needed for the debug agents timer.\r
-\r
- This function is used to set up debug enviroment.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-DebugAgentTimerIntialize (\r
- VOID\r
- )\r
-{\r
- // Map Timer to FIQ\r
-}\r
-\r
-\r
-/**\r
- Set the period for the debug agent timer. Zero means disable the timer.\r
-\r
- @param[in] TimerPeriodMilliseconds Frequency of the debug agent timer.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-DebugAgentTimerSetPeriod (\r
- IN UINT32 TimerPeriodMilliseconds\r
- )\r
-{\r
- if (TimerPeriodMilliseconds == 0) {\r
- // Disable timer and Disable FIQ\r
- return;\r
- }\r
-\r
- // Set timer period and unmask FIQ\r
-}\r
-\r
-\r
-/**\r
- Perform End Of Interrupt for the debug agent timer. This is called in the\r
- interrupt handler after the interrupt has been processed.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-DebugAgentTimerEndOfInterrupt (\r
- VOID\r
- )\r
-{\r
- // EOI Timer interrupt for FIQ\r
-}\r
+++ /dev/null
-#/** @file\r
-# Component description file for Base PCI Cf8 Library.\r
-#\r
-# PCI CF8 Library that uses I/O ports 0xCF8 and 0xCFC to perform PCI Configuration cycles.\r
-# Layers on top of an I/O Library instance.\r
-# Copyright (c) 2007, 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 = ArmEbDebugAgentTimerLib\r
- FILE_GUID = 80949BBB-68EE-4a4c-B434-D5DB5A232F0C\r
- MODULE_TYPE = BASE\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = DebugAgentTimerLib|SEC BASE DXE_CORE\r
-\r
-\r
-[Sources.common]\r
- DebugAgentTimerLib.c\r
-\r
-\r
-[Packages]\r
- MdePkg/MdePkg.dec\r
- EmbeddedPkg/EmbeddedPkg.dec\r
- ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEbPkg.dec\r
-\r
-[LibraryClasses]\r
- IoLib\r
-\r
+++ /dev/null
-/** @file\r
- Basic serial IO abstaction for GDB\r
-\r
- Copyright (c) 2008 - 2009, Apple Inc. 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 <Uefi.h>\r
-#include <Library/GdbSerialLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/IoLib.h>\r
-#include <Drivers/PL011Uart.h>\r
-\r
-RETURN_STATUS\r
-EFIAPI\r
-GdbSerialLibConstructor (\r
- VOID\r
- )\r
-{\r
- return GdbSerialInit (115200, 0, 8, 1);\r
-}\r
-\r
-RETURN_STATUS\r
-EFIAPI\r
-GdbSerialInit (\r
- IN UINT64 BaudRate,\r
- IN UINT8 Parity,\r
- IN UINT8 DataBits,\r
- IN UINT8 StopBits\r
- )\r
-{\r
- if ((Parity != 0) || (DataBits != 8) || (StopBits != 1)) {\r
- return RETURN_UNSUPPORTED;\r
- }\r
-\r
- if (BaudRate != 115200) {\r
- // Could add support for different Baud rates....\r
- return RETURN_UNSUPPORTED;\r
- }\r
-\r
- UINT32 Base = PcdGet32 (PcdGdbUartBase);\r
-\r
- // initialize baud rate generator to 115200 based on EB clock REFCLK24MHZ\r
- MmioWrite32 (Base + UARTIBRD, UART_115200_IDIV);\r
- MmioWrite32 (Base + UARTFBRD, UART_115200_FDIV);\r
-\r
- // no parity, 1 stop, no fifo, 8 data bits\r
- MmioWrite32 (Base + UARTLCR_H, 0x60);\r
-\r
- // clear any pending errors\r
- MmioWrite32 (Base + UARTECR, 0);\r
-\r
- // enable tx, rx, and uart overall\r
- MmioWrite32 (Base + UARTCR, 0x301);\r
-\r
- return RETURN_SUCCESS;\r
-}\r
-\r
-BOOLEAN\r
-EFIAPI\r
-GdbIsCharAvailable (\r
- VOID\r
- )\r
-{\r
- UINT32 FR = PcdGet32 (PcdGdbUartBase) + UARTFR;\r
-\r
- if ((MmioRead32 (FR) & UART_RX_EMPTY_FLAG_MASK) == 0) {\r
- return TRUE;\r
- } else {\r
- return FALSE;\r
- }\r
-}\r
-\r
-CHAR8\r
-EFIAPI\r
-GdbGetChar (\r
- VOID\r
- )\r
-{\r
- UINT32 FR = PcdGet32 (PcdGdbUartBase) + UARTFR;\r
- UINT32 DR = PcdGet32 (PcdGdbUartBase) + UARTDR;\r
-\r
- while ((MmioRead32 (FR) & UART_RX_EMPTY_FLAG_MASK) == 0);\r
- return MmioRead8 (DR);\r
-}\r
-\r
-VOID\r
-EFIAPI\r
-GdbPutChar (\r
- IN CHAR8 Char\r
- )\r
-{\r
- UINT32 FR = PcdGet32 (PcdGdbUartBase) + UARTFR;\r
- UINT32 DR = PcdGet32 (PcdGdbUartBase) + UARTDR;\r
-\r
- while ((MmioRead32 (FR) & UART_TX_EMPTY_FLAG_MASK) != 0);\r
- MmioWrite8 (DR, Char);\r
- return;\r
-}\r
-\r
-VOID\r
-GdbPutString (\r
- IN CHAR8 *String\r
- )\r
-{\r
- while (*String != '\0') {\r
- GdbPutChar (*String);\r
- String++;\r
- }\r
-}\r
+++ /dev/null
-#/** @file\r
-#\r
-# Copyright (c) 2008 - 2010, Apple Inc. 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 = GdbSerialLib\r
- FILE_GUID = E8EA1309-2F14-428f-ABE3-7016CE4B4305\r
- MODULE_TYPE = BASE\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = GdbSerialLib\r
-\r
- CONSTRUCTOR = GdbSerialLibConstructor\r
-\r
-\r
-[Sources.common]\r
- GdbSerialLib.c\r
-\r
-\r
-[Packages]\r
- MdePkg/MdePkg.dec\r
- EmbeddedPkg/EmbeddedPkg.dec\r
- ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEbPkg.dec\r
-\r
-[LibraryClasses]\r
- DebugLib\r
- IoLib\r
-\r
-[FixedPcd]\r
- gArmRealViewEbPkgTokenSpaceGuid.PcdGdbUartBase\r
+++ /dev/null
-/** @file\r
-\r
- Copyright (c) 2011-2014, 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
-#include <PiDxe.h>\r
-#include <Library/NorFlashPlatformLib.h>\r
-#include <ArmPlatform.h>\r
-\r
-#define NOR_FLASH_DEVICE_COUNT 1\r
-\r
-// RTSM\r
-NOR_FLASH_DESCRIPTION mNorFlashDevices[NOR_FLASH_DEVICE_COUNT] = {\r
- { // UEFI\r
- ARM_EB_SMB_NOR_BASE,\r
- ARM_EB_SMB_NOR_BASE,\r
- SIZE_128KB * 512,\r
- SIZE_128KB,\r
- {0xE7223039, 0x5836, 0x41E1, { 0xB5, 0x42, 0xD7, 0xEC, 0x73, 0x6C, 0x5E, 0x59 } }\r
- }\r
-};\r
-\r
-EFI_STATUS\r
-NorFlashPlatformInitialization (\r
- VOID\r
- )\r
-{\r
- return EFI_SUCCESS;\r
-}\r
-\r
-EFI_STATUS\r
-NorFlashPlatformGetDevices (\r
- OUT NOR_FLASH_DESCRIPTION **NorFlashDevices,\r
- OUT UINT32 *Count\r
- )\r
-{\r
- if ((NorFlashDevices == NULL) || (Count == NULL)) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- *NorFlashDevices = mNorFlashDevices;\r
- *Count = NOR_FLASH_DEVICE_COUNT;\r
-\r
- return EFI_SUCCESS;\r
-}\r
+++ /dev/null
-#/** @file\r
-#\r
-# Component description file for NorFlashArmRealViewEbLib 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 = NorFlashArmRealViewEbLib\r
- FILE_GUID = a3a49a60-7597-11e0-b07c-0002a5d5c51b\r
- MODULE_TYPE = DXE_DRIVER\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = NorFlashPlatformLib\r
-\r
-[Sources.common]\r
- NorFlashArmRealViewEb.c\r
-\r
-[Packages]\r
- MdePkg/MdePkg.dec\r
- ArmPlatformPkg/ArmPlatformPkg.dec\r
-\r
-[LibraryClasses]\r
- BaseLib\r
- DebugLib\r
- IoLib\r
+++ /dev/null
-/** @file\r
-\r
- Copyright (c) 2011, ARM 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
-#include <PiDxe.h>\r
-\r
-#include <Library/DebugLib.h>\r
-#include <Library/IoLib.h>\r
-#include <Library/LcdPlatformLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-\r
-#include <Protocol/EdidDiscovered.h>\r
-#include <Protocol/EdidActive.h>\r
-\r
-#include <Drivers/PL111Lcd.h>\r
-\r
-#include <ArmPlatform.h>\r
-\r
-typedef struct {\r
- UINT32 Mode;\r
- UINT32 HorizontalResolution;\r
- UINT32 VerticalResolution;\r
- LCD_BPP Bpp;\r
- UINT32 ClcdClk;\r
-\r
- UINT32 HSync;\r
- UINT32 HBackPorch;\r
- UINT32 HFrontPorch;\r
- UINT32 VSync;\r
- UINT32 VBackPorch;\r
- UINT32 VFrontPorch;\r
-} CLCD_RESOLUTION;\r
-\r
-\r
-CLCD_RESOLUTION mResolutions[] = {\r
- { // Mode 0 : VGA : 640 x 480 x 24 bpp\r
- VGA, VGA_H_RES_PIXELS, VGA_V_RES_PIXELS, LCD_BITS_PER_PIXEL_24, 0x2C77,\r
- VGA_H_SYNC, VGA_H_BACK_PORCH, VGA_H_FRONT_PORCH,\r
- VGA_V_SYNC, VGA_V_BACK_PORCH, VGA_V_FRONT_PORCH\r
- },\r
- { // Mode 1 : SVGA : 800 x 600 x 24 bpp\r
- SVGA, SVGA_H_RES_PIXELS, SVGA_V_RES_PIXELS, LCD_BITS_PER_PIXEL_24, 0x2CAC,\r
- SVGA_H_SYNC, SVGA_H_BACK_PORCH, SVGA_H_FRONT_PORCH,\r
- SVGA_V_SYNC, SVGA_V_BACK_PORCH, SVGA_V_FRONT_PORCH\r
- }\r
-};\r
-\r
-EFI_EDID_DISCOVERED_PROTOCOL mEdidDiscovered = {\r
- 0,\r
- NULL\r
-};\r
-\r
-EFI_EDID_ACTIVE_PROTOCOL mEdidActive = {\r
- 0,\r
- NULL\r
-};\r
-\r
-EFI_STATUS\r
-LcdPlatformInitializeDisplay (\r
- IN EFI_HANDLE Handle\r
- )\r
-{\r
- EFI_STATUS Status;\r
-\r
- MmioWrite32(ARM_EB_SYS_CLCD_REG, 1);\r
-\r
- // Install the EDID Protocols\r
- Status = gBS->InstallMultipleProtocolInterfaces(\r
- &Handle,\r
- &gEfiEdidDiscoveredProtocolGuid, &mEdidDiscovered,\r
- &gEfiEdidActiveProtocolGuid, &mEdidActive,\r
- NULL\r
- );\r
-\r
- return Status;\r
-}\r
-\r
-EFI_STATUS\r
-LcdPlatformGetVram (\r
- OUT EFI_PHYSICAL_ADDRESS* VramBaseAddress,\r
- OUT UINTN* VramSize\r
- )\r
-{\r
- *VramBaseAddress = PL111_CLCD_VRAM_BASE;\r
- *VramSize = SIZE_8MB; //FIXME: Can this size change ?\r
- return EFI_SUCCESS;\r
-}\r
-\r
-UINT32\r
-LcdPlatformGetMaxMode (\r
- VOID\r
- )\r
-{\r
- return (sizeof(mResolutions) / sizeof(CLCD_RESOLUTION));\r
-}\r
-\r
-EFI_STATUS\r
-LcdPlatformSetMode (\r
- IN UINT32 ModeNumber\r
- )\r
-{\r
- if (ModeNumber >= LcdPlatformGetMaxMode ()) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- MmioWrite32(ARM_EB_SYS_LOCK_REG,0x0000A05F);\r
- MmioWrite32(ARM_EB_SYS_OSC4_REG,mResolutions[ModeNumber].ClcdClk);\r
- MmioWrite32(ARM_EB_SYS_LOCK_REG,0x0);\r
-\r
- return EFI_SUCCESS;\r
-}\r
-\r
-EFI_STATUS\r
-LcdPlatformQueryMode (\r
- IN UINT32 ModeNumber,\r
- OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Info\r
- )\r
-{\r
- EFI_STATUS Status;\r
-\r
- if (ModeNumber >= LcdPlatformGetMaxMode ()) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- Status = EFI_UNSUPPORTED;\r
-\r
- Info->Version = 0;\r
- Info->HorizontalResolution = mResolutions[ModeNumber].HorizontalResolution;\r
- Info->VerticalResolution = mResolutions[ModeNumber].VerticalResolution;\r
- Info->PixelsPerScanLine = mResolutions[ModeNumber].HorizontalResolution;\r
-\r
- switch (mResolutions[ModeNumber].Bpp) {\r
- case LCD_BITS_PER_PIXEL_24:\r
- Info->PixelFormat = PixelRedGreenBlueReserved8BitPerColor;\r
- Info->PixelInformation.RedMask = LCD_24BPP_RED_MASK;\r
- Info->PixelInformation.GreenMask = LCD_24BPP_GREEN_MASK;\r
- Info->PixelInformation.BlueMask = LCD_24BPP_BLUE_MASK;\r
- Info->PixelInformation.ReservedMask = LCD_24BPP_RESERVED_MASK;\r
- Status = EFI_SUCCESS;\r
- break;\r
-\r
- case LCD_BITS_PER_PIXEL_16_555:\r
- Info->PixelFormat = PixelBitMask;\r
- Info->PixelInformation.RedMask = LCD_16BPP_555_RED_MASK;\r
- Info->PixelInformation.GreenMask = LCD_16BPP_555_GREEN_MASK;\r
- Info->PixelInformation.BlueMask = LCD_16BPP_555_BLUE_MASK;\r
- Info->PixelInformation.ReservedMask = LCD_16BPP_555_RESERVED_MASK;\r
- Status = EFI_SUCCESS;\r
- break;\r
-\r
- case LCD_BITS_PER_PIXEL_16_565:\r
- Info->PixelFormat = PixelBitMask;\r
- Info->PixelInformation.RedMask = LCD_16BPP_565_RED_MASK;\r
- Info->PixelInformation.GreenMask = LCD_16BPP_565_GREEN_MASK;\r
- Info->PixelInformation.BlueMask = LCD_16BPP_565_BLUE_MASK;\r
- Info->PixelInformation.ReservedMask = LCD_16BPP_565_RESERVED_MASK;\r
- Status = EFI_SUCCESS;\r
- break;\r
-\r
- case LCD_BITS_PER_PIXEL_12_444:\r
- Info->PixelFormat = PixelBitMask;\r
- Info->PixelInformation.RedMask = LCD_12BPP_444_RED_MASK;\r
- Info->PixelInformation.GreenMask = LCD_12BPP_444_GREEN_MASK;\r
- Info->PixelInformation.BlueMask = LCD_12BPP_444_BLUE_MASK;\r
- Info->PixelInformation.ReservedMask = LCD_12BPP_444_RESERVED_MASK;\r
- Status = EFI_SUCCESS;\r
- break;\r
-\r
- case LCD_BITS_PER_PIXEL_8:\r
- case LCD_BITS_PER_PIXEL_4:\r
- case LCD_BITS_PER_PIXEL_2:\r
- case LCD_BITS_PER_PIXEL_1:\r
- default:\r
- // These are not supported\r
- break;\r
- }\r
-\r
- return Status;\r
-}\r
-\r
-EFI_STATUS\r
-LcdPlatformGetTimings (\r
- IN UINT32 ModeNumber,\r
- OUT UINT32* HRes,\r
- OUT UINT32* HSync,\r
- OUT UINT32* HBackPorch,\r
- OUT UINT32* HFrontPorch,\r
- OUT UINT32* VRes,\r
- OUT UINT32* VSync,\r
- OUT UINT32* VBackPorch,\r
- OUT UINT32* VFrontPorch\r
- )\r
-{\r
- if (ModeNumber >= LcdPlatformGetMaxMode ()) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- *HRes = mResolutions[ModeNumber].HorizontalResolution;\r
- *HSync = mResolutions[ModeNumber].HSync;\r
- *HBackPorch = mResolutions[ModeNumber].HBackPorch;\r
- *HFrontPorch = mResolutions[ModeNumber].HFrontPorch;\r
- *VRes = mResolutions[ModeNumber].VerticalResolution;\r
- *VSync = mResolutions[ModeNumber].VSync;\r
- *VBackPorch = mResolutions[ModeNumber].VBackPorch;\r
- *VFrontPorch = mResolutions[ModeNumber].VFrontPorch;\r
-\r
- return EFI_SUCCESS;\r
-}\r
-\r
-EFI_STATUS\r
-LcdPlatformGetBpp (\r
- IN UINT32 ModeNumber,\r
- OUT LCD_BPP * Bpp\r
- )\r
-{\r
- if (ModeNumber >= LcdPlatformGetMaxMode ()) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- *Bpp = mResolutions[ModeNumber].Bpp;\r
-\r
- return EFI_SUCCESS;\r
-}\r
+++ /dev/null
-#/** @file\r
-#\r
-# Component description file for ArmRealViewGraphicsDxe module\r
-#\r
-# Copyright (c) 2011-2012, ARM 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 = PL111LcdArmRealViewEbLib\r
- FILE_GUID = 51396ee0-4973-11e0-868a-0002a5d5c51b\r
- MODULE_TYPE = DXE_DRIVER\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = PL111LcdPlatformLib\r
-\r
-[Sources.common]\r
- PL111LcdArmRealViewEb.c\r
-\r
-[Packages]\r
- MdePkg/MdePkg.dec\r
- ArmPlatformPkg/ArmPlatformPkg.dec\r
-\r
-[LibraryClasses]\r
- BaseLib\r
- DebugLib\r
- IoLib\r
-\r
-[Guids]\r
-\r
-[Protocols]\r
- gEfiEdidDiscoveredProtocolGuid # Produced\r
- gEfiEdidActiveProtocolGuid # Produced\r
-\r
-[FixedPcd.common]\r
-\r
- #\r
- # The following modes are supported by PL111\r
- #\r
- # 0 : 640 x 480 x 24 bpp\r
- # 1 : 800 x 600 x 24 bpp\r
- # 2 : 1024 x 768 x 24 bpp\r
- # 3 : 640 x 480 x 16 bpp (565 RGB Mode)\r
- # 4 : 800 x 600 x 16 bpp (565 RGB Mode)\r
- # 5 : 1024 x 768 x 16 bpp (565 RGB Mode)\r
- # 6 : 640 x 480 x 15 bpp (555 RGB Mode)\r
- # 7 : 800 x 600 x 15 bpp (555 RGB Mode)\r
- # 8 : 1024 x 768 x 15 bpp (555 RGB Mode)\r
- # 9 : 1024 x 768 x 15 bpp (555 RGB Mode) - Linux driver settings\r
- # 10 : 640 x 480 x 12 bpp (444 RGB Mode)\r
- # 11 : 800 x 600 x 12 bpp (444 RGB Mode)\r
- # 12 : 1024 x 768 x 12 bpp (444 RGB Mode)\r
- #\r
-\r
-[Pcd.common]\r
-\r
-[Depex]\r
- # gEfiCpuArchProtocolGuid\r
+++ /dev/null
-/** @file\r
- Template library implementation to support ResetSystem Runtime call.\r
-\r
- Fill in the templates with what ever makes you system reset.\r
-\r
-\r
- Copyright (c) 2008 - 2009, Apple Inc. 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
-\r
-#include <PiDxe.h>\r
-\r
-#include <Library/BaseLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/EfiResetSystemLib.h>\r
-#include <Drivers/PL011Uart.h>\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
- if (ResetData != NULL) {\r
- DEBUG ((EFI_D_ERROR, "%s", ResetData));\r
- }\r
-\r
- switch (ResetType) {\r
- case EfiResetWarm:\r
- // Map a warm reset into a cold reset\r
- case EfiResetCold:\r
- case EfiResetShutdown:\r
- default:\r
- CpuDeadLoop ();\r
- break;\r
- }\r
-\r
- // If the reset didn't work, return an error.\r
- ASSERT (FALSE);\r
- return EFI_DEVICE_ERROR;\r
-}\r
-\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
-\r
+++ /dev/null
-#/** @file\r
-# Reset System lib to make it easy to port new platforms\r
-#\r
-# Copyright (c) 2008, Apple Inc. 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 = ArmEbResetSystemLib\r
- FILE_GUID = CEFFA65C-B568-453e-9E11-B81AE683D035\r
- MODULE_TYPE = BASE\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = EfiResetSystemLib\r
-\r
-\r
-[Sources.common]\r
- ResetSystemLib.c\r
-\r
-[Packages]\r
- MdePkg/MdePkg.dec\r
- EmbeddedPkg/EmbeddedPkg.dec\r
- ArmPlatformPkg/ArmPlatformPkg.dec\r
-\r
-[LibraryClasses]\r
- DebugLib\r
- BaseLib\r
+++ /dev/null
-@REM Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>\r
-@REM This program and the accompanying materials\r
-@REM are licensed and made available under the terms and conditions of the BSD License\r
-@REM which accompanies this distribution. The full text of the license may be found at\r
-@REM http://opensource.org/licenses/bsd-license.php\r
-@REM\r
-@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-@REM\r
-\r
-@REM Example usage of this script. default is a DEBUG build\r
-@REM b\r
-@REM b clean\r
-@REM b release \r
-@REM b release clean\r
-@REM b -v -y build.log\r
-\r
-ECHO OFF\r
-@REM Setup Build environment. Sets WORKSPACE and puts build in path\r
-CALL ..\edksetup.bat\r
-\r
-@REM Set for tools chain. Currently RVCT31\r
-SET TARGET_TOOLS=RVCT31\r
-SET TARGET=DEBUG\r
-\r
-@if /I "%1"=="RELEASE" (\r
- @REM If 1st argument is release set TARGET to RELEASE and shift arguments to remove it \r
- SET TARGET=RELEASE\r
- shift /1\r
-)\r
-\r
-SET BUILD_ROOT=%WORKSPACE%\Build\ArmRealViewEb\%TARGET%_%TARGET_TOOLS%\r
-\r
-@REM Build the ARM RealView EB firmware and creat an FD (FLASH Device) Image.\r
-CALL build -p ArmRealViewEbPkg\ArmRealViewEbPkg.dsc -a ARM -t RVCT31 -b %TARGET% %1 %2 %3 %4 %5 %6 %7 %8\r
-@if ERRORLEVEL 1 goto Exit\r
-\r
-@if /I "%1"=="CLEAN" goto Clean\r
-\r
-:Exit\r
-EXIT /B\r
-\r
-:Clean\r
+++ /dev/null
-@REM Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>\r
-@REM This program and the accompanying materials\r
-@REM are licensed and made available under the terms and conditions of the BSD License\r
-@REM which accompanies this distribution. The full text of the license may be found at\r
-@REM http://opensource.org/licenses/bsd-license.php\r
-@REM\r
-@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-@REM\r
-\r
-@REM Example usage of this script. default is a DEBUG build\r
-@REM b\r
-@REM b clean\r
-@REM b release \r
-@REM b release clean\r
-@REM b -v -y build.log\r
-\r
-ECHO OFF\r
-@REM Setup Build environment. Sets WORKSPACE and puts build in path\r
-CALL ..\edksetup.bat\r
-\r
-@REM Set for tools chain. Currently ARMGCC\r
-SET TARGET_TOOLS=ARMGCC\r
-SET TARGET=DEBUG\r
-\r
-\r
-@if /I "%1"=="RELEASE" (\r
-\r
- @REM If 1st argument is release set TARGET to RELEASE and shift arguments to remove it \r
-\r
- SET TARGET=RELEASE\r
-\r
- shift /1\r
-\r
-)\r
-\r
-\r
-SET BUILD_ROOT=%WORKSPACE%\Build\ArmRealViewEb\%TARGET%_%TARGET_TOOLS%\r
-\r
-@REM Build the ARM RealView EB firmware and creat an FD (FLASH Device) Image.\r
-CALL build -p ArmRealViewEbPkg\ArmRealViewEbPkg.dsc -a ARM -t %TARGET_TOOLS% -b %TARGET% %1 %2 %3 %4 %5 %6 %7 %8\r
-@if ERRORLEVEL 1 goto Exit\r
-\r
-@if /I "%1"=="CLEAN" goto Clean\r
-\r
-\r
-ECHO Patching ..\Debugger_scripts ...\r
-SET DEBUGGER_SCRIPT=Debugger_scripts\r
-@for /f %%a IN ('dir /b %DEBUGGER_SCRIPT%\*.inc %DEBUGGER_SCRIPT%\*.cmm') do (\r
- @CALL replace %DEBUGGER_SCRIPT%\%%a %BUILD_ROOT%\%%a ZZZZZZ %BUILD_ROOT% WWWWWW %WORKSPACE%\r
-)\r
-\r
-:Exit\r
-EXIT /B\r
-\r
-:Clean\r
+++ /dev/null
-#!/bin/bash
-# Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-
-set -e
-shopt -s nocasematch
-
-function process_debug_scripts {
- if [[ -d $1 ]]; then
- for filename in `ls $1`
- do
- sed -e "s@ZZZZZZ@$BUILD_ROOT@g" -e "s@WWWWWW@$WORKSPACE@g" \
- "$1/$filename" \
- > "$BUILD_ROOT/$filename"
-
- #For ARMCYGWIN, we have to change /cygdrive/c to c:
- if [[ $TARGET_TOOLS == RVCT31CYGWIN ]]
- then
- mv "$BUILD_ROOT/$filename" "$BUILD_ROOT/$filename"_temp
- sed -e "s@/cygdrive/\(.\)@\1:@g" \
- "$BUILD_ROOT/$filename"_temp \
- > "$BUILD_ROOT/$filename"
- rm -f "$BUILD_ROOT/$filename"_temp
- fi
- done
- fi
-}
-
-
-#
-# Setup workspace if it is not set
-#
-if [ -z "$WORKSPACE" ]
-then
- echo Initializing workspace
- cd ..
- export EDK_TOOLS_PATH=`pwd`/BaseTools
- source edksetup.sh BaseTools
-else
- echo Building from: $WORKSPACE
-fi
-
-#
-# Pick a default tool type for a given OS
-#
-case `uname` in
- CYGWIN*)
- TARGET_TOOLS=RVCT31CYGWIN
- ;;
- Linux*)
- # Not tested
- TARGET_TOOLS=ARMGCC
- ;;
- Darwin*)
- Major=$(uname -r | cut -f 1 -d '.')
- if [[ $Major == 9 ]]
- then
- # Not supported by this open source project
- TARGET_TOOLS=XCODE31
- else
- TARGET_TOOLS=XCODE32
- fi
- ;;
-esac
-
-TARGET=DEBUG
-for arg in "$@"
-do
- if [[ $arg == RELEASE ]];
- then
- TARGET=RELEASE
- fi
-done
-
-BUILD_ROOT=$WORKSPACE/Build/ArmRealViewEb/"$TARGET"_"$TARGET_TOOLS"
-
-if [[ ! -e $EDK_TOOLS_PATH/Source/C/bin ]];
-then
- # build the tools if they don't yet exist
- echo Building tools: $EDK_TOOLS_PATH
- make -C $EDK_TOOLS_PATH
-else
- echo using prebuilt tools
-fi
-
-#
-# Build the edk2 ArmEb code
-#
-if [[ $TARGET == RELEASE ]]; then
- build -p $WORKSPACE/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEbPkg.dsc -a ARM -t $TARGET_TOOLS -b $TARGET -D DEBUG_TARGET=RELEASE $2 $3 $4 $5 $6 $7 $8
-else
- build -p $WORKSPACE/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEbPkg.dsc -a ARM -t $TARGET_TOOLS -b $TARGET $1 $2 $3 $4 $5 $6 $7 $8
-fi
-
-
-for arg in "$@"
-do
- if [[ $arg == clean ]]; then
- # no need to post process if we are doing a clean
- exit
- elif [[ $arg == cleanall ]]; then
- make -C $EDK_TOOLS_PATH clean
- exit
-
- fi
-done
-
-
-echo Creating debugger scripts
-process_debug_scripts $WORKSPACE/ArmPlatformPkg/ArmRealViewEbPkg/Debugger_scripts
-
+++ /dev/null
-#\r
-# Copyright (c) 2011-2015, 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
-################################################################################\r
-#\r
-# Defines Section - statements that will be processed to create a Makefile.\r
-#\r
-################################################################################\r
-[Defines]\r
- PLATFORM_NAME = ArmVExpressPkg-CTA9x4\r
- PLATFORM_GUID = eb2bd5ff-2379-4a06-9c12-db905cdee9ea\r
- PLATFORM_VERSION = 0.1\r
- DSC_SPECIFICATION = 0x00010005\r
- SUPPORTED_ARCHITECTURES = ARM\r
- BUILD_TARGETS = DEBUG|RELEASE\r
- SKUID_IDENTIFIER = DEFAULT\r
- FLASH_DEFINITION = ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf\r
-\r
- # Reflashing the NOR Flash is a slow process. To ease the development on ARM Versatile Express Cortex-A9x4,\r
- # the UEFI firmware can be built to be started from DRAM (instead of NOR Flash).\r
- # The engineer only needs to copy the new binary in DRAM with the hardware debugger and execute from there.\r
-!ifndef EDK2_ARMVE_STANDALONE\r
- DEFINE EDK2_ARMVE_STANDALONE=1\r
-!endif\r
-!if $(EDK2_ARMVE_STANDALONE) == 1\r
- OUTPUT_DIRECTORY = Build/ArmVExpress-CTA9x4-Standalone\r
-!else\r
- OUTPUT_DIRECTORY = Build/ArmVExpress-CTA9x4\r
-!endif\r
-\r
-!include ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc\r
-\r
-[LibraryClasses.common]\r
- ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
- ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Lib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressLib.inf\r
- ArmTrustZoneLib|ArmPlatformPkg/Drivers/ArmTrustZone/ArmTrustZone.inf\r
-\r
- # ARM PL310 L2 Cache Driver\r
- L2X0CacheLib|ArmPlatformPkg/Drivers/PL310L2Cache/PL310L2CacheSec.inf\r
- # ARM PL354 SMC Driver\r
- PL35xSmcLib|ArmPlatformPkg/Drivers/PL35xSmc/PL35xSmc.inf\r
- # ARM PL341 DMC Driver\r
- PL341DmcLib|ArmPlatformPkg/Drivers/PL34xDmc/PL341Dmc.inf\r
- # ARM PL301 Axi Driver\r
- PL301AxiLib|ArmPlatformPkg/Drivers/PL301Axi/PL301Axi.inf\r
-\r
- ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf\r
- NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf\r
- LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf\r
-\r
-[LibraryClasses.common.SEC]\r
- ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf\r
- ArmPlatformSecLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibCTA9x4/ArmVExpressSecLib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressLibSec.inf\r
-\r
- # Uncomment to turn on GDB stub in SEC.\r
- #DebugAgentLib|EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.inf\r
-\r
-[BuildOptions]\r
- RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A9 -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/CTA9x4\r
-\r
- GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a9 -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/CTA9x4\r
-\r
- XCODE:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a9 -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/CTA9x4\r
-\r
-################################################################################\r
-#\r
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
-#\r
-################################################################################\r
-\r
-[PcdsFeatureFlag.common]\r
-!if $(EDK2_ARMVE_STANDALONE) == 1\r
- gArmPlatformTokenSpaceGuid.PcdStandalone|TRUE\r
-!else\r
- gArmPlatformTokenSpaceGuid.PcdStandalone|FALSE\r
- gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec|TRUE\r
- gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores|TRUE\r
-!endif\r
-\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
-[PcdsFixedAtBuild.common]\r
- gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Versatile Express"\r
- gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmVExpress"\r
-\r
- gArmPlatformTokenSpaceGuid.PcdCoreCount|4\r
-\r
- #\r
- # NV Storage PCDs. Use base of 0x43FC0000 for NOR0 or 0x47FC0000 for NOR1 on Versatile Express\r
- #\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x47FC0000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00010000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x47FD0000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00010000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x47FE0000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00010000\r
-\r
- gArmTokenSpaceGuid.PcdVFPEnabled|1\r
-\r
- # Stacks for MPCores in Secure World\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0x49E00000\r
- # Stacks for MPCores in Monitor Mode\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0x49D00000\r
- # Stacks for MPCores in Normal World\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x48000000\r
-\r
- # System Memory (1GB)\r
- gArmTokenSpaceGuid.PcdSystemMemoryBase|0x60000000\r
- gArmTokenSpaceGuid.PcdSystemMemorySize|0x40000000\r
-\r
- #\r
- # ARM Pcds\r
- #\r
- gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000\r
-\r
- #\r
- # ARM PrimeCell\r
- #\r
-\r
- ## SP804 Timer\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|34\r
- gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicBase|0x10011000\r
- gArmPlatformTokenSpaceGuid.PcdSP804TimerPerformanceBase|0x10011020\r
- gArmPlatformTokenSpaceGuid.PcdSP804TimerMetronomeBase|0x10012020\r
-\r
- ## SP805 Watchdog - Motherboard Watchdog\r
- gArmPlatformTokenSpaceGuid.PcdSP805WatchdogBase|0x1000F000\r
- ## SP805 Watchdog - CoreTile Watchdog\r
- #gArmPlatformTokenSpaceGuid.PcdSP805WatchdogBase|0x100E5000\r
-\r
- ## PL011 - Serial Terminal\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x10009000\r
- gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|38400\r
-\r
- ## PL031 RealTimeClock\r
- gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x10017000\r
-\r
- ## PL111 Lcd\r
- # PL111 CoreTile or Tuscan Standalone controller\r
- gArmPlatformTokenSpaceGuid.PcdPL111LcdBase|0x10020000\r
- # PL111 Versatile Express Motherboard controller\r
- #gArmPlatformTokenSpaceGuid.PcdPL111LcdBase|0x1001F000\r
-\r
- ## PL180 MMC/SD card controller\r
- gArmPlatformTokenSpaceGuid.PcdPL180SysMciRegAddress|0x10000048\r
- gArmPlatformTokenSpaceGuid.PcdPL180MciBaseAddress|0x10005000\r
-\r
- #\r
- # ARM General Interrupt Controller\r
- #\r
- gArmTokenSpaceGuid.PcdGicDistributorBase|0x1e001000\r
- gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x1e000100\r
-\r
- #\r
- # Define the device path to the FDT for the platform\r
- #\r
- gEmbeddedTokenSpaceGuid.PcdFdtDevicePaths|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/ca9"\r
-\r
- #\r
- # ARM OS Loader\r
- #\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from NorFlash"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"Fv(1A9B3625-5286-4FA6-AF5F-8EABC481F3CC)/LinuxLoader.efi"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/kernel -c \"console=ttyAMA0,38400 earlyprintk debug verbose\""\r
-\r
- # Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)\r
- gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi();VenHw(407B4008-BF5B-11DF-9547-CF16E0D72085)"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi()"\r
-\r
- #\r
- # ARM L2x0 PCDs\r
- #\r
- gArmTokenSpaceGuid.PcdL2x0ControllerBase|0x1E00A000\r
-\r
- # ISP1761 USB OTG Controller\r
- gEmbeddedTokenSpaceGuid.PcdIsp1761BaseAddress|0x4f000000\r
-\r
- # LAN9118 Ethernet Driver PCDs\r
- gEmbeddedTokenSpaceGuid.PcdLan9118DxeBaseAddress|0x4E000000\r
-\r
-################################################################################\r
-#\r
-# Components Section - list of all EDK II Modules needed by this Platform\r
-#\r
-################################################################################\r
-[Components.common]\r
-\r
- #\r
- # SEC\r
- #\r
- ArmPlatformPkg/Sec/Sec.inf {\r
- <LibraryClasses>\r
- # Use the implementation which set the Secure bits\r
- ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf\r
- }\r
-\r
- #\r
- # PEI Phase modules\r
- #\r
-!ifdef EDK2_SKIP_PEICORE\r
- ArmPlatformPkg/PrePi/PeiMPCore.inf {\r
- <LibraryClasses>\r
- ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressLib.inf\r
- ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/PrePi/PrePiArmPlatformGlobalVariableLib.inf\r
- }\r
-!else\r
- ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.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
- <LibraryClasses>\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\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
- MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
- <LibraryClasses>\r
- NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
- }\r
-!endif\r
-\r
- #\r
- # DXE\r
- #\r
- MdeModulePkg/Core/Dxe/DxeMain.inf {\r
- <LibraryClasses>\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
- NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
- }\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
- MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.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
- ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
- ArmPlatformPkg/Drivers/SP804TimerDxe/SP804TimerDxe.inf\r
- ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf\r
- ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf\r
-\r
- #\r
- # Platform\r
- #\r
- ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmHwDxe.inf\r
-\r
- #\r
- # Filesystems\r
- #\r
- ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
-\r
- #\r
- # Multimedia Card Interface\r
- #\r
- EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf\r
- ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf\r
-\r
- # SMSC LAN 9118\r
- EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.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
- ArmPlatformPkg/Bds/Bds.inf\r
+++ /dev/null
-#\r
-# Copyright (c) 2011-2015, 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
-#\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.Sec_ArmVExpress_EFI]\r
-BaseAddress = 0x44000000|gArmTokenSpaceGuid.PcdSecureFdBaseAddress #The base address of the Secure FLASH Device.\r
-Size = 0x00080000|gArmTokenSpaceGuid.PcdSecureFdSize #The size in bytes of the Secure FLASH Device\r
-ErasePolarity = 1\r
-BlockSize = 0x00001000\r
-NumBlocks = 0x80\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
-0x00000000|0x00080000\r
-gArmTokenSpaceGuid.PcdSecureFvBaseAddress|gArmTokenSpaceGuid.PcdSecureFvSize\r
-FV = FVMAIN_SEC\r
-\r
-\r
-[FD.ArmVExpress_EFI]\r
-!if $(EDK2_ARMVE_STANDALONE) == 1\r
-BaseAddress = 0x45000000|gArmTokenSpaceGuid.PcdFdBaseAddress # The base address of the Firmware in NOR Flash.\r
-!else\r
-BaseAddress = 0x80000000|gArmTokenSpaceGuid.PcdFdBaseAddress # The base address of the Firmware in remapped DRAM.\r
-!endif\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
-0x00000000|0x00200000\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_SEC]\r
-FvAlignment = 8\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/Sec/Sec.inf\r
-\r
-\r
-[FV.FvMain]\r
-BlockSize = 0x40\r
-NumBlocks = 0 # This FV gets compressed so make it just big enough\r
-FvAlignment = 8 # 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
-FvNameGuid = 1a9b3625-5286-4fa6-af5f-8eabc481f3cc\r
-\r
- INF MdeModulePkg/Core/Dxe/DxeMain.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/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
- INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\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
-\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 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
-\r
- INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf\r
- INF ArmPlatformPkg/Drivers/SP804TimerDxe/SP804TimerDxe.inf\r
- INF ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
- INF ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf\r
- INF ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf\r
-\r
- #\r
- # Platform\r
- #\r
- INF ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmHwDxe.inf\r
-\r
-!if $(EDK2_ARMVE_STANDALONE) != 1\r
- #\r
- # Semi-hosting filesystem (Required the Hardware Debugger to be connected)\r
- #\r
- INF ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
-!endif\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
- # Versatile Express FileSystem\r
- INF ArmPlatformPkg/FileSystem/BootMonFs/BootMonFs.inf\r
-\r
- #\r
- # Multimedia Card Interface\r
- #\r
- INF EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf\r
- INF ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf\r
-\r
- #\r
- # USB support\r
- #\r
- INF EmbeddedPkg/Drivers/Isp1761UsbDxe/Isp1761UsbDxe.inf\r
-\r
- #\r
- # Android Fastboot\r
- #\r
- INF EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf\r
- INF EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf\r
- INF ArmPlatformPkg/ArmVExpressPkg/ArmVExpressFastBootDxe/ArmVExpressFastBootDxe.inf\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/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
- INF EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.inf\r
-\r
- #\r
- # UEFI application (Shell Embedded Boot Loader)\r
- #\r
- INF ShellBinPkg/UefiShell/UefiShell.inf\r
-\r
- #\r
- # Bds\r
- #\r
- INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
- INF ArmPlatformPkg/Bds/Bds.inf\r
-\r
- # Legacy Linux Loader\r
- INF ArmPkg/Application/LinuxLoader/LinuxLoader.inf\r
-\r
- # FV Filesystem\r
- INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf\r
-\r
- #\r
- # FDT installation\r
- #\r
- # The UEFI driver is at the end of the list of the driver to be dispatched\r
- # after the device drivers (eg: Ethernet) to ensure we have support for them.\r
- INF EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf\r
-\r
- # Example to add a Device Tree to the Firmware Volume\r
- #FILE FREEFORM = PCD(gArmVExpressTokenSpaceGuid.PcdFdtVExpressHwA9x4) {\r
- # SECTION RAW = ArmPlatformPkg/ArmVExpressPkg/Fdts/vexpress-v2p-ca9.dtb\r
- #}\r
-\r
-[FV.FVMAIN_COMPACT]\r
-FvAlignment = 8\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
-!if $(EDK2_SKIP_PEICORE) == 1\r
- INF ArmPlatformPkg/PrePi/PeiMPCore.inf\r
-!else\r
- INF ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.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
- INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
- INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
- INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
-!endif\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 = 32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
- }\r
-\r
-[Rule.Common.PEI_CORE]\r
- FILE PEI_CORE = $(NAMED_GUID) {\r
- TE TE $(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 $(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
+++ /dev/null
-#\r
-# Copyright (c) 2011-2015, 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
-################################################################################\r
-#\r
-# Defines Section - statements that will be processed to create a Makefile.\r
-#\r
-################################################################################\r
-[Defines]\r
- PLATFORM_NAME = ArmVExpressPkg-RTSM-A15\r
- PLATFORM_GUID = 1665b5b1-529d-4ba1-bd51-c3c9b29a2274\r
- PLATFORM_VERSION = 0.1\r
- DSC_SPECIFICATION = 0x00010005\r
- OUTPUT_DIRECTORY = Build/ArmVExpress-RTSM-A15\r
- SUPPORTED_ARCHITECTURES = ARM\r
- BUILD_TARGETS = DEBUG|RELEASE\r
- SKUID_IDENTIFIER = DEFAULT\r
- FLASH_DEFINITION = ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf\r
-\r
-!include ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc\r
-\r
-[LibraryClasses.common]\r
- ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
- ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Lib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf\r
-\r
- ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf\r
- NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf\r
- LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf\r
-\r
- #DebugAgentTimerLib|ArmPlatformPkg/ArmVExpressPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf\r
-\r
- TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf\r
-\r
- # Virtio Support\r
- VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf\r
- VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf\r
-\r
-[LibraryClasses.common.SEC]\r
- ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf\r
- ArmPlatformSecLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/ArmVExpressSecLib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf\r
-\r
-[LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_DRIVER]\r
- PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
-\r
-[BuildOptions]\r
- RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM\r
-\r
- GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM\r
-\r
- XCODE:*_*_ARM_PLATFORM_FLAGS = -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM\r
-\r
-################################################################################\r
-#\r
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
-#\r
-################################################################################\r
-\r
-[PcdsFeatureFlag.common]\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
-[PcdsFixedAtBuild.common]\r
- gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Versatile Express"\r
- gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmVExpress-RTSM"\r
-\r
- #\r
- # NV Storage PCDs. Use base of 0x0C000000 for NOR1\r
- #\r
-!if $(EDK2_ARMVE_SUPPORT_QEMU) == 1\r
- # QEMU only models a single flash block size, so use larger blocks\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0FF00000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00040000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0FF40000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00040000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0FF80000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00040000\r
-!else\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0FFC0000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00010000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0FFD0000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00010000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0FFE0000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00010000\r
-!endif\r
-\r
- gArmTokenSpaceGuid.PcdVFPEnabled|1\r
-\r
- # Stacks for MPCores in Secure World\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0x2E009000\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoreSecPrimaryStackSize|0x1000\r
-\r
- # Stacks for MPCores in Monitor Mode\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0x2E008000\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoreSecMonStackSize|0x100\r
-\r
- # Stacks for MPCores in Normal World\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x2E000000\r
- gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000\r
-\r
- # System Memory (1GB)\r
- gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000\r
- gArmTokenSpaceGuid.PcdSystemMemorySize|0x40000000\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
- #\r
- # ARM PrimeCell\r
- #\r
-\r
- ## SP805 Watchdog - Motherboard Watchdog\r
- gArmPlatformTokenSpaceGuid.PcdSP805WatchdogBase|0x1C0F0000\r
-\r
- ## PL011 - Serial Terminal\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c090000\r
- gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|38400\r
-\r
- ## PL031 RealTimeClock\r
- gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x1C170000\r
-\r
- ## PL111 Versatile Express Motherboard controller\r
- gArmPlatformTokenSpaceGuid.PcdPL111LcdBase|0x1C1F0000\r
-\r
- ## PL180 MMC/SD card controller\r
- gArmPlatformTokenSpaceGuid.PcdPL180SysMciRegAddress|0x1C010048\r
- gArmPlatformTokenSpaceGuid.PcdPL180MciBaseAddress|0x1C050000\r
-\r
- #\r
- # ARM General Interrupt Controller\r
- #\r
- gArmTokenSpaceGuid.PcdGicDistributorBase|0x2C001000\r
- gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C002000\r
-\r
- #\r
- # ARM OS Loader\r
- #\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"SemiHosting"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"Fv(9CA4F58C-341E-4F42-B37D-6042FCDDB5BF)/LinuxLoader.efi"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|L"VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/Image -c \"console=ttyAMA0,38400 earlyprintk debug verbose\""\r
-\r
- # Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)\r
- gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi();VenHw(407B4008-BF5B-11DF-9547-CF16E0D72085)"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi()"\r
-\r
- #\r
- # ARM Architectural Timer Frequency\r
- #\r
- gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|100000000\r
-\r
-[PcdsDynamicDefault.common]\r
- #\r
- # The size of a dynamic PCD of the (VOID*) type can not be increased at run\r
- # time from its size at build time. Set the "PcdFdtDevicePaths" PCD to a 128\r
- # character "empty" string, to allow to be able to set FDT text device paths\r
- # up to 128 characters long.\r
- #\r
- gEmbeddedTokenSpaceGuid.PcdFdtDevicePaths|L" "\r
-\r
-################################################################################\r
-#\r
-# Components Section - list of all EDK II Modules needed by this Platform\r
-#\r
-################################################################################\r
-[Components.common]\r
-\r
- #\r
- # SEC\r
- #\r
- ArmPlatformPkg/Sec/Sec.inf {\r
- <LibraryClasses>\r
- # Use the implementation which set the Secure bits\r
- ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf\r
- }\r
-\r
- #\r
- # PEI Phase modules\r
- #\r
-!ifdef EDK2_SKIP_PEICORE\r
- ArmPlatformPkg/PrePi/PeiUniCore.inf {\r
- <LibraryClasses>\r
- ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf\r
- ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/PrePi/PrePiArmPlatformGlobalVariableLib.inf\r
- }\r
-!else\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
- <LibraryClasses>\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\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
- MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
- <LibraryClasses>\r
- NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
- }\r
-!endif\r
-\r
- #\r
- # DXE\r
- #\r
- MdeModulePkg/Core/Dxe/DxeMain.inf {\r
- <LibraryClasses>\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
- NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
- }\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
- MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.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
- ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
- ArmPkg/Drivers/TimerDxe/TimerDxe.inf\r
- ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf\r
- ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf\r
-\r
- #\r
- # Semi-hosting filesystem\r
- #\r
- ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
-\r
- #\r
- # Multimedia Card Interface\r
- #\r
- EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf\r
- ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf\r
-\r
- #\r
- # Platform Driver\r
- #\r
- ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf\r
- OvmfPkg/VirtioBlkDxe/VirtioBlk.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
- ArmPlatformPkg/Bds/Bds.inf\r
+++ /dev/null
-#\r
-# Copyright (c) 2011-2015, 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
-#\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.RTSM_VE_Cortex-A15_EFI]\r
-BaseAddress = 0x08000000|gArmTokenSpaceGuid.PcdFdBaseAddress # The base address of the Firmware in NOR Flash.\r
-Size = 0x00300000|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 = 0x300\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
-0x00000000|0x00080000\r
-gArmTokenSpaceGuid.PcdSecureFvBaseAddress|gArmTokenSpaceGuid.PcdSecureFvSize\r
-FV = FVMAIN_SEC\r
-\r
-0x00080000|0x00280000\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_SEC]\r
-FvAlignment = 8\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/Sec/Sec.inf\r
-\r
-\r
-[FV.FvMain]\r
-BlockSize = 0x40\r
-NumBlocks = 0 # This FV gets compressed so make it just big enough\r
-FvAlignment = 8 # 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
-FvNameGuid = 9ca4f58c-341e-4f42-b37d-6042fcddb5bf\r
-\r
- APRIORI DXE {\r
- INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
- }\r
-\r
- INF MdeModulePkg/Core/Dxe/DxeMain.inf\r
- INF MdeModulePkg/Universal/PCD/Dxe/Pcd.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/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
- INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\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
-\r
- INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\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/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
- # 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
- INF ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
- INF ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf\r
- INF ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf\r
-\r
- #\r
- # Semi-hosting filesystem\r
- #\r
- INF ArmPkg/Filesystem/SemihostFs/SemihostFs.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
- # Versatile Express FileSystem\r
- INF ArmPlatformPkg/FileSystem/BootMonFs/BootMonFs.inf\r
-\r
- #\r
- # Multimedia Card Interface\r
- #\r
- INF EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf\r
- INF ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf\r
-\r
- #\r
- # Platform Driver\r
- #\r
- INF ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf\r
- INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf\r
-\r
- #\r
- # UEFI application (Shell Embedded Boot Loader)\r
- #\r
- INF ShellBinPkg/UefiShell/UefiShell.inf\r
-\r
- #\r
- # Bds\r
- #\r
- INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
- INF ArmPlatformPkg/Bds/Bds.inf\r
-\r
- # FV Filesystem\r
- INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf\r
-\r
- #\r
- # FDT installation\r
- #\r
- # The UEFI driver is at the end of the list of the driver to be dispatched\r
- # after the device drivers (eg: Ethernet) to ensure we have support for them.\r
- INF EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf\r
-\r
- # Example to add a Device Tree to the Firmware Volume\r
- #FILE FREEFORM = PCD(gArmVExpressTokenSpaceGuid.PcdFdtVExpressFvpA15x1) {\r
- # SECTION RAW = ArmPlatformPkg/ArmVExpressPkg/Fdts/rtsm_ve-ca15x1.dtb\r
- #}\r
-\r
- # Legacy Linux Loader\r
- INF ArmPkg/Application/LinuxLoader/LinuxLoader.inf\r
-\r
-[FV.FVMAIN_COMPACT]\r
-FvAlignment = 8\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
-!if $(EDK2_SKIP_PEICORE) == 1\r
- INF ArmPlatformPkg/PrePi/PeiUniCore.inf\r
-!else\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
- INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
- INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
- INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
-!endif\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 = 32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
- }\r
-\r
-[Rule.Common.PEI_CORE]\r
- FILE PEI_CORE = $(NAMED_GUID) {\r
- TE TE $(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 $(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
+++ /dev/null
-#\r
-# Copyright (c) 2011-2015, 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
-################################################################################\r
-#\r
-# Defines Section - statements that will be processed to create a Makefile.\r
-#\r
-################################################################################\r
-[Defines]\r
- PLATFORM_NAME = ArmVExpressPkg-RTSM-A9x4\r
- PLATFORM_GUID = e46039e0-5bb3-11e0-a9d6-0002a5d5c51b\r
- PLATFORM_VERSION = 0.1\r
- DSC_SPECIFICATION = 0x00010005\r
- OUTPUT_DIRECTORY = Build/ArmVExpress-RTSM-A9x4\r
- SUPPORTED_ARCHITECTURES = ARM\r
- BUILD_TARGETS = DEBUG|RELEASE\r
- SKUID_IDENTIFIER = DEFAULT\r
- FLASH_DEFINITION = ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A9x4.fdf\r
-\r
-!include ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc\r
-\r
-[LibraryClasses.common]\r
- ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
- ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Lib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf\r
-\r
- ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf\r
- NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf\r
- LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf\r
-\r
- #DebugAgentTimerLib|ArmPlatformPkg/ArmVExpressPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf\r
-\r
-\r
- # Virtio Support\r
- VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf\r
- VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf\r
-\r
-[LibraryClasses.common.SEC]\r
- ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf\r
- ArmPlatformSecLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/ArmVExpressSecLib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf\r
-\r
- # Uncomment to turn on GDB stub in SEC.\r
- #DebugAgentLib|EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.inf\r
-\r
-[LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_DRIVER]\r
- PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
-\r
-[BuildOptions]\r
- RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A9 -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM\r
-\r
- GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a9 -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM\r
-\r
- XCODE:*_*_ARM_PLATFORM_FLAGS == -march=armv7-a -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM\r
-\r
-################################################################################\r
-#\r
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
-#\r
-################################################################################\r
-\r
-[PcdsFeatureFlag.common]\r
-\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
-[PcdsFixedAtBuild.common]\r
- gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Versatile Express"\r
- gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmVExpress-RTSM"\r
-\r
- gArmPlatformTokenSpaceGuid.PcdCoreCount|4\r
-\r
- #\r
- # NV Storage PCDs. Use base of 0x0C000000 for NOR1\r
- #\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0FFC0000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00010000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0FFD0000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00010000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0FFE0000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00010000\r
-\r
- gArmTokenSpaceGuid.PcdVFPEnabled|1\r
-\r
- # Stacks for MPCores in Secure World\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0x2E009000\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoreSecPrimaryStackSize|0x1000\r
-\r
- # Stacks for MPCores in Monitor Mode\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0x2E008000\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoreSecMonStackSize|0x100\r
-\r
- # Stacks for MPCores in Normal World\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x2E000000\r
- gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000\r
-\r
- # System Memory (1GB)\r
- gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000\r
- gArmTokenSpaceGuid.PcdSystemMemorySize|0x40000000\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
- #\r
- # ARM PrimeCell\r
- #\r
-\r
- ## SP804 Timer\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|34\r
- gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicBase|0x1c110000\r
- gArmPlatformTokenSpaceGuid.PcdSP804TimerPerformanceBase|0x1c110020\r
- gArmPlatformTokenSpaceGuid.PcdSP804TimerMetronomeBase|0x1c120020\r
-\r
- ## SP805 Watchdog - Motherboard Watchdog\r
- gArmPlatformTokenSpaceGuid.PcdSP805WatchdogBase|0x1C0F0000\r
-\r
- ## PL011 - Serial Terminal\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c090000\r
- gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|38400\r
-\r
- ## PL031 RealTimeClock\r
- gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x1C170000\r
-\r
- ## PL111 Versatile Express Motherboard controller\r
- gArmPlatformTokenSpaceGuid.PcdPL111LcdBase|0x1C1F0000\r
-\r
- ## PL180 MMC/SD card controller\r
- gArmPlatformTokenSpaceGuid.PcdPL180SysMciRegAddress|0x1C010048\r
- gArmPlatformTokenSpaceGuid.PcdPL180MciBaseAddress|0x1C050000\r
-\r
- #\r
- # ARM General Interrupt Controller\r
- #\r
- gArmTokenSpaceGuid.PcdGicDistributorBase|0x2C001000\r
- gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C000100\r
-\r
- #\r
- # ARM OS Loader\r
- #\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"SemiHosting"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"Fv(272E583C-B951-433F-AF42-A9C6862AF002)/LinuxLoader.efi"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|L"VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/zImage -c \"console=ttyAMA0,38400n8\""\r
-\r
- # Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)\r
- gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi();VenHw(407B4008-BF5B-11DF-9547-CF16E0D72085)"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi()"\r
-\r
- #\r
- # ARM L2x0 PCDs\r
- #\r
- gArmTokenSpaceGuid.PcdL2x0ControllerBase|0x1E00A000\r
-\r
-[PcdsDynamicDefault.common]\r
- #\r
- # The size of a dynamic PCD of the (VOID*) type can not be increased at run\r
- # time from its size at build time. Set the "PcdFdtDevicePaths" PCD to a 128\r
- # character "empty" string, to allow to be able to set FDT text device paths\r
- # up to 128 characters long.\r
- #\r
- gEmbeddedTokenSpaceGuid.PcdFdtDevicePaths|L" "\r
-\r
-################################################################################\r
-#\r
-# Components Section - list of all EDK II Modules needed by this Platform\r
-#\r
-################################################################################\r
-[Components.common]\r
-\r
- #\r
- # SEC\r
- #\r
- ArmPlatformPkg/Sec/Sec.inf {\r
- <LibraryClasses>\r
- # Use the implementation which set the Secure bits\r
- ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf\r
- }\r
-\r
- #\r
- # PEI Phase modules\r
- #\r
-!ifdef EDK2_SKIP_PEICORE\r
- ArmPlatformPkg/PrePi/PeiMPCore.inf {\r
- <LibraryClasses>\r
- ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf\r
- ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/PrePi/PrePiArmPlatformGlobalVariableLib.inf\r
- }\r
-!else\r
- ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.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
- <LibraryClasses>\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\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
- MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
- <LibraryClasses>\r
- NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
- }\r
-!endif\r
-\r
- #\r
- # DXE\r
- #\r
- MdeModulePkg/Core/Dxe/DxeMain.inf {\r
- <LibraryClasses>\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
- NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
- }\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
- MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.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
- ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
- ArmPlatformPkg/Drivers/SP804TimerDxe/SP804TimerDxe.inf\r
- ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf\r
- ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf\r
-\r
- #\r
- # Semi-hosting filesystem\r
- #\r
- ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
-\r
- #\r
- # Multimedia Card Interface\r
- #\r
- EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf\r
- ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf\r
-\r
- #\r
- # Platform Driver\r
- #\r
- ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf\r
- OvmfPkg/VirtioBlkDxe/VirtioBlk.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
- ArmPlatformPkg/Bds/Bds.inf\r
+++ /dev/null
-#\r
-# Copyright (c) 2011-2015, 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
-#\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.RTSM_VE_Cortex-A9_EFI]\r
-BaseAddress = 0x08000000|gArmTokenSpaceGuid.PcdFdBaseAddress # The base address of the Firmware in NOR Flash.\r
-Size = 0x00300000|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 = 0x300\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
-0x00000000|0x00080000\r
-gArmTokenSpaceGuid.PcdSecureFvBaseAddress|gArmTokenSpaceGuid.PcdSecureFvSize\r
-FV = FVMAIN_SEC\r
-\r
-0x00080000|0x00280000\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_SEC]\r
-FvAlignment = 8\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/Sec/Sec.inf\r
-\r
-\r
-[FV.FvMain]\r
-BlockSize = 0x40\r
-NumBlocks = 0 # This FV gets compressed so make it just big enough\r
-FvAlignment = 8 # 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
-FvNameGuid = 272e583c-b951-433f-af42-a9c6862af002\r
-\r
- APRIORI DXE {\r
- INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
- }\r
-\r
- INF MdeModulePkg/Core/Dxe/DxeMain.inf\r
- INF MdeModulePkg/Universal/PCD/Dxe/Pcd.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/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
- INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\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
-\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 ArmPlatformPkg/Drivers/SP804TimerDxe/SP804TimerDxe.inf\r
- INF ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
- INF ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf\r
- INF ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf\r
-\r
- #\r
- # Semi-hosting filesystem\r
- #\r
- INF ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
-\r
- #\r
- # Versatile Express FileSystem\r
- #\r
- INF ArmPlatformPkg/FileSystem/BootMonFs/BootMonFs.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
- # Multimedia Card Interface\r
- #\r
- INF EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf\r
- INF ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf\r
-\r
- #\r
- # Platform Driver\r
- #\r
- INF ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf\r
- INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf\r
-\r
- #\r
- # UEFI application (Shell Embedded Boot Loader)\r
- #\r
- INF ShellBinPkg/UefiShell/UefiShell.inf\r
-\r
- #\r
- # Bds\r
- #\r
- INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
- INF ArmPlatformPkg/Bds/Bds.inf\r
-\r
- # FV Filesystem\r
- INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf\r
-\r
- #\r
- # FDT installation\r
- #\r
- # The UEFI driver is at the end of the list of the driver to be dispatched\r
- # after the device drivers (eg: Ethernet) to ensure we have support for them.\r
- INF EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf\r
-\r
- # Example to add a Device Tree to the Firmware Volume\r
- #FILE FREEFORM = PCD(gArmVExpressTokenSpaceGuid.PcdFdtVExpressFvpA9x4) {\r
- # SECTION RAW = ArmPlatformPkg/ArmVExpressPkg/Fdts/rtsm_ve-ca9x4.dtb\r
- #}\r
-\r
- # Legacy Linux Loader\r
- INF ArmPkg/Application/LinuxLoader/LinuxLoader.inf\r
-\r
-[FV.FVMAIN_COMPACT]\r
-FvAlignment = 8\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
-!if $(EDK2_SKIP_PEICORE) == 1\r
- INF ArmPlatformPkg/PrePi/PeiMPCore.inf\r
-!else\r
- INF ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.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
- INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
- INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
- INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
-!endif\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 = 32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
- }\r
-\r
-[Rule.Common.PEI_CORE]\r
- FILE PEI_CORE = $(NAMED_GUID) {\r
- TE TE $(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 $(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
+++ /dev/null
-#\r
-# Copyright (c) 2011-2015, 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
-################################################################################\r
-#\r
-# Defines Section - statements that will be processed to create a Makefile.\r
-#\r
-################################################################################\r
-[Defines]\r
- PLATFORM_NAME = ArmVExpressPkg-RTSM-AEMv8Ax4-foundation\r
- PLATFORM_GUID = 2a9d4992-0730-11e2-9829-1c6f650265cc\r
- PLATFORM_VERSION = 0.1\r
- DSC_SPECIFICATION = 0x00010005\r
- OUTPUT_DIRECTORY = Build/ArmVExpress-RTSM-AEMv8Ax4-foundation\r
- SUPPORTED_ARCHITECTURES = AARCH64\r
- BUILD_TARGETS = DEBUG|RELEASE\r
- SKUID_IDENTIFIER = DEFAULT\r
- FLASH_DEFINITION = ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-AEMv8Ax4-foundation.fdf\r
-\r
-!include ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc\r
-\r
-[LibraryClasses.common]\r
- ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf\r
- ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressFoundationLib.inf\r
-\r
- # Virtio Support\r
- VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf\r
- VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf\r
-\r
- ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf\r
-\r
- TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf\r
-\r
- # Foundation model does not have an RTC. Use the NULL version.\r
- RealTimeClockLib|EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf\r
-\r
-[LibraryClasses.common.SEC]\r
- ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf\r
- ArmPlatformSecLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/ArmVExpressFoundationSecLib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressFoundationLibSec.inf\r
-\r
-[LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_DRIVER]\r
- PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
-\r
-[BuildOptions]\r
- GCC:*_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM\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
-\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|FALSE\r
-\r
-[PcdsFixedAtBuild.common]\r
- gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Foundation Model"\r
- gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmFoundation"\r
-\r
- gArmPlatformTokenSpaceGuid.PcdCoreCount|4\r
-\r
- gArmTokenSpaceGuid.PcdVFPEnabled|1\r
-\r
- # Stacks for MPCores in Secure World (No SRAM on foundation model, put in RAM at 64MB)\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0xA4008000\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoreSecPrimaryStackSize|0x1000\r
-\r
- # Stacks for MPCores in Normal World (No SRAM on foundation model, put in RAM at 64MB)\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0xA4000000\r
- gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000\r
-\r
- # System Memory (2GB)\r
- gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000\r
- gArmTokenSpaceGuid.PcdSystemMemorySize|0x80000000\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|TRUE\r
-\r
- #\r
- # ARM PrimeCell\r
- #\r
-\r
- ## PL011 - Serial Terminal\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c090000\r
- gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|38400\r
-\r
- #\r
- # ARM General Interrupt Controller\r
- #\r
- gArmTokenSpaceGuid.PcdGicDistributorBase|0x2C001000\r
- gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C002000\r
-\r
- #\r
- # ARM OS Loader\r
- #\r
- # Versatile Express machine type (ARM VERSATILE EXPRESS = 2272) required for ARM Linux:\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from SemiHosting"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/Image"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|"root=/dev/vda2 rw console=ttyAMA0 earlyprintk=pl011,0x1c090000 maxcpus=4 debug user_debug=31 loglevel=9"\r
-\r
- # Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)\r
- gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi();"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi()"\r
-\r
- #\r
- # ARM Architectural Timer Frequency\r
- #\r
- # Set model tick to 100MHz. This depends a lot on workstation performance.\r
- gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|100000000\r
-\r
-[PcdsDynamicDefault.common]\r
- #\r
- # The size of a dynamic PCD of the (VOID*) type can not be increased at run\r
- # time from its size at build time. Set the "PcdFdtDevicePaths" PCD to a 128\r
- # character "empty" string, to allow to be able to set FDT text device paths\r
- # up to 128 characters long.\r
- #\r
- gEmbeddedTokenSpaceGuid.PcdFdtDevicePaths|L" "\r
-\r
-################################################################################\r
-#\r
-# Components Section - list of all EDK II Modules needed by this Platform\r
-#\r
-################################################################################\r
-[Components.common]\r
-\r
- #\r
- # SEC\r
- #\r
- ArmPlatformPkg/Sec/Sec.inf {\r
- <LibraryClasses>\r
- # Use the implementation which set the Secure bits\r
- ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf\r
- }\r
-\r
- #\r
- # PEI Phase modules\r
- #\r
-!ifdef $(EDK2_SKIP_PEICORE)\r
- ArmPlatformPkg/PrePi/PeiMPCore.inf {\r
- <LibraryClasses>\r
- ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressFoundationLib.inf\r
- ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/PrePi/PrePiArmPlatformGlobalVariableLib.inf\r
- }\r
-!else\r
- ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.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
- <LibraryClasses>\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\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
- MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
- <LibraryClasses>\r
- NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
- }\r
-!endif\r
-\r
- #\r
- # DXE\r
- #\r
- MdeModulePkg/Core/Dxe/DxeMain.inf {\r
- <LibraryClasses>\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
- NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
- }\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
- MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.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
- MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
-\r
- #\r
- # Semi-hosting filesystem\r
- #\r
- ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
-\r
- #\r
- # Platform Driver\r
- #\r
- ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf\r
- OvmfPkg/VirtioBlkDxe/VirtioBlk.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
- ArmPlatformPkg/Bds/Bds.inf\r
+++ /dev/null
-#\r
-# Copyright (c) 2011 - 2015, 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
-#\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.RTSM_VE_Foundationv8_EFI]\r
-BaseAddress = 0xA0000000|gArmTokenSpaceGuid.PcdFdBaseAddress # The base address of the Firmware in RAM (Foundation model has no NOR Flash).\r
-Size = 0x00300000|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 = 0x300\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
-0x00000000|0x00080000\r
-gArmTokenSpaceGuid.PcdSecureFvBaseAddress|gArmTokenSpaceGuid.PcdSecureFvSize\r
-FV = FVMAIN_SEC\r
-\r
-0x00080000|0x00280000\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_SEC]\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/Sec/Sec.inf\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
-FvNameGuid = 6685e0b5-d6bb-4c12-97ef-58bd87112dee\r
-\r
- APRIORI DXE {\r
- INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
- }\r
-\r
- INF MdeModulePkg/Core/Dxe/DxeMain.inf\r
- INF MdeModulePkg/Universal/PCD/Dxe/Pcd.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/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf\r
- INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\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
-\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
- INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
-\r
- #\r
- # Semi-hosting filesystem\r
- #\r
- INF ArmPkg/Filesystem/SemihostFs/SemihostFs.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 ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf\r
- INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf\r
-\r
- #\r
- # UEFI application (Shell Embedded Boot Loader)\r
- #\r
- INF ShellBinPkg/UefiShell/UefiShell.inf\r
-\r
- #\r
- # Bds\r
- #\r
- INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
- INF ArmPlatformPkg/Bds/Bds.inf\r
-\r
- #\r
- # FDT installation\r
- #\r
- # The UEFI driver is at the end of the list of the driver to be dispatched\r
- # after the device drivers (eg: Ethernet) to ensure we have support for them.\r
- INF EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf\r
-\r
- # FV Filesystem\r
- INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf\r
-\r
- # Legacy Linux Loader\r
- INF ArmPkg/Application/LinuxLoader/LinuxLoader.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
-!if $(EDK2_SKIP_PEICORE) == 1\r
- INF ArmPlatformPkg/PrePi/PeiMPCore.inf\r
-!else\r
- INF ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.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
- INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
- INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
-!endif\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
+++ /dev/null
-#\r
-# Copyright (c) 2011-2015, 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
-################################################################################\r
-#\r
-# Defines Section - statements that will be processed to create a Makefile.\r
-#\r
-################################################################################\r
-[Defines]\r
- PLATFORM_NAME = ArmVExpressPkg-RTSM-AEMv8Ax4\r
- PLATFORM_GUID = f7003abd-8809-4096-ac3d-a6a99ff52478\r
- PLATFORM_VERSION = 0.1\r
- DSC_SPECIFICATION = 0x00010005\r
- OUTPUT_DIRECTORY = Build/ArmVExpress-RTSM-AEMv8Ax4\r
- SUPPORTED_ARCHITECTURES = AARCH64\r
- BUILD_TARGETS = DEBUG|RELEASE\r
- SKUID_IDENTIFIER = DEFAULT\r
- FLASH_DEFINITION = ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-AEMv8Ax4.fdf\r
-\r
-!include ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc\r
-\r
-[LibraryClasses.common]\r
- ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf\r
- ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf\r
-\r
- ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf\r
- NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf\r
- LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf\r
-\r
- TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf\r
-\r
- # VirtIo Support\r
- VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf\r
- VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf\r
-\r
-[LibraryClasses.common.SEC]\r
- ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf\r
- ArmPlatformSecLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/ArmVExpressSecLib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf\r
-\r
-[LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_DRIVER]\r
- PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
-\r
-[BuildOptions]\r
- GCC:*_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM\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
-!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
- # UEFI firmware is responsible to park the secondary cores on this platform.\r
- # This PCD ensures the secondary cores are parked into the AArch64 Linux parking protocol.\r
- gArmTokenSpaceGuid.PcdArmLinuxSpinTable|TRUE\r
-\r
-[PcdsFixedAtBuild.common]\r
- gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Versatile Express"\r
- gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmVExpress-RTSM"\r
-\r
- gArmPlatformTokenSpaceGuid.PcdCoreCount|8\r
-\r
- #\r
- # NV Storage PCDs. Use base of 0x0C000000 for NOR1\r
- #\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0FFC0000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00010000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0FFD0000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00010000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0FFE0000\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00010000\r
-\r
- gArmTokenSpaceGuid.PcdVFPEnabled|1\r
-\r
- # FVP models can have 2 clusters with 4 cpus each\r
- # Stacks for MPCores in Secure World\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0x2E009000\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoreSecPrimaryStackSize|0x1000\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoreSecSecondaryStackSize|0x800\r
-\r
- # Stacks for MPCores in Normal World\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x2E000000\r
- gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000\r
- gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize|0x800\r
-\r
- # System Memory (2GB)\r
- gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000\r
- gArmTokenSpaceGuid.PcdSystemMemorySize|0x80000000\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|TRUE\r
-\r
- #\r
- # ARM PrimeCell\r
- #\r
-\r
- ## SP805 Watchdog - Motherboard Watchdog at 24MHz\r
- gArmPlatformTokenSpaceGuid.PcdSP805WatchdogBase|0x1C0F0000\r
- gArmPlatformTokenSpaceGuid.PcdSP805WatchdogClockFrequencyInHz|24000000\r
-\r
- ## PL011 - Serial Terminal\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c090000\r
- gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|38400\r
-\r
- ## PL031 RealTimeClock\r
- gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x1C170000\r
-\r
- ## PL111 Versatile Express Motherboard controller\r
- gArmPlatformTokenSpaceGuid.PcdPL111LcdBase|0x1C1F0000\r
-\r
- ## PL180 MMC/SD card controller\r
- gArmPlatformTokenSpaceGuid.PcdPL180SysMciRegAddress|0x1C010048\r
- gArmPlatformTokenSpaceGuid.PcdPL180MciBaseAddress|0x1C050000\r
-\r
- #\r
- # ARM General Interrupt Controller\r
- #\r
- gArmTokenSpaceGuid.PcdGicDistributorBase|0x2C001000\r
- gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C002000\r
-\r
- #\r
- # ARM OS Loader\r
- #\r
- # Versatile Express machine type (ARM VERSATILE EXPRESS = 2272) required for ARM Linux:\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from SemiHosting"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/Image"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|"root=/dev/mmcblk0p2 console=ttyAMA0 earlyprintk=pl011,0x1c090000 debug user_debug=31 loglevel=9"\r
-\r
- # Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)\r
- gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi();VenHw(407B4008-BF5B-11DF-9547-CF16E0D72085)"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi()"\r
-\r
- #\r
- # ARM Architectural Timer Frequency\r
- #\r
- # Set model tick to 100MHz. This depends a lot on workstation performance.\r
- gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|100000000\r
-\r
-[PcdsDynamicDefault.common]\r
- #\r
- # The size of a dynamic PCD of the (VOID*) type can not be increased at run\r
- # time from its size at build time. Set the "PcdFdtDevicePaths" PCD to a 128\r
- # character "empty" string, to allow to be able to set FDT text device paths\r
- # up to 128 characters long.\r
- #\r
- gEmbeddedTokenSpaceGuid.PcdFdtDevicePaths|L" "\r
-\r
-################################################################################\r
-#\r
-# Components Section - list of all EDK II Modules needed by this Platform\r
-#\r
-################################################################################\r
-[Components.common]\r
-\r
- #\r
- # SEC\r
- #\r
- ArmPlatformPkg/Sec/Sec.inf {\r
- <LibraryClasses>\r
- # Use the implementation which set the Secure bits\r
- ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf\r
- }\r
-\r
- #\r
- # PEI Phase modules\r
- #\r
-!ifdef $(EDK2_SKIP_PEICORE)\r
- ArmPlatformPkg/PrePi/PeiMPCore.inf {\r
- <LibraryClasses>\r
- ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf\r
- ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf\r
- ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/PrePi/PrePiArmPlatformGlobalVariableLib.inf\r
- }\r
-!else\r
- ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.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
- <LibraryClasses>\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\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
- MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
- <LibraryClasses>\r
- NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
- }\r
-!endif\r
-\r
- #\r
- # DXE\r
- #\r
- MdeModulePkg/Core/Dxe/DxeMain.inf {\r
- <LibraryClasses>\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
- NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
- }\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
- MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.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
- ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
- ArmPkg/Drivers/TimerDxe/TimerDxe.inf\r
- ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf\r
- ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf\r
-\r
- #\r
- # Semi-hosting filesystem\r
- #\r
- ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
-\r
- #\r
- # Multimedia Card Interface\r
- #\r
- EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf\r
- ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf\r
-\r
- #\r
- # Platform Driver\r
- #\r
- ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf\r
- OvmfPkg/VirtioBlkDxe/VirtioBlk.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
- ArmPlatformPkg/Bds/Bds.inf\r
+++ /dev/null
-#\r
-# Copyright (c) 2011 - 2015, 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
-#\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.RTSM_VE_AEMv8_EFI]\r
-BaseAddress = 0x00000000|gArmTokenSpaceGuid.PcdFdBaseAddress # The base address of the Firmware in NOR Flash.\r
-Size = 0x00300000|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 = 0x300\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
-0x00000000|0x00080000\r
-gArmTokenSpaceGuid.PcdSecureFvBaseAddress|gArmTokenSpaceGuid.PcdSecureFvSize\r
-FV = FVMAIN_SEC\r
-\r
-0x00080000|0x00280000\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_SEC]\r
-FvBaseAddress = 0x0\r
-FvForceRebase = TRUE\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/Sec/Sec.inf\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
-FvNameGuid = a2fc72eb-4157-40a3-8110-14c010e810b4\r
-\r
- APRIORI DXE {\r
- INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
- }\r
-\r
- INF MdeModulePkg/Core/Dxe/DxeMain.inf\r
- INF MdeModulePkg/Universal/PCD/Dxe/Pcd.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/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
- INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\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
-\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
- INF ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
- INF ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf\r
- INF ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf\r
-\r
- #\r
- # Semi-hosting filesystem\r
- #\r
- INF ArmPkg/Filesystem/SemihostFs/SemihostFs.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
- # Multimedia Card Interface\r
- #\r
- INF EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf\r
- INF ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf\r
-\r
- #\r
- # Platform Driver\r
- #\r
- INF ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf\r
- INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf\r
-\r
- #\r
- # UEFI application (Shell Embedded Boot Loader)\r
- #\r
- INF ShellBinPkg/UefiShell/UefiShell.inf\r
-\r
- #\r
- # Bds\r
- #\r
- INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
- INF ArmPlatformPkg/Bds/Bds.inf\r
-\r
- # FV Filesystem\r
- INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf\r
-\r
- #\r
- # FDT installation\r
- #\r
- # The UEFI driver is at the end of the list of the driver to be dispatched\r
- # after the device drivers (eg: Ethernet) to ensure we have support for them.\r
- INF EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf\r
-\r
- # Legacy Linux Loader\r
- INF ArmPkg/Application/LinuxLoader/LinuxLoader.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
-!if $(EDK2_SKIP_PEICORE) == 1\r
- INF ArmPlatformPkg/PrePi/PeiMPCore.inf\r
-!else\r
- INF ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.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
- INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
- INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
- INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
-!endif\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
+++ /dev/null
-==============================================\r
-= ARM RealView Emulation Board Documentation =\r
-==============================================\r
-\r
-\r
-Howto build UEFI RealView EB for RealTime System Model\r
-------------------------------------------------------\r
-\r
-For Linux\r
----------\r
-\r
-1. Get EDK2 from Tianocore Subversion repository\r
-svn co https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2 edk2 --username guest\r
- \r
-2. Get FatPkg from EDK2 SVN repository: \r
-cd edk2\r
-svn co https://edk2-fatdriver2.svn.sourceforge.net/svnroot/edk2-fatdriver2/trunk/FatPkg FatPkg --username guest\r
-\r
-3. Set up the environment. And build the EDK2\92s tools\r
-export EDK_TOOLS_PATH=`pwd`/BaseTools\r
-. edksetup.sh `pwd`/BaseTools/\r
-make -C $EDK_TOOLS_PATH\r
-\r
-4. Build the ARM RealView EB UEFI Firmware\r
-build -a ARM -p ArmPlatformPkg/ArmRealViewEBPkg/ArmRealViewEb-RTSM-A8.dsc -t RVCTLINUX\r
-\r
-\r
-Howto test UEFI RealView EB on RealTime System Model - Example Cortex A8\r
-------------------------------------------------------------------------\r
-\r
- 1. Build 'ArmRealViewEb-RTSM-A8.dsc'\r
-\r
- 2. To Run ArmRealViewEbPkg on the RTSM\r
- 1. Start RealView Debugger\r
- 2. Target > "Connect to Target"\r
- 3. Add RTSM\r
- 4. Configure this new RTSM.\r
- 5. Choose CortexA8\r
- 6. Setup the 'fname' of baseboard.flashldr_0 with your FD file (eg: c:\dev\edk2\Build\ArmRealViewEb-RTSM-A8\DEBUG_RVCT\FV\ARMREALVIEWEB_EFI.fd)\r
- 7. Turn use_s8 to TRUE in baseboard.sp810_sysctrl\r
- 8. Turn uart_enable to TRUE in baseboard.uart_0 \r
- 4. Connect a telnet client to the port 5000 of your localhost\r
- 5. Launch the program
\ No newline at end of file