]> git.proxmox.com Git - mirror_edk2.git/commit - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf
MdeModulePkg/Variable: Update to consume SpeculationBarrier
authorHao Wu <hao.a.wu@intel.com>
Fri, 21 Dec 2018 02:30:22 +0000 (10:30 +0800)
committerHao Wu <hao.a.wu@intel.com>
Tue, 25 Dec 2018 01:16:11 +0000 (09:16 +0800)
commit49395ea0bc69c30f753f93877e6cc82b8ed0212b
tree2fa8639ce327f41a695c547ccaf918fe1b279a6d
parent107775734d75073782ef9cad8ca32e7278f6c013
MdeModulePkg/Variable: Update to consume SpeculationBarrier

REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1417

Since BaseLib API AsmLfence() is a x86 arch specific API and should be
avoided using in generic codes, this commit replaces the usage of
AsmLfence() with arch-generic API SpeculationBarrier().

Please note that speculation execution barriers are intended to be
asserted for SMM codes, hence, this commit still preserve an empty
implementation of the speculation execution barrier for the DXE codes.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
MdeModulePkg/Universal/Variable/RuntimeDxe/LoadFenceDxe.c [deleted file]
MdeModulePkg/Universal/Variable/RuntimeDxe/LoadFenceSmm.c [deleted file]
MdeModulePkg/Universal/Variable/RuntimeDxe/PrivilegePolymorphic.h
MdeModulePkg/Universal/Variable/RuntimeDxe/SpeculationBarrierDxe.c [new file with mode: 0644]
MdeModulePkg/Universal/Variable/RuntimeDxe/SpeculationBarrierSmm.c [new file with mode: 0644]
MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.c
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf