ArmInvalidateInstructionAndDataTlb() was doing the same thing as
ArmInvalidateTlb().
Both invalidate Data and Instruction TLBs.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16253
6f19259b-4bc3-4df7-8a09-
765794883524
VOID\r
);\r
\r
-VOID\r
-EFIAPI\r
-ArmInvalidateInstructionAndDataTlb (\r
- VOID\r
- );\r
-\r
VOID\r
EFIAPI\r
ArmEnableInterrupts (\r
VOID\r
);\r
\r
+/**\r
+ * Invalidate Data and Instruction TLBs\r
+ */\r
VOID\r
EFIAPI\r
ArmInvalidateTlb (\r
GCC_ASM_EXPORT (ArmReadVBar)\r
GCC_ASM_EXPORT (ArmEnableVFP)\r
GCC_ASM_EXPORT (ArmCallWFI)\r
-GCC_ASM_EXPORT (ArmInvalidateInstructionAndDataTlb)\r
GCC_ASM_EXPORT (ArmReadMpidr)\r
GCC_ASM_EXPORT (ArmReadTpidrurw)\r
GCC_ASM_EXPORT (ArmWriteTpidrurw)\r
ret\r
\r
\r
-ASM_PFX(ArmInvalidateInstructionAndDataTlb):\r
- EL1_OR_EL2_OR_EL3(x0)\r
-1: tlbi vmalle1\r
- b 4f\r
-2: tlbi alle2\r
- b 4f\r
-3: tlbi alle3\r
-4: dsb sy\r
- isb\r
- ret\r
-\r
-\r
ASM_PFX(ArmReadMpidr):\r
mrs x0, mpidr_el1 // read EL1 MPIDR\r
ret\r
.text\r
.align 2\r
GCC_ASM_EXPORT(ArmDisableCachesAndMmu)\r
-GCC_ASM_EXPORT(ArmInvalidateInstructionAndDataTlb)\r
GCC_ASM_EXPORT(ArmCleanInvalidateDataCache)\r
GCC_ASM_EXPORT(ArmCleanDataCache)\r
GCC_ASM_EXPORT(ArmInvalidateDataCache)\r
mcr p15, 0, r0, c1, c0, 0 @ Write control register\r
bx LR\r
\r
-ASM_PFX(ArmInvalidateInstructionAndDataTlb):\r
- mcr p15, 0, r0, c8, c7, 0 @ Invalidate Inst TLB and Data TLB\r
- bx lr\r
-\r
ASM_PFX(ArmInvalidateDataCacheEntryByMVA):\r
mcr p15, 0, r0, c7, c6, 1 @invalidate single data cache line\r
bx lr\r
GCC_ASM_EXPORT (ArmEnableVFP)\r
GCC_ASM_EXPORT (ArmCallWFI)\r
GCC_ASM_EXPORT (ArmReadCbar)\r
-GCC_ASM_EXPORT (ArmInvalidateInstructionAndDataTlb)\r
GCC_ASM_EXPORT (ArmReadMpidr)\r
GCC_ASM_EXPORT (ArmReadTpidrurw)\r
GCC_ASM_EXPORT (ArmWriteTpidrurw)\r
mrc p15, 4, r0, c15, c0, 0 @ Read Configuration Base Address Register\r
bx lr\r
\r
-ASM_PFX(ArmInvalidateInstructionAndDataTlb):\r
- mcr p15, 0, r0, c8, c7, 0 @ Invalidate Inst TLB and Data TLB\r
- dsb\r
- bx lr\r
-\r
ASM_PFX(ArmReadMpidr):\r
mrc p15, 0, r0, c0, c0, 5 @ read MPIDR\r
bx lr\r
EXPORT ArmEnableVFP\r
EXPORT ArmCallWFI\r
EXPORT ArmReadCbar\r
- EXPORT ArmInvalidateInstructionAndDataTlb\r
EXPORT ArmReadMpidr\r
EXPORT ArmReadTpidrurw\r
EXPORT ArmWriteTpidrurw\r
mrc p15, 4, r0, c15, c0, 0 //Read Configuration Base Address Register\r
bx lr\r
\r
-ArmInvalidateInstructionAndDataTlb\r
- mcr p15, 0, r0, c8, c7, 0 ; Invalidate Inst TLB and Data TLB\r
- dsb\r
- bx lr\r
-\r
ArmReadMpidr\r
mrc p15, 0, r0, c0, c0, 5 ; read MPIDR\r
bx lr\r
ArmInvalidateInstructionCache ();\r
\r
// Invalidate I & D TLBs\r
- ArmInvalidateInstructionAndDataTlb ();\r
+ ArmInvalidateTlb ();\r
\r
// CPU specific settings\r
ArmCpuSetup (MpId);\r