summaryrefslogtreecommitdiffstats
path: root/ArmPkg/Library
Commit message (Collapse)AuthorAgeFilesLines
* ARM Packages: Fixed coding style and typosoliviermartin2013-03-121-63/+63
| | | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14179 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Introduce GetGlobalEnvironmentVariable() function.oliviermartin2013-03-123-16/+30
| | | | | | | | | | | | Rename GetEnvironmentVariable() function into GetGlobalEnvironmentVariable(). GetEnvironmentVariable() function sill exists but caller must now pass a Guid. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14176 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Move ArmSmcLib from ArmPlatformLib to ArmPkgoliviermartin2013-03-066-0/+276
| | | | | | | | | | | A ArmSmcLib Null implementation has also been added for CPU without the ARM Security Extension (Trustzone support). Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14164 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/DebugPeCoffExtraActionLib: Checked the ImageContext->PdbPointer is ↵oliviermartin2013-03-051-13/+19
| | | | | | | | | | | | | | not null This check prevents to get an assertion in case of null PdbPointer. 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://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14163 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/CompilerIntrinsicsLib: Add missing __aeabi_llsl and __aeabi_llsr for GCColiviermartin2013-01-283-1/+85
| | | | | | | Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14103 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/BdsLib: Added TimerLib to INF fileoliviermartin2013-01-251-1/+2
| | | | | | | | | | TimerLib is required for GetPerformanceCounterProperties(). Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14092 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Move Arm(Enable|Disable)Irq() functions from internal header to ↵oliviermartin2013-01-251-24/+0
| | | | | | | | | | library header file Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14091 6f19259b-4bc3-4df7-8a09-765794883524
* ARM Packages: Fixed line endingsoliviermartin2013-01-2589-9116/+9116
| | | | | | | | | 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: Moved ARM assembly files to 'Arm' subdirectoryoliviermartin2012-09-281-1/+3
| | | | | | | | Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13772 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/BdsLib: Added FDT support for BdsLiboliviermartin2012-09-289-53/+468
| | | | | | | | Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13768 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/DefaultExceptionHandlerLib: Added support to the BASE-type libraryoliviermartin2012-09-287-83/+174
| | | | | | | | | | | This library could be used before the UEFI phases to expose the CPU state when an unexpected exception interrupt the firmware. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13767 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/Sec: Moved Exception Vector Table to ArmPkg/DebugAgentBaseLiboliviermartin2012-09-284-5/+572
| | | | | | | | | | | | | In case a DebugAgent library is supported for a specific debugger, we would expect the exception be caught by DebugAgentLib. The DebugAgentBaseLib exposes the cause of the exception to the user in the Serial Terminal. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13765 6f19259b-4bc3-4df7-8a09-765794883524
* ARM Packages: Minor typo, mispellings and coding style changesoliviermartin2012-09-271-2/+3
| | | | | | | | 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: Changed Uncached System Memory from EFI_MEMORY_UC to EFI_MEMORY_WColiviermartin2012-08-312-3/+5
| | | | | | | | | | | | | | | | EFI_MEMORY_UC is mapped to Strongly Ordered memory while EFI_MEMORY_WC is mapped to Uncached Normal/System memory. This change improve performance while accessing uncached regions in the System Memory. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eugene Cohen <eugene@hp.com> Reviewed-by: Olivier Martin <oliviermartin@arm.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13693 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/CompilerIntrinsicsLib: Fixed __aeabi_uwrite8oliviermartin2012-08-021-0/+2
| | | | | | | | Added missing 'return' instruction. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13582 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/CompilerIntrinsicsLib: Added missing __aeabi_uread8 and __aeabi_uwrite8oliviermartin2012-07-122-1/+55
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13528 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/BdsLib: Fixed cache cleaning in PreparePlatformHardware()oliviermartin2012-07-041-2/+2
| | | | | | | | | | | | | | | Because the D&I caches were clean before to be disabled, the cache lines might have got dirty during the cache maintenance operations. This fix disables D&I caches before to clean them. The performance drops should be minimised as invalidating the I cache is only a couple of instruction. Signed-off-by: Eugene Cohen <eugene@hp.com> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13503 6f19259b-4bc3-4df7-8a09-765794883524
* ARM Packages: Fixed mispellingsoliviermartin2012-07-042-4/+4
| | | | | | | | Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13502 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/BdsLib: Fixed ShutdownUefiBootServices() in case the first ↵oliviermartin2012-07-041-9/+11
| | | | | | | | | | | | | | | gBS->GetMemoryMap() was successful If the first call of gBS->GetMemoryMap() succeeded (could happen if the Memory Map has changed between the two gBS->GetMemoryMap() calls) in the loop block then gBS->ExitBootServices() was never called. Signed-off-by: Eugene Cohen <eugene@hp.com> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13500 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/BaseMemoryLibStm: Removed duplicated instruction in InternalMemSetMem()oliviermartin2012-07-042-3/+1
| | | | | | | | Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13496 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Fixed RVCT compiler warningsoliviermartin2012-07-043-2/+3
| | | | | | | Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13490 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib: Fixed parameter checking in ArmConfigureMmu()oliviermartin2012-06-061-1/+1
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13429 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Enhance CompareGuid performance by using CompareMem instead of ↵oliviermartin2012-05-312-22/+2
| | | | | | | | | | | | nested unaligned read calls Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eugene Cohen eugene@hp.com Reviewed-by: Olivier Martin olivier.martin@arm.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13409 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib: Added new functions to access ARM coprocessorsoliviermartin2012-05-025-9/+82
| | | | | | | | Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13253 6f19259b-4bc3-4df7-8a09-765794883524
* ARM Packages: Fixed th 'NS' (Non Secure) bit in the MMU page Table Descriptoroliviermartin2012-05-023-18/+18
| | | | | | | | | | | The 'NS' bit must only be set in Secure world to define the Non-Secure region of the Non-Secure World. This bit must not be set in Non-Secure World. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13252 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/PeCoffExtraActionLib: Enabled DS-5 command line when using ARM ↵oliviermartin2012-05-022-0/+13
| | | | | | | | | | Toolchain v5 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13251 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmCpuLib: Replaced complex functions ArmCpuSynchronizeWait & ↵oliviermartin2012-05-022-1/+21
| | | | | | | | | | | | | | | | ArmCpuSynchronizeSignal by sev & wfe Previsouly the synchronization of MpCore was using the SGI (Software Generated Interrupt) to synchronize MpCore during the early boot. This commit replaced this mechanism by the more appropriate SEV/WFE instructions (Send/Wait Event instructions). That also eases the port to a new cpu/platform. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13249 6f19259b-4bc3-4df7-8a09-765794883524
* ARM Packages: Minor changes (fixed mispelling, line endings, incorrect comments)oliviermartin2012-05-021-219/+219
| | | | | | | | Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13243 6f19259b-4bc3-4df7-8a09-765794883524
* ArmLib/ArmV7: Add ISB to ArmEnableVFPoliviermartin2012-03-264-0/+4
| | | | | | | | | | | ArmEnableVFP could crash on an out-of-order CPU. Adding an instruction barrier after writing to CPACR cures the problem. Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13134 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/Library/SemihostLib: Removed depenencies on Uefi.h (Base library)oliviermartin2012-02-281-25/+25
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13065 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib: Fixed 'ArmConfigureMmu()' to avoid overflow when an entry is ↵oliviermartin2012-02-281-2/+2
| | | | | | mapped at 0xFFFFFFFF git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13056 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg: Moved 'ArmTrustZoneLib' from ArmPkg/Library to ↵oliviermartin2012-02-282-137/+0
| | | | | | | | | | ArmPlatformPkg/Drivers This library is really the driver for the ARM Trustzone controllers (TZPC and TZASC). git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13054 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmArchTimerLib: Renamed the constructor to 'TimerConstructor()'oliviermartin2012-02-272-4/+4
| | | | | | | | | | | Some ARM Platform components (ie: PrePei) use this constructor name to initialize the timers (at this time there is no PE loader to call the library constructors) when PI/UEFI is started to initialize the PerformanceLib. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13041 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/BdsLib: Added support for using uInitrdoliviermartin2012-02-241-0/+14
| | | | | | | | | | | | | Detect if there is a u-boot header on the initrd (by checking the signature) and skip it. Signed-off-by: ryan.harkin@linaro.org Reviewed-by: oliviermartin git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13031 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/BdsLib: Fixed LinuxImageSize if uImagei formatoliviermartin2012-02-241-0/+1
| | | | | | | | | The uImage is 64Bytes smaller (size of the u-boot header) than the size of the file read from the file system. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13030 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmV7Lib: Add support for Invalid Instruction Cache to Point of ↵oliviermartin2012-02-146-14/+148
| | | | | | | | | | | | | Unification This patch adds support to invalidate Instruction Cache to the Point of Unification (PoU). Signed-off-by: eugenecohen Reviewed-by: oliviermartin git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13012 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/BdsLib: Fixed memory leakoliviermartin2012-02-091-2/+8
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12996 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/BdsLib: Fixed incorrect typecastingoliviermartin2012-02-091-2/+2
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12995 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/BdsLib: Load initrd next to the Linux kernel to allow to reduce the ↵oliviermartin2012-02-091-2/+11
| | | | | | | | | | | memory from the Linux command line The initrd was loaded at the top of the UEFI System Memory. By consequence, if the system memory was reduced by the Linux command line then the initrd was not part of the system memory. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12994 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/BdsLib: Added support to start uImageoliviermartin2012-02-092-3/+11
| | | | | | | | Detect if there is a u-boot header (by checking the signature) and skip it. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12993 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/RvdPeCoffExtraActionLib: Add quotes in RVD command line for RVD under ↵oliviermartin2011-11-011-2/+2
| | | | | | Linux git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12630 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/DefaultExceptionHandlerLib: Replace the Print() by ↵oliviermartin2011-11-011-1/+8
| | | | | | | | | | SerialOutputWrite() function Print() is using the Console Output Protocol that cannot be available at the time of the exception. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12629 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmArchTimerLib: Fix TimerLib when the security extension is not ↵oliviermartin2011-11-011-1/+1
| | | | | | implemented git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12628 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmCpuLib: Fix GCC/XCode buildsoliviermartin2011-11-012-2/+2
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12626 6f19259b-4bc3-4df7-8a09-765794883524
* Arm Packages: Fix builds for XCODE32 toolchainoliviermartin2011-10-041-1/+1
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12509 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/CompilerIntrinsicsLib: Reverse the order of the 'ldrb' instructions ↵oliviermartin2011-09-291-38/+38
| | | | | | | | | | | | | | | | | | | | | in __aeabi_uread4 Change __aeabi_uread4 from: ldrb r2, [r0, #1] ldrb r1, [r0] (...) to: ldrb r1, [r0] ldrb r2, [r0, #1] (...) This change is a workaround to handle correctly __aeabi_uread4 on ARM Versatile Express RTSM. It should not have any major consequence on the other ARM platforms. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12481 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/BdsLib: Fix incorrect pointer castingoliviermartin2011-09-273-12/+12
| | | | | | | | | | | A physical address (64bit) was cast to a 32bit pointer. Signed-off-by: Eugene Cohen (HP) Reviewed-by: oliviermartin git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12460 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/CompilerIntrinsicsLib: Fix __aeabi_memclr and __aeabi_memclr4oliviermartin2011-09-271-0/+2
| | | | | | | | The passed arguments did not match the __aeabi_memset prototype. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12459 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Add ARM Architectural Timer supportoliviermartin2011-09-278-0/+762
| | | | | | | | ARM Architectural Timer support is defined by the ARM Generic Timer Specification. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12455 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib: Update Arm11 portoliviermartin2011-09-276-138/+349
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12454 6f19259b-4bc3-4df7-8a09-765794883524