Olivier Martin
d9680b9485
ArmPkg/ArmLib: Introduced TT_LAST_BLOCK_ADDRESS()
...
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
2013-08-19 17:36:16 +00:00
Olivier Martin
e7e50d6b19
ArmPkg/ArmV7Mmu.h: Fixed XN bit conversion from section to small/large page 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
2013-08-06 11:00:15 +00:00
Olivier Martin
d6dc67ba1b
ARM: Remove NSACR from the common code
...
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
2013-08-06 10:59:19 +00:00
Harry Liebel
25402f5d06
ArmPkg: Added Aarch64 support
...
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
2013-07-18 18:07:46 +00:00
Olivier Martin
6f050ad6bf
ArmPkg: Made ArmConfigureMmu() returns a status code
...
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
2013-06-27 18:16:06 +00:00
oliviermartin
e359565ec2
ArmPkg/BdsLinuxFdt.c: Fix creation of 'cpu' and 'psci' device tree nodes.
...
* 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
2013-05-12 23:56:35 +00:00
oliviermartin
2d45f194d9
ARM Packages: Replaced the macro GetCorePositionFromMpId() by the 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
2013-05-10 12:46:11 +00:00
oliviermartin
bebda7ceec
ArmPlatformPkg/ArmPlatformLib: Added support for ArmPlatformIsPrimaryCore()
...
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
2013-05-10 12:41:27 +00:00
oliviermartin
1a7b6d9ea2
ArmPkg/BdsLib: Replace ARM magic value by a proper defined value.
...
"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
2013-04-14 09:30:46 +00:00
oliviermartin
5ea2c2d334
ArmPkg/ArmLib: Functions to access ARM HYP Vector base address register.
...
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
2013-03-12 00:59:46 +00:00
oliviermartin
782d3d4a0d
ArmPkg/IndustryStandard: Added definition for some SMC IDs
...
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
2013-03-12 00:55:52 +00:00
oliviermartin
c63626b7d3
ArmPkg: Fixed unsigned type to be architecture independent
...
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
2013-03-12 00:50:46 +00:00
oliviermartin
c0b2e4775d
ArmPkg: Introduce GetGlobalEnvironmentVariable() function.
...
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
2013-03-12 00:42:59 +00:00
oliviermartin
166c01fbc2
ArmPkg: Move ArmSmcLib from ArmPlatformLib to ArmPkg
...
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
2013-03-06 00:01:49 +00:00
oliviermartin
111339d2a2
ArmPkg/ArmV7.h: Introduced ARM_ARCH_EXCEPTION_IRQ
...
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
2013-01-25 12:11:03 +00:00
oliviermartin
063ad84e20
ArmPlatformPkg/PrePi: Removed magic values
...
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
2013-01-25 12:05:17 +00:00
oliviermartin
47585ed568
ArmPkg: Move Arm(Enable|Disable)Irq() functions from internal header to 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
2013-01-25 11:52:14 +00:00
oliviermartin
1e57a46299
ARM Packages: Fixed line endings
...
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
2013-01-25 11:28:06 +00:00
oliviermartin
17839a45b8
ArmPlatformPkg/ArmPlatformStackLib: Introduced helper library to initialize 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
2012-09-28 11:01:36 +00:00
oliviermartin
01bd6ea813
ArmPkg/include: Added macro ARM_VECTOR_TABLE_ALIGNMENT
...
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
2012-09-26 20:19:53 +00:00
oliviermartin
a32dae4878
ArmPkg/AsmMacroIoLib: Renamed 'GetCorePositionInStack' macro into '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
2012-07-04 20:10:18 +00:00
oliviermartin
2575b72620
ArmPkg: Fixed RVCT compiler warnings
...
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
2012-07-04 20:06:23 +00:00
oliviermartin
9736c29721
ArmPkg/PL390Gic: Added support for ArmGicDisableInterruptInterface()
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13489 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-04 20:02:49 +00:00
oliviermartin
9d59a88be1
ArmPkg/ArmCpuLib: Fixed SMP Cortex-A9 and Cortex-A15
...
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
2012-05-02 20:14:55 +00:00
oliviermartin
315649cda2
ArmPkg/ArmGicLib: Replaced 'ArmGicAcknowledgeSgiFrom' by '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
2012-05-02 20:09:16 +00:00
oliviermartin
4c19ece32a
ArmPkg/ArmGicLib: Changed ArmGicSendSgiTo() to allow to send a specific SGI
...
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
2012-05-02 20:08:03 +00:00
oliviermartin
1e40431699
ArmPkg/ArmLib: Added ARM Cpu IDs
...
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
2012-05-02 20:06:36 +00:00
oliviermartin
9133aa80a9
ArmPkg/ArmLib: Fixed MpCore macros
...
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
2012-05-02 20:05:36 +00:00
oliviermartin
836c350061
ArmPkg/ArmLib: Added new functions to access ARM coprocessors
...
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
2012-05-02 20:02:39 +00:00
oliviermartin
7fffeef9be
ARM Packages: Fixed th 'NS' (Non Secure) bit in the MMU page Table Descriptor
...
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
2012-05-02 20:00:54 +00:00
oliviermartin
b1d41be7c9
ArmPkg/ArmCpuLib: Replaced complex functions ArmCpuSynchronizeWait & 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
2012-05-02 19:55:32 +00:00
oliviermartin
e9f7c58f25
ArmPkg: Replaced gArmTokenSpaceGuid.PcdGicNumInterrupts by 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
2012-05-02 19:48:00 +00:00
oliviermartin
5e7731443c
ArmPlatformPkg/Sec: Allowed the Secondary Cores to set the Secure/Non Secure 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
2012-03-26 11:03:36 +00:00
oliviermartin
0e9674e51f
ArmPkg/ArmLib: Added ARM_PROCESSOR_MODE_HYP to ARM_PROCESSOR_MODE
...
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
2012-03-26 10:56:07 +00:00
oliviermartin
69f60552de
ArmPkg/ArmLib.h: Fixed the ClusterId and CoreId masks
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13124 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26 10:47:15 +00:00
oliviermartin
9253410646
ArmPkg/ArmGicLib: Added function ArmGicSetSecureInterrupts() to define the secure interrupts
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13122 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26 10:45:27 +00:00
oliviermartin
916666c009
ArmPkg/ArmLib: Replaced 'UINTN' type by architecture agnostic types (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
2012-02-29 17:22:11 +00:00
oliviermartin
afb9f4da94
ArmPkg/Library/SemihostLib: Removed depenencies on Uefi.h (Base library)
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13065 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:34:12 +00:00
oliviermartin
1377db63ff
ArmPlatformPkg: Updated the stack setup to have the same geometry between 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
2012-02-28 17:23:53 +00:00
oliviermartin
3b73c91b65
ArmPkg/ArmLib.h: Update 'ARM_MEMORY_REGION_DESCRIPTOR' to support 64bit addresses
...
Replaced 'UINT32' by 'UINTN'.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13055 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:18:35 +00:00
oliviermartin
65acd8e7b3
ArmPlatformPkg: Moved 'ArmTrustZoneLib' from ArmPkg/Library to 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
2012-02-28 17:16:58 +00:00
oliviermartin
d60f6af456
ArmPkg/ArmV7Lib: Add support for Invalid Instruction Cache to Point of 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
2012-02-14 18:44:40 +00:00
oliviermartin
a8151a7074
ArmPkg: Fix GetClusterId() calculation from MpId
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12627 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:32:45 +00:00
oliviermartin
89bbce116a
Arm Packages: Fix builds for XCODE32 toolchain
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12509 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-04 13:58:28 +00:00
oliviermartin
da9675a241
ArmPkg: Add ARM Architectural Timer support
...
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
2011-09-27 16:35:16 +00:00
oliviermartin
0c0e7ef451
ArmPkg/ArmLib: Update Arm11 port
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12454 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-27 16:33:20 +00:00
oliviermartin
bd6b97994a
ArmPkg/ArmLib: Clean ArmV7Lib
...
- 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
2011-09-27 16:31:20 +00:00
oliviermartin
3127615b4d
ArmPkg: Introduce ArmCpuLib to abstract ARM Cpu specific initialization (2)
...
Missed new files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12450 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-27 16:26:03 +00:00
oliviermartin
d9e4abb1bb
ArmPkg/ArmV7: Move the MMU specific macros into 'Chipset/ArmV7Mmu.h
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12426 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:18:09 +00:00
oliviermartin
1d2bbdbb8d
ArmPkg: Removed deprecated 'ArmMPCoreMailBoxLib'
...
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-22 23:16:04 +00:00