diff options
author | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-06-03 09:43:12 +0000 |
---|---|---|
committer | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-06-03 09:43:12 +0000 |
commit | 0530bfe360e9ad4f2d72d23116589ebcdc1d8948 (patch) | |
tree | d512aea7371e868a9e5665498ec459dc0340df28 /ArmPkg/Library/ArmLib | |
parent | 76bc1743daa33717b30a06b821d315d7549941be (diff) | |
download | edk2-0530bfe360e9ad4f2d72d23116589ebcdc1d8948.tar.gz edk2-0530bfe360e9ad4f2d72d23116589ebcdc1d8948.tar.bz2 edk2-0530bfe360e9ad4f2d72d23116589ebcdc1d8948.zip |
ArmPkg: Implement PeiServicesTablePointerLib using TPIDRURW register
This implementation use the Tpidrurw software context register to
store the PEI Services Table Pointer.
The author of this patch is Eugene Cohen (HP).
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11750 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPkg/Library/ArmLib')
-rw-r--r-- | ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S | 10 | ||||
-rw-r--r-- | ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm | 10 |
2 files changed, 20 insertions, 0 deletions
diff --git a/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S b/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S index 62b8682de5..75e1e0b5df 100644 --- a/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S +++ b/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S @@ -52,6 +52,8 @@ GCC_ASM_EXPORT (ArmReadAuxCr) GCC_ASM_EXPORT (ArmReadCbar) GCC_ASM_EXPORT (ArmInvalidateInstructionAndDataTlb) GCC_ASM_EXPORT (ArmReadMpidr) +GCC_ASM_EXPORT (ArmReadTpidrurw) +GCC_ASM_EXPORT (ArmWriteTpidrurw) .set DC_ON, (0x1<<2) .set IC_ON, (0x1<<12) @@ -344,5 +346,13 @@ ASM_PFX(ArmInvalidateInstructionAndDataTlb): ASM_PFX(ArmReadMpidr): mrc p15, 0, r0, c0, c0, 5 @ read MPIDR bx lr + +ASM_PFX(ArmReadTpidrurw): + mrc p15, 0, r0, c13, c0, 2 @ read TPIDRURW + bx lr + +ASM_PFX(ArmWriteTpidrurw): + mcr p15, 0, r0, c13, c0, 2 @ write TPIDRURW + bx lr ASM_FUNCTION_REMOVE_IF_UNREFERENCED diff --git a/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm b/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm index 269e10bd56..62539efd91 100644 --- a/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm +++ b/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm @@ -50,6 +50,8 @@ EXPORT ArmReadCbar EXPORT ArmInvalidateInstructionAndDataTlb EXPORT ArmReadMpidr + EXPORT ArmReadTpidrurw + EXPORT ArmWriteTpidrurw AREA ArmCacheLib, CODE, READONLY PRESERVE8 @@ -343,5 +345,13 @@ ArmReadMpidr mrc p15, 0, r0, c0, c0, 5 ; read MPIDR bx lr +ArmReadTpidrurw + mrc p15, 0, r0, c13, c0, 2 ; read TPIDRURW + bx lr + +ArmWriteTpidrurw + mcr p15, 0, r0, c13, c0, 2 ; write TPIDRURW + bx lr + END |