summaryrefslogtreecommitdiff
path: root/ArmPlatformPkg/ArmRealViewEbPkg
AgeCommit message (Collapse)Author
2011-09-22ArmPkg: Removed deprecated 'ArmMPCoreMailBoxLib'oliviermartin
This library has been replaced by ArmMpCoreInfo PPI and HOBs. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12424 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22ArmPkg: Create MpCoreInfo PPI and HOB to describe CPU Cores on a MPCore platformoliviermartin
These info are: - ClusterId, CoreId - MailBox Set/Get/Clear address git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12423 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22ArmPlatformPkg: Add ArmPlatformGetPlatformPpiList()oliviermartin
This function exposes the Platform Specific PPIs. They can be used by any PrePi modules or passed to the PeiCore by PrePeiCore git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12422 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22ARM Packages: Rename PcdNormal* into Pcd* PCDsoliviermartin
The denomination 'Normal' was used to make reference to the 'Normal' or 'Non Secure' or 'Non Trusted' world. To avoid confusion, this prefix has been removed from PCDs to define the normal world. The PCDs explicitely related to the Secure/Trusted World continue to have the 'Sec' prefix. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12416 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22ArmPlatformPkg: Changed memory model for the stacksoliviermartin
In the previous version, every cores had the same stack size. To avoid to waste memory with secondary core stacks, the primary core stack size is now different from the secondary cores stack size. These are the Stack PCDs and their default values: gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0 gArmPlatformTokenSpaceGuid.PcdCPUCoreSecPrimaryStackSize|0x10000 gArmPlatformTokenSpaceGuid.PcdCPUCoreSecSecondaryStackSize|0x1000 gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0 gArmPlatformTokenSpaceGuid.PcdCPUCoreSecMonStackSize|0x1000 gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0 gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x10000 gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize|0x1000 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12415 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22ArmPlatformPkg/ArmPlatformLib: Removed 'ArmPlatformIsMemoryInitialized' functionoliviermartin
'ArmPlatformInitializeBootMemory' function can check if the memory has already been initialized. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12414 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22ArmPlatformPkg/ArmPlatformLib: Introduce ArmPlatformSecBootAction functionoliviermartin
This function is called at the initial stage of the Secure boot process to allow platform vendors to add early actions. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12413 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22ArmPlatformPkg: Introduce Primary core macrosoliviermartin
On MpCore system, the primary core can now be any core of the system. To identify the primary core, you can use 'gArmTokenSpaceGuid.PcdArmPrimaryCoreMask' and 'gArmTokenSpaceGuid.PcdArmPrimaryCore'. These PCDs by default use the ClusterId and CoreId to identify the core. And the primary core is defined as the ClusetrId=0 and CoreId=0. The helper macros are: IS_PRIMARY_CORE(MpId), GET_CORE_ID(MpId), GET_CLUSTER_ID(MpId), GET_CORE_POS(MpId), PRIMARY_CORE_ID. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12412 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22ArmPkg: Renamed library 'PL390GicLib' into 'ArmGicLib'oliviermartin
This library is the interface for the ARM Generic Interrupt Controller Architecture Specification. ARM Platform can use any GIC controller (not necessary PL390 GIC). git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12411 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22Arm Packages: Fixed coding style/Line endings to follow EDK2 coding conventionoliviermartin
Arm Packages: Fixed mispelling Arm Packages: Reduced warnings all over the code git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12407 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-06Clean up Rules of Platform FDFs to apply only one EFI image and Depex for ↵oliviermartin
each driver git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12285 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-30ArmPlatformPkg: Fix ARM RealView EB and VE builds (2)oliviermartin
This file is missing from the earlier commit (ArmPlatformPkg: Fix ARM RealView EB and VE builds). git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12235 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-30ArmPlatformPkg: Fix ARM RealView EB and VE buildsoliviermartin
Tested with RVCTLINUX and ARMGCC toolchains. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12233 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-28ArmPkg: Fix ARM builds for XCode32oliviermartin
- Build BeagleBoardPkg, ArmRealViewEb-A8, ArmRealView-A9x2 and ArmVExpress-CTA9x4 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12055 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-18ArmPkg/DebugAgentSymbolsOnlyLib: Add library to print loaded address of the ↵oliviermartin
SEC and PEI_CORE modules This library that uses the DebugAgentLib interface prints the loaded addresses of the SEC and PEI_CORE module using PeCoffExtraActionLib. Note: Because there is no PE loader for these XIP modules, PeCoffExtraActionLib is not invoked. This library scans the firmware volume to find these modules and calculate their fixup loaded addresses used to load their symbols in the debugger. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12023 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06ArmPlatformPkg: Change the memory model for the ARM Platform componentsoliviermartin
In the former memory model, the UEFI firmware was expected to be located at the top of the system memory. Stacks & Pi memory regions were set below the firmware. On some platform, the UEFI firmware could be shadowed by the ROM firmware (case of the BeagleBoard) and in some cases the firmware is copied at the beginning of the system memory. With this new memory model, stack and Pi/DXE memory regions are set at the top of the system memory wherever the UEFI firmware is located in the memory map. Because DXE core does not support shadowed firmwares, the system memory covered by the UEFI firmware is marked as 'Non Present' to avoid to be overlapped by DXE allocations. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11992 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06ArmPlatformPkg: Remove PcdStandalone from Sec module and Introduce ↵oliviermartin
ArmPlatformSecExtraAction() The PcdStandalone is a PCD ARM Ltd uses to make the difference between a standalone UEFI (boot from cold boot to Boot Manager without user intervention) and a Debug UEFI firmware (the firmware engineer has to copy the Normale World image into the DRAM to enable his/her firmware). By coping the firmware into DRAM in the non standalone version it is much faster than reflashing the NOR Flash after each build. ArmPlatformSecExtraAction() function is called just before the Sec module jump to normal world. The platform firmware can run extra actions at this stage. The 'ARM Standalone' concept has moved to the implementation of ArmPlatformSecExtraAction() for the ARM development boards (in ArmPlatformPkg/Library/DebugSecExtraActionLib). ArmPlatformPkg: Enable DebugAgentLib in Sec and PrePeiCore ArmPlatformPkg: Fix line endings in some source files Use CR+LF line endings as defined by the EDK2 coding convention git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11991 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01ArmPlatformPkg: Fix buildsoliviermartin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11964 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01ArmPlatformPkg: Set an empty value to the argument of the default boot entryoliviermartin
Set gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument with the empty string in DSC files. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11963 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01ArmPlatformPkg: Replace the macro $(BUILD_TARGETS) by $(TARGET) in DSC fileoliviermartin
The $(BUILD_TARGETS) macro was used to make the difference between DEBUG and RELEASE builds. The $(TARGET) macro should be used instead. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11961 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01ArmPlatformPkg/PL35xSmc: Clean SMC driver to replace hardcoded Chip Select ↵oliviermartin
into the driver itself by passing SMC configuration to the driver git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11959 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01ArmPkg: Move ARM Platform drivers from ArmPkg/Drivers/ to ↵oliviermartin
ArmPlatformPkg/Drivers/ The idea is to keep ArmPkg responsible for the ARM architectural modules and ArmPlatformPkg the ARM development platform packages (with their respective drivers). ArmPlatformPkg: Reduce driver dependency on ArmPlatform.h - Move some driver definitions from C-Macro to PCD values - Unify PCD driver namespace git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11956 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01ArmPlatformPkg: Add support for PrePi moduleoliviermartin
This module is enabled for ArmRealViewEb and ArmvExpress builds when the macro EDK2_SKIP_PEICORE is passed to the build system. The PrePi module can be used when the DRAM has already been initialized by the SEC phase/1st stage boot loader and no call to external PEIM is required. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11953 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01ArmPlatformPkg: Move PcdStandalone from Feature PCD to Fixed PCDoliviermartin
Feature PCDs cannot be used in assembly files. The PcdStandalone PCD is needed in one of the assembly file of the ArmPlatformPkg/PrePi module. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11952 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPlatformPkg/ArmVExpressLib: Move Secure code into a separate fileoliviermartin
The code specific to the secure intialization has been moved into a separate file that is not linked with the Normal world version of the library. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11810 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPlatformPkg/ArmRealViewEbPkg: Fix some register definitionsoliviermartin
Some registers were not correctly set. Some other registers do not exist on ARM RealView EB. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11809 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPlatformPkg: Code cleaningoliviermartin
- Fix coding style to follow EDK2 coding convention - Remove deprecated function - Remove unused PCDs git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11808 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPlatformPkg: Unify the Secure and Normal FD and FV PCD namingoliviermartin
With this change, we now have these following PCDs values to define the location of the Secure and Normal firmwares: - gArmTokenSpaceGuid.PcdSecureFd(BaseAddress|Size) - gArmTokenSpaceGuid.PcdSecureFv(BaseAddress|Size) - gArmTokenSpaceGuid.PcdNormalFd(BaseAddress|Size) - gArmTokenSpaceGuid.PcdNormalFv(BaseAddress|Size) git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11806 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPlatformPkg: Clean DSC filesoliviermartin
Remove unused or duplicated libraries declarations git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11805 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPlatformPkg/ArmRealViewEbPkg: Fixed General Interrupt Controller Base Addressoliviermartin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11804 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPlatformPkg/PrePeiCore: Reserve some memory on the top of the stack for ↵oliviermartin
Global Variables in XIP code The size of this memory is controlled by a PCD. The Global Variable in this regsion are defined by their offset. This memory region can be use to store the PEI Services Table Pointer. Update the PeiServicesTablePointerLib to use this region instead of PcdPeiServicePtrAddr. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11803 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPlatformPkg: Enable console splitter for all ARM platformsoliviermartin
The Graphics Output Protocol is enable by default. Note: ArmRealViewEb RTSM supports the LCD controller as well. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11802 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPlatformPkg/Bds: Upgrade the BDS to be more conformed to the UEFI ↵oliviermartin
Specification The UEFI Specification defines some requirement related to the Boot Manager. This new version of the BDS support most of the features: - TimeOut, BootNext, BootOrder, Boot### environment variable for boot device selection - ConOut. ConIn, ConErr environment variables for console intialization - Boot EFI application defined by a Device Path - Support removable devices - Support FileSystem, MemMap, PXE and TFTP boot devices git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11800 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11EmbeddedPkg/Ebl: Move the flag string %a for the path from the PCD to the ↵oliviermartin
function call The UEFI platform designer had to add '%a' to their EBL prompt PCD to print out the path in the shell. This change makes the addition of the path automatically after the platform specific value in the EBL shell. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11798 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPlatformPkg/ArmRealViewEb: Add SysConfigLib supportoliviermartin
The ARM RealViewEB tiles could have their microcontrollers mapped into the ARM RealView EB motherboard memory map git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11796 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPlatformPkg/PL031RealTimeClockLib: Implement PL031 RTC driveoliviermartin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11793 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPlatformPkg/SP804TimerDxe: Replaced Interrupt number #define by a PCDoliviermartin
The PcdSP804Timer0InterruptNum defines the interrupt number attached to SP804 Timer0. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11791 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPlatformPkg/ArmRealViewEb: Add support for PL111 Lcd controlleroliviermartin
- Add the LcdGraphicsOutputDxe driver to DSC and FDF file. - Implement LcdPlatformLib for the platform. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11787 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03ArmPlatformPkg/ArmRealViewEbPkg: Set some missing PCDsoliviermartin
PcdEmbeddedPerformanceCounterFrequencyInHz and PcdSerialRegisterBase were not defined. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11748 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03ArmPlatformPkg/ArmRealViewEbPkg: Use NorFlashDxe and enable variables servicesoliviermartin
The ARM RealView EB (hardware and RTSM) supports the same NOR Flash controller as the ARM Versatile Express. Add the implementation of the NorFlashPlatformLib for ArmRealViewEb. Remove the Firmware Volume Block raw data used to enable environment variables on ARM RealView EB from the FDF file to use the NOR Flash driver. Replace the variable service emulation by the version using Firmware Volume Block. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11747 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03ArmPlatformPkg/SP804Timer: Remove the SP810 System Controller dependencyoliviermartin
The SP804 drivers must not consider the presence of the SP810 System Controller on the platform. The SP810 was used to enable the SP804 Dual Timers on ArmVExpress. It is the role of the Platform specific driver to enable to the SP804 dual timers if required. The former SP810 initialization code has moved to ArmPlatformLib for ArmRealViewEb and ArmVersatileExpress. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11744 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03ArmPlatformPkg/PL011Uart: Create PL011 UART driveroliviermartin
This library makes the interface with the PL011 UART controller. This library can be linked to different types of driver (Serial Console, debugger, etc) using PL011 UART controller. ArmPlatformPkg/PL011SerialPortLib: Use Drivers/PL011Uart Remove the direct accesses to the PL011 UART controller to use the PL011Uart library. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11743 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03ArmPlatformPkg/ArmRealViewEbPkg: Use PL390 GIC on RTSMoliviermartin
ArmRealViewEb model (RTSM) use the PL390 Generic Interrupt Controller as interrupt controller. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11732 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03ArmPlatformPkg/ArmRealViewEbPkg: Remove unused PCDoliviermartin
gArmRealViewEbPkgTokenSpaceGuid.PcdPeiServicePtrAddr is not used. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11731 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-26ArmPlatformPkg/ArmPlatformLib: Renamed ArmPlatformInitialize into ↵oliviermartin
ArmPlatformSecInitialize Some platforms require some of their controllers to be initialized in Secure world. This function make the difference between Secure and Normal world platform initialization. ArmPlatformPkg/ArmPlatformLib: Introduce ArmPlatformNormalInitialize Contain the code that initializes platform controllers that would be initialized in Normal World by PlatformPei. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11591 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-26ArmPlatform: Remove dummy padding to make the Reset Vector aligned on 32 ↵oliviermartin
bytes boundary A dummy padding was added before the Reset Vectors to force the alignment on a 32 bytes boundary in XIP code. The correct fix is to define the alignment in the FDF file. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11588 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31ArmPlatformPkg: Fix buildoliviermartin
Declared DebugPrintErrorLevelLib for the ArmPlatformPkg builds. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11484 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31ArmPlatformPkg/ArmPlatformLib: Move the UEFI memory partionning to MemoryInitPeioliviermartin
Formerly, each platform was responsible to declare the location of its UEFI memory region (used by PEI and DXE Foundations). The ArmPlatformLib was also declaring every region of its partitionned system memory with a System Resource HOB. In this new model, the MemoryInit expects the system memory to be declared with the PCDs gArmTokenSpaceGuid.PcdSystemMemoryBase/Size. These PCDs declare the largest continuous DRAM region. Additional regions can be declared with the ArmPLatformLib function ArmPlatformGetAdditionalSystemMemory(). Now, it is the PEIM that partitions the system memory for every platform. It installs a region of the size PcdSystemMemoryUefiRegionSize (default 128MB) for the PEI permanent memory at the top of the DRAM region. And a region of gArmPlatformTokenSpaceGuid.PcdSystemMemoryFixRegionSize (default 128MB) is declared at the base of the system memory. This region is used for the allocation that requires fixed address or have some constraints on their locations. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11481 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31ArmPlatformPkg/ArmPlatformLib: Introduce the function ArmPlatformGetBootMode()oliviermartin
This function returns the current Boot Mode of the ARM Platform. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11480 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31ArmPlatformPkg: Introduce ArmPlatformInitialize() functionoliviermartin
This function is responsible to handle all the specific platform code that must be run in secure world to initialize some controllers. ArmPlatformPkg/Sec: Move the L2x0 initialization to ArmPlatformLib The L2x0 controller must be initialized in secure world. Move its initialization into the ArmPlatformInitialize() of the Cortex A9x4 Core Tile PlatformLib. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11476 6f19259b-4bc3-4df7-8a09-765794883524