OvmfPkg/MemEncryptSevLib: find pages of initial SMRAM save state map
authorLaszlo Ersek <lersek@redhat.com>
Thu, 1 Mar 2018 16:31:44 +0000 (17:31 +0100)
committerLaszlo Ersek <lersek@redhat.com>
Tue, 6 Mar 2018 12:30:30 +0000 (13:30 +0100)
commit61a044c6c15f5806a30ff23409ba5287d9d07163
tree028384126c251dabd3ad2005e7d9472385496187
parentcd66bd73169fd8cd094887febab03a196d1bd996
OvmfPkg/MemEncryptSevLib: find pages of initial SMRAM save state map

In the next three patches, we're going to modify three modules under
OvmfPkg. When OVMF is built with -D SMM_REQUIRE and runs in an SEV guest,
each affected module will have to know the page range that covers the
initial (pre-SMBASE relocation) SMRAM save state map. Add a helper
function to MemEncryptSevLib that calculates the "base address" and
"number of pages" constants for this page range.

(In a RELEASE build -- i.e., with assertions disabled and optimization
enabled --, the helper function can be compiled to store two constants
determined at compile time.)

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Brijesh Singh <brijesh.singh@amd.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Brijesh Singh <brijesh.singh@amd.com>
Reviewed-by: Brijesh Singh <brijesh.singh@amd.com>
OvmfPkg/Include/Library/MemEncryptSevLib.h
OvmfPkg/Library/BaseMemEncryptSevLib/BaseMemEncryptSevLib.inf
OvmfPkg/Library/BaseMemEncryptSevLib/MemEncryptSevLibInternal.c