/src/hbfa-fl/HBFA/UefiHostTestPkg/Library/BaseLibHost/X86MemoryFenceGcc.c
Line | Count | Source (jump to first uncovered line) |
1 | | /** @file |
2 | | GCC inline implementation of BaseLib processor specific functions. |
3 | | |
4 | | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> |
5 | | Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> |
6 | | SPDX-License-Identifier: BSD-2-Clause-Patent |
7 | | |
8 | | **/ |
9 | | |
10 | | |
11 | | /** |
12 | | Used to serialize load and store operations. |
13 | | |
14 | | All loads and stores that proceed calls to this function are guaranteed to be |
15 | | globally visible when this function returns. |
16 | | |
17 | | **/ |
18 | | VOID |
19 | | EFIAPI |
20 | | MemoryFence ( |
21 | | VOID |
22 | | ) |
23 | 0 | { |
24 | | // This is a little bit of overkill and it is more about the compiler that it is |
25 | | // actually processor synchronization. This is like the _ReadWriteBarrier |
26 | | // Microsoft specific intrinsic |
27 | 0 | __asm__ __volatile__ ("":::"memory"); |
28 | 0 | } |
29 | | |