1 #------------------------------------------------------------------------------ 2 # 3 # CpuFlushTlb() for ARM 4 # 5 # Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR> 6 # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 7 # This program and the accompanying materials 8 # are licensed and made available under the terms and conditions of the BSD License 9 # which accompanies this distribution. The full text of the license may be found at 10 # http://opensource.org/licenses/bsd-license.php. 11 # 12 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 14 # 15 #------------------------------------------------------------------------------ 16 17 .text 18 .p2align 2 19 GCC_ASM_EXPORT(CpuFlushTlb) 20 21 #/** 22 # Flushes all the Translation Lookaside Buffers(TLB) entries in a CPU. 23 # 24 # Flushes all the Translation Lookaside Buffers(TLB) entries in a CPU. 25 # 26 #**/ 27 #VOID 28 #EFIAPI 29 #CpuFlushTlb ( 30 # VOID 31 # )# 32 # 33 ASM_PFX(CpuFlushTlb): 34 mov r0,#0 35 mcr p15,0,r0,c8,c5,0 // Invalidate all the unlocked entried in TLB 36 bx LR 37