]> git.proxmox.com Git - mirror_edk2.git/commit - OvmfPkg/Include/Library/PlatformInitLib.h
OvmfPkg/PlatformInitLib: Add functions for EmuVariableNvStore
authorMin M Xu <min.m.xu@intel.com>
Wed, 29 Jun 2022 02:46:22 +0000 (10:46 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Tue, 6 Sep 2022 07:21:42 +0000 (07:21 +0000)
commit4f173db8b45b97563e83847cdff45e6690561482
treed08031d0876ee85c4742f11523609ff0a5ba05cb
parent0e72e8762a547eae7b0a463bb099d6fbbc9557cd
OvmfPkg/PlatformInitLib: Add functions for EmuVariableNvStore

There are 3 functions added for EmuVariableNvStore:
 - PlatformReserveEmuVariableNvStore
 - PlatformInitEmuVariableNvStore
 - PlatformValidateNvVarStore

PlatformReserveEmuVariableNvStore allocate storage for NV variables early
on so it will be at a consistent address.

PlatformInitEmuVariableNvStore copies the content in
PcdOvmfFlashNvStorageVariableBase to the storage allocated by
PlatformReserveEmuVariableNvStore. This is used in the case that OVMF is
launched with -bios parameter. Because in that situation UEFI variables
will be partially emulated, and non-volatile variables may lose their
contents after a reboot. This makes the secure boot feature not working.

PlatformValidateNvVarStore is renamed from TdxValidateCfv and it is used
to validate the integrity of FlashNvVarStore
(PcdOvmfFlashNvStorageVariableBase). It should be called before
PlatformInitEmuVariableNvStore is called to copy over the content.

Cc: Erdem Aktas <erdemaktas@google.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Min Xu <min.m.xu@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
OvmfPkg/Include/Library/PlatformInitLib.h
OvmfPkg/Library/PlatformInitLib/Platform.c
OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf