]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Variable/RuntimeDxe/SpeculationBarrierSmm.c
dbc20f6c4d63db0c6a5189bb2454b8d272bb0e6d
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / RuntimeDxe / SpeculationBarrierSmm.c
1 /** @file
2 Barrier to stop speculative execution (SMM version).
3
4 Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #include <Library/BaseLib.h>
16 #include "Variable.h"
17
18 /**
19 This service is consumed by the variable modules to place a barrier to stop
20 speculative execution.
21
22 Ensures that no later instruction will execute speculatively, until all prior
23 instructions have completed.
24
25 **/
26 VOID
27 VariableSpeculationBarrier (
28 VOID
29 )
30 {
31 SpeculationBarrier ();
32 }