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:
@@ -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
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user