mirror of https://github.com/acidanthera/audk.git
Move ARMv5 (ARM9) barrier instructions into assembler files
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10064 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
026c3d34ee
commit
4b9fa12943
|
@ -118,32 +118,5 @@ ArmConfigureMmu (
|
|||
}
|
||||
|
||||
|
||||
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
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -118,28 +118,4 @@ ArmConfigureMmu (
|
|||
}
|
||||
|
||||
|
||||
VOID
|
||||
EFIAPI
|
||||
ArmDataMemoryBarrier (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
VOID
|
||||
EFIAPI
|
||||
ArmDataSyncronizationBarrier (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
VOID
|
||||
EFIAPI
|
||||
ArmInstructionSynchronizationBarrier (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -30,6 +30,10 @@
|
|||
.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)
|
||||
|
@ -130,5 +134,20 @@ ASM_PFX(ArmEnableBranchPrediction):
|
|||
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
|
||||
|
||||
|
|
|
@ -28,6 +28,9 @@
|
|||
EXPORT ArmDisableInstructionCache
|
||||
EXPORT ArmEnableBranchPrediction
|
||||
EXPORT ArmDisableBranchPrediction
|
||||
EXPORT ArmDataMemoryBarrier
|
||||
EXPORT ArmDataSyncronizationBarrier
|
||||
EXPORT ArmInstructionSynchronizationBarrier
|
||||
|
||||
|
||||
DC_ON EQU ( 0x1:SHL:2 )
|
||||
|
@ -132,4 +135,19 @@ ArmEnableBranchPrediction
|
|||
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
|
||||
|
|
Loading…
Reference in New Issue