1 ##------------------------------------------------------------------------------ 2 # 3 # MemoryFence() for AArch64 4 # 5 # Copyright (c) 2013, ARM Ltd. All rights reserved. 6 # 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 20 GCC_ASM_EXPORT(MemoryFence) 21 22 23 #/** 24 # Used to serialize load and store operations. 25 # 26 # All loads and stores that proceed calls to this function are guaranteed to be 27 # globally visible when this function returns. 28 # 29 #**/ 30 #VOID 31 #EFIAPI 32 #MemoryFence ( 33 # VOID 34 # ); 35 # 36 ASM_PFX(MemoryFence): 37 // System wide Data Memory Barrier. 38 dmb sy 39 ret 40