diff options
author | andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-02-24 22:38:46 +0000 |
---|---|---|
committer | andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-02-24 22:38:46 +0000 |
commit | 026c3d34ee83b4df623cc80761450a53e9f7622b (patch) | |
tree | 093ad41be275694e4a107bc0775853afcc59dc70 /ArmPkg/Library/ArmLib/ArmV7 | |
parent | 14e00c13be4ead51d9fd38e07af661af63ca2359 (diff) | |
download | edk2-platforms-026c3d34ee83b4df623cc80761450a53e9f7622b.tar.xz |
Updated Hardware Interrupt protocol to add an EOI member. Added ARM Data/Instruction syncronization barrier support to the ARM lib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10063 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPkg/Library/ArmLib/ArmV7')
-rw-r--r-- | ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S | 16 | ||||
-rw-r--r-- | ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm | 17 |
2 files changed, 33 insertions, 0 deletions
diff --git a/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S b/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S index 2cde8e2039..b4ec9b5122 100644 --- a/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S +++ b/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S @@ -34,6 +34,10 @@ .globl ASM_PFX(ArmEnableBranchPrediction) .globl ASM_PFX(ArmDisableBranchPrediction) .globl ASM_PFX(ArmV7AllDataCachesOperation) +.globl ASM_PFX(ArmDataMemoryBarrier) +.globl ASM_PFX(ArmDataSyncronizationBarrier) +.globl ASM_PFX(ArmInstructionSynchronizationBarrier) + .set DC_ON, (0x1<<2) .set IC_ON, (0x1<<12) @@ -222,5 +226,17 @@ L_Finished: ldmfd SP!, {r4-r12, lr} bx LR +ASM_PFX(ArmDataMemoryBarrier): + dmb + bx LR + +ASM_PFX(ArmDataSyncronizationBarrier): + dsb + bx LR + +ASM_PFX(ArmInstructionSynchronizationBarrier): + isb + bx LR + ASM_FUNCTION_REMOVE_IF_UNREFERENCED diff --git a/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm b/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm index d1cf8c1642..e2676d4995 100644 --- a/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm +++ b/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm @@ -30,6 +30,10 @@ EXPORT ArmEnableBranchPrediction EXPORT ArmDisableBranchPrediction EXPORT ArmV7AllDataCachesOperation + EXPORT ArmDataMemoryBarrier + EXPORT ArmDataSyncronizationBarrier + EXPORT ArmInstructionSynchronizationBarrier + DC_ON EQU ( 0x1:SHL:2 ) IC_ON EQU ( 0x1:SHL:12 ) @@ -217,4 +221,17 @@ Finished LDMFD SP!, {r4-r12, lr} BX LR + +ArmDataMemoryBarrier + DMB + BX LR + +ArmDataSyncronizationBarrier + DSB + BX LR + +ArmInstructionSynchronizationBarrier + ISB + BX LR + END |