summaryrefslogtreecommitdiffstats
path: root/ArmPkg/Include
Commit message (Collapse)AuthorAgeFilesLines
* ArmPkg/AArch64Mmu.h: Fix 'Shift is >= width of type'Olivier Martin2013-12-101-6/+6
| | | | | | | | | 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@14956 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmMpCoreInfo.h: Fixed macro definitionOlivier Martin2013-12-101-1/+1
| | | | | | | | | 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@14954 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Move definition of ArmIsArchTimerImplemented / ArmReadIdPfrN to ArmLibOlivier Martin2013-11-283-31/+19
| | | | | | | | | | | These functions are not chipset specific. 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@14908 6f19259b-4bc3-4df7-8a09-765794883524
* ARM Packages: Renamed PL390Gic driver into ArmGic driverOlivier Martin2013-10-291-2/+2
| | | | | | | | | | | | The aim is to make this driver follows the ARM GIC specifications and be implementation independent. 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@14810 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/Include/Chipset: Fix translation table address calculations for AARCH64Garrett Kirkendall2013-10-151-3/+3
| | | | | | | | | | | | | | TT_ADDRESS_* macros were not casting immediate values to UINTN. This causes shift operations to be off by 32-bits when calculating addresses above 4GB. Any address above 4GB was being improperly calculated. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Garrett Kirkendall <garrett.kirkendall@amd.com> Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14777 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmGicLib.h: Added macro to retrieve the information from the ICCIDROlivier Martin2013-08-211-8/+13
| | | | | | | | | | | | These macros are helper functions to get the information from the GIC CPU Interface Identification register. 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@14582 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib: Added ConvertSectionAttributesToPageAttributes()Olivier Martin2013-08-191-0/+6
| | | | | | | | | | | This helper function converts the section attributes into their page equivalents. 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@14567 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmV7Mmu.h: Added masks to extract attributes from Section and Page ↵Olivier Martin2013-08-191-1/+8
| | | | | | | | | | | entries 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@14566 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib: Introduced TT_LAST_BLOCK_ADDRESS()Olivier Martin2013-08-191-0/+3
| | | | | | | | | | | This macro return the address of the last entry of a translation table. 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@14565 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmV7Mmu.h: Fixed XN bit conversion from section to small/large page ↵Olivier Martin2013-08-061-2/+2
| | | | | | | | | | | format 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@14523 6f19259b-4bc3-4df7-8a09-765794883524
* ARM: Remove NSACR from the common codeOlivier Martin2013-08-063-22/+18
| | | | | | | | | | | NSACR (Non-Secure Access Control Register) is AArch32 specific. 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@14522 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Added Aarch64 supportHarry Liebel2013-07-189-13/+652
| | | | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Harry Liebel <Harry.Liebel@arm.com> Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14486 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Made ArmConfigureMmu() returns a status codeOlivier Martin2013-06-271-2/+2
| | | | | | | | | 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
* ArmPkg/BdsLinuxFdt.c: Fix creation of 'cpu' and 'psci' device tree nodes.oliviermartin2013-05-121-0/+1
| | | | | | | | | | | | | | | | * Fix name of 'device_type' and 'migrate' properties. * Fix 'reg' property. It is supposed to contain the CPU MPIDR of the CPU being described. * Fix byte ordering of data in 'psci' node. * Fix some problems regarding the size of data. In a number of places it was assumed data would be 32-bits wide. 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@14351 6f19259b-4bc3-4df7-8a09-765794883524
* ARM Packages: Replaced the macro GetCorePositionFromMpId() by the ↵oliviermartin2013-05-102-33/+0
| | | | | | | | | | | | | ArmPlatformGetCorePosition() Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> Acked-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14346 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/ArmPlatformLib: Added support for ArmPlatformIsPrimaryCore()oliviermartin2013-05-103-8/+19
| | | | | | | | | | | | | | | | Checking if a core if the primary/boot core used to be done with the macro IS_PRIMARY_CORE(). Some platforms exposes configuration registers to change the primary core. Replacing the macro IS_PRIMARY_CORE() by ArmPlatformIsPrimaryCore() allows some flexibility in the way to check the primary core. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Acked-by: Ryan Harkin <ryan.harkin@linaro.org> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14344 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/BdsLib: Replace ARM magic value by a proper defined value.oliviermartin2013-04-141-0/+2
| | | | | | | | | | | | | | | "ARMH" is the Four-Letter unique identifier used by ARM in the context of the fast SMC identification interface. This patch properly defines this value in a header file instead of using the numeric value directly in the code. 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@14268 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib: Functions to access ARM HYP Vector base address register.oliviermartin2013-03-121-0/+12
| | | | | | | | | 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@14189 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/IndustryStandard: Added definition for some SMC IDsoliviermartin2013-03-122-0/+211
| | | | | | | | | 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@14184 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Fixed unsigned type to be architecture independentoliviermartin2013-03-121-10/+11
| | | | | | | | | 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@14181 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Introduce GetGlobalEnvironmentVariable() function.oliviermartin2013-03-121-8/+17
| | | | | | | | | | | | 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-061-0/+44
| | | | | | | | | | | 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/ArmV7.h: Introduced ARM_ARCH_EXCEPTION_IRQoliviermartin2013-01-251-0/+3
| | | | | | | | | | | This constant allows to reduce architecture difference in the position of the IRQ in the exception table. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14099 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/PrePi: Removed magic valuesoliviermartin2013-01-251-1/+16
| | | | | | | | | | Introduced CPSR (Coprocessor Status Register) definitions Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14097 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Move Arm(Enable|Disable)Irq() functions from internal header to ↵oliviermartin2013-01-251-1/+13
| | | | | | | | | | 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-257-1541/+1541
| | | | | | | | | 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
* ArmPlatformPkg/ArmPlatformStackLib: Introduced helper library to initialize ↵oliviermartin2012-09-282-1/+52
| | | | | | | | | | | | | | | | | | stacks The new functions are: - ArmPlatformStackSet(IN UINTN StackBase, IN UINTN MpId, IN UINTN PrimaryStackSize, IN UINTN SecondaryStackSize); - ArmPlatformStackSetPrimary(IN UINTN StackBase, IN UINTN MpId, IN UINTN PrimaryStackSize, IN UINTN SecondaryStackSize); - ArmPlatformStackSetSecondary(IN UINTN StackBase, IN UINTN MpId, IN UINTN PrimaryStackSize, IN UINTN SecondaryStackSize); The stack topology can be changed by implementing a new ArmPlatformStackLib Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13774 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/include: Added macro ARM_VECTOR_TABLE_ALIGNMENToliviermartin2012-09-261-0/+2
| | | | | | | | Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13744 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/AsmMacroIoLib: Renamed 'GetCorePositionInStack' macro into ↵oliviermartin2012-07-042-4/+4
| | | | | | | | | | 'GetCorePositionFromMpId' Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13493 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Fixed RVCT compiler warningsoliviermartin2012-07-041-6/+6
| | | | | | | 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/PL390Gic: Added support for ArmGicDisableInterruptInterface()oliviermartin2012-07-041-0/+6
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13489 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmCpuLib: Fixed SMP Cortex-A9 and Cortex-A15oliviermartin2012-05-021-0/+25
| | | | | | | | Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13261 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmGicLib: Replaced 'ArmGicAcknowledgeSgiFrom' by ↵oliviermartin2012-05-021-12/+6
| | | | | | | | | | | | | | | | | | 'ArmGicAcknowledgeInterrupt' The function 'ArmGicAcknowledgeSgiFrom' was actually acknowledging Interrupts (and not only SGIs). ArmPkg/ArmGicLib: Introduced the PCD PcdGicPrimaryCoreId This PCD defines the Id of the primary core in the GIC. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13259 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmGicLib: Changed ArmGicSendSgiTo() to allow to send a specific SGIoliviermartin2012-05-021-1/+2
| | | | | | | | Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13258 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib: Added ARM Cpu IDsoliviermartin2012-05-021-0/+19
| | | | | | | | Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13257 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib: Fixed MpCore macrosoliviermartin2012-05-021-4/+10
| | | | | | | | Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13256 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib: Added new functions to access ARM coprocessorsoliviermartin2012-05-021-2/+40
| | | | | | | | 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-58/+64
| | | | | | | | | | | 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/ArmCpuLib: Replaced complex functions ArmCpuSynchronizeWait & ↵oliviermartin2012-05-022-19/+11
| | | | | | | | | | | | | | | | 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
* ArmPkg: Replaced gArmTokenSpaceGuid.PcdGicNumInterrupts by ↵oliviermartin2012-05-021-0/+6
| | | | | | | | | | | | ArmGicGetMaxNumInterrupts() The maximum number of interrupts can be retrieve through the GIC distributor. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13244 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/Sec: Allowed the Secondary Cores to set the Secure/Non Secure ↵oliviermartin2012-03-261-1/+2
| | | | | | | | | | | | bits to their PPIs The GICD_IGROUPR0 is banked for each connected processor. It means the Non-Secure bits for the PPIs (Private Peripheral Interrupts) must be configured for every processor. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13135 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib: Added ARM_PROCESSOR_MODE_HYP to ARM_PROCESSOR_MODEoliviermartin2012-03-261-0/+1
| | | | | | | | ARM_PROCESSOR_MODE_HYP stands for the Hypervisor mode. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13130 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib.h: Fixed the ClusterId and CoreId masksoliviermartin2012-03-261-4/+4
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13124 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmGicLib: Added function ArmGicSetSecureInterrupts() to define the ↵oliviermartin2012-03-261-1/+9
| | | | | | secure interrupts git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13122 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib: Replaced 'UINTN' type by architecture agnostic types ↵oliviermartin2012-02-291-2/+4
| | | | | | (EFI_PHYSICAL_ADDRESS & EFI_VIRTUAL_ADDRESS) to describe memory addresses git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13073 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/Library/SemihostLib: Removed depenencies on Uefi.h (Base library)oliviermartin2012-02-281-7/+7
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13065 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg: Updated the stack setup to have the same geometry between ↵oliviermartin2012-02-282-2/+35
| | | | | | | | | | | | the Secure and Normal World Having a similar setup reduces the error during the MPCore stack setup. The stack setup is described on this wikipage: https://sourceforge.net/apps/mediawiki/tianocore/index.php?title=ArmPlatformPkg/Stack git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13058 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib.h: Update 'ARM_MEMORY_REGION_DESCRIPTOR' to support 64bit ↵oliviermartin2012-02-281-3/+3
| | | | | | | | | | addresses Replaced 'UINT32' by 'UINTN'. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13055 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg: Moved 'ArmTrustZoneLib' from ArmPkg/Library to ↵oliviermartin2012-02-281-88/+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/ArmV7Lib: Add support for Invalid Instruction Cache to Point of ↵oliviermartin2012-02-141-0/+6
| | | | | | | | | | | | | 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