summaryrefslogtreecommitdiffstats
path: root/ArmPlatformPkg/MemoryInitPei
Commit message (Collapse)AuthorAgeFilesLines
* ArmPlatformPkg/MemoryInitPei: Check if the main System Memory resource has ↵Olivier Martin2015-07-061-20/+44
| | | | | | | | | | | | | | | | | been declared The PlatformLib could have declared the resource hob for the main system memory region. This change would prevent to get this system memory resource to be declared twice. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <Olivier.Martin@arm.com> Reviewed-by: Ronald Cron <Ronald.Cron@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17834 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg: do not fulfil MemoryInitPeiLib dependency directly via .c fileArd Biesheuvel2015-04-142-3/+3
| | | | | | | | | | | | | | | | MemoryInitPeim short-circuits its MemoryInitPeiLib dependency by including the .c file directly. This prevents us from having a special implementation for ArmVirtualizationPkg that performs additional cache maintenance before enabling the MMU. So instead, make it depend on the library class. Contributed-under: TianoCore Contribution Agreement 1.0 Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Olivier Martin <olivier.martin@arm.com> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17175 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg: PEIM startup is not an errorLaszlo Ersek2015-03-021-1/+1
| | | | | | | | | | | | | | "MemoryInitPeim.c" and "PlatformPeim.c" log startup messages on the EFI_D_ERROR level. This clutters a strictly EFI_D_ERROR level log needlessly; change the log bitmask of these messages to EFI_D_LOAD | EFI_D_INFO. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16984 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg: Increase more ARM address Pcd entries to 64-bit.Leif Lindholm2014-11-112-11/+11
| | | | | | | | | | | | | | Some AArch64 platforms have RAM and flash devices >4GB. Update some additional Pcd entries to 64-bit, and change the corresponding PcdGet32 calls to PcdGet64. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16325 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg,ArmPlatformPkg: Allow dynamic PCDs for memory base and sizeArd Biesheuvel2014-09-093-17/+19
| | | | | | | | | | | | | | | | | | | | | This changes the definition and a bunch of references to gArmTokenSpaceGuid.PcdSystemMemoryBase and gArmTokenSpaceGuid.PcdSystemMemorySize so they can be declared as dynamic PCDs by the platform. Also, move the non-SEC call to ArmPlatformInitializeSystemMemory() earlier, so a platform has a chance to set these PCDs before they are first referenced. The purpose is allowing dynamically instantiated virtual machines to declare the system memory by passing a device tree. Contributed-under: TianoCore Contribution Agreement 1.0 Reviewed-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16079 6f19259b-4bc3-4df7-8a09-765794883524
* ARM Packages: Removed trailing spacesRonald Cron2014-08-193-22/+22
| | | | | | | | | | | | Trailing spaces create issue/warning when generating/applying patches. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ronald Cron <ronald.cron@arm.com> Reviewed-By: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15833 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmPkg.dec: Redefined PcdSystemMemory(Base|Size) as UINT64Olivier Martin2014-01-102-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | The System Memory region might be out of the 32-bit memory space. This change has been validated on the FVP AArch64 model using 4GB of DRAM at 0x8_0000_0000: - # System Memory (2GB) - gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000 - gArmTokenSpaceGuid.PcdSystemMemorySize|0x80000000 + # System Memory (4GB) + gArmTokenSpaceGuid.PcdSystemMemoryBase|0x800000000 + gArmTokenSpaceGuid.PcdSystemMemorySize|0x100000000 EFI Shell and Linux kernel boot successfully. Note: This change has not been validated on AArch32. I expect some early assembly code to not work. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15093 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/MemoryInitPei: AARCH64 fix memory address calculationsGarrett Kirkendall2013-09-161-2/+2
| | | | | | | | | | | | | | | | | At least for AARCH64 currently, SystemMemoryTop and FdTop can overflow while adding the 32-bit PCDs together. The resulting value loses the upper 32-bits. Cast each of the values to EFI_PHYSICAL_ADDRESS size before doing the addition to prevent erroneous overflow. There is currently no 32-bit platform in EDKII open source that will overflow and this change would not fix that problem anyway. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Garrett Kirkendall <garrett.kirkendall@amd.com> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14675 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Made ArmConfigureMmu() returns a status codeOlivier Martin2013-06-271-1/+5
| | | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14445 6f19259b-4bc3-4df7-8a09-765794883524
* ARM Packages: Fixed line endingsoliviermartin2013-01-251-66/+66
| | | | | | | | | This large code change only modifies the line endings to be CRLF to be compliant with the EDK2 coding convention document. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14088 6f19259b-4bc3-4df7-8a09-765794883524
* ARM Packages: Minor typo, mispellings and coding style changesoliviermartin2012-09-271-1/+1
| | | | | | | | Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13752 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib: Clean ArmV7Liboliviermartin2011-09-271-2/+0
| | | | | | | | | - Move the non specific ArmV7 functions to ArmLib. - Clean the ARM Platform common components to not depend on ArmV7 if not required git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12453 6f19259b-4bc3-4df7-8a09-765794883524
* ARM Packages: Rename PcdNormal* into Pcd* PCDsoliviermartin2011-09-224-17/+17
| | | | | | | | | | | | | | 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
* ArmPlatformPkg: Change the memory model for the ARM Platform componentsoliviermartin2011-07-064-82/+100
| | | | | | | | | | | | | | | | | | | | 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
* ArmPkg: Move ARM Platform drivers from ArmPkg/Drivers/ to ↵oliviermartin2011-07-011-4/+0
| | | | | | | | | | | | | | | | | | 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
* ArmPlatformPkg: Move PcdStandalone from Feature PCD to Fixed PCDoliviermartin2011-07-012-3/+4
| | | | | | | | | | 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
* ArmPlatformPkg/MemoryInitPei: Generate a library from the PEI Moduleoliviermartin2011-07-015-243/+380
| | | | | | | | | | | In the aim to reuse the memory init features in a PrePi module (use to skip the PEI Core), this module has been divided into two files: - MemoryInitPeiLib: declare the memory HOBs - MemoryIniPeim: PEIM warpper for the library git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11950 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Fix warnings raised by ARMGCColiviermartin2011-06-151-1/+1
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11829 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg: Code cleaningoliviermartin2011-06-112-17/+12
| | | | | | | | | | - 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
* ArmPlatformPkg/ArmPlatformLib: Move the UEFI memory partionning to MemoryInitPeioliviermartin2011-03-312-25/+114
| | | | | | | | | | | | | | | | | | | | | | | 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
* Add ArmPlatformPkg from ARM Ltd. patch.andrewfish2011-02-012-0/+229
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11291 6f19259b-4bc3-4df7-8a09-765794883524