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
This commit is contained in:
andrewfish
2010-02-24 22:38:46 +00:00
parent 14e00c13be
commit 026c3d34ee
10 changed files with 187 additions and 147 deletions

View File

@@ -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

View File

@@ -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