}
-VOID
-EFIAPI
-ArmDataMemoryBarrier (
- VOID
- )
-{
- // Should move to assembly with the
-}
-
-VOID
-EFIAPI
-ArmDataSyncronizationBarrier (
- VOID
- )
-{
-// MOV R0, #0
-// MCR P15, #0, R0, C7, C10, #4}
-}
-
-
-VOID
-EFIAPI
-ArmInstructionSynchronizationBarrier (
- VOID
- )
-{
-}
}
-VOID
-EFIAPI
-ArmDataMemoryBarrier (
- VOID
- )
-{
-}
-
-VOID
-EFIAPI
-ArmDataSyncronizationBarrier (
- VOID
- )
-{
-}
-
-VOID
-EFIAPI
-ArmInstructionSynchronizationBarrier (
- VOID
- )
-{
-}
-
.globl ASM_PFX(ArmDisableInstructionCache)
.globl ASM_PFX(ArmEnableBranchPrediction)
.globl ASM_PFX(ArmDisableBranchPrediction)
+.globl ASM_PFX(ArmDataMemoryBarrier)
+.globl ASM_PFX(ArmDataSyncronizationBarrier)
+.globl ASM_PFX(ArmInstructionSynchronizationBarrier)
+
.set DC_ON, (1<<2)
.set IC_ON, (1<<12)
ASM_PFX(ArmDisableBranchPrediction):
bx LR @Branch prediction is not supported.
+ASM_PFX(ArmDataMemoryBarrier):
+ mov R0, #0
+ mcr P15, #0, R0, C7, C10, #5 @ check if this is OK?
+ bx LR
+
+ASM_PFX(ArmDataSyncronizationBarrier):
+ mov R0, #0
+ mcr P15, #0, R0, C7, C10, #4 @ check if this is OK?
+ bx LR
+
+ASM_PFX(ArmInstructionSynchronizationBarrier):
+ mov R0, #0
+ mcr P15, #0, R0, C7, C5, #4 @ check if this is OK?
+ bx LR
+
ASM_FUNCTION_REMOVE_IF_UNREFERENCED
EXPORT ArmDisableInstructionCache
EXPORT ArmEnableBranchPrediction
EXPORT ArmDisableBranchPrediction
+ EXPORT ArmDataMemoryBarrier
+ EXPORT ArmDataSyncronizationBarrier
+ EXPORT ArmInstructionSynchronizationBarrier
DC_ON EQU ( 0x1:SHL:2 )
ArmDisableBranchPrediction
bx LR ;Branch prediction is not supported.
+ASM_PFX(ArmDataMemoryBarrier):
+ mov R0, #0
+ mcr P15, #0, R0, C7, C10, #5 ; Check to see if this is correct
+ bx LR
+
+ASM_PFX(ArmDataSyncronizationBarrier):
+ mov R0, #0
+ mcr P15, #0, R0, C7, C10, #4 ; Check to see if this is correct
+ bx LR
+
+ASM_PFX(ArmInstructionSynchronizationBarrier):
+ MOV R0, #0
+ MCR P15, #0, R0, C7, C5, #4 ; Check to see if this is correct
+ bx LR
+
END