mirror of https://github.com/acidanthera/audk.git
OvmfPkg: introduce PcdQ35SmramAtDefaultSmbase
For supporting VCPU hotplug with SMM enabled/required, QEMU offers the (dynamically detectable) feature called "SMRAM at default SMBASE". When the feature is enabled, the firmware can lock down the 128 KB range starting at the default SMBASE; that is, the [0x3_0000, 0x4_FFFF] interval. The goal is to shield the very first SMI handler of the hotplugged VCPU from OS influence. Multiple modules in OVMF will have to inter-operate for locking down this range. Introduce a dynamic PCD that will reflect the feature (to be negotiated by PlatformPei), for coordination between drivers. Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Jordan Justen <jordan.l.justen@intel.com> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1512 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Message-Id: <20200129214412.2361-2-lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
This commit is contained in:
parent
422da35375
commit
d74d56fcfa
|
@ -257,6 +257,12 @@
|
|||
# This PCD is only accessed if PcdSmmSmramRequire is TRUE (see below).
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes|8|UINT16|0x20
|
||||
|
||||
## Set to TRUE by PlatformPei if the Q35 board supports the "SMRAM at default
|
||||
# SMBASE" feature.
|
||||
#
|
||||
# This PCD is only accessed if PcdSmmSmramRequire is TRUE (see below).
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdQ35SmramAtDefaultSmbase|FALSE|BOOLEAN|0x34
|
||||
|
||||
[PcdsFeatureFlag]
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|TRUE|BOOLEAN|0x1c
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderMmioTranslation|FALSE|BOOLEAN|0x1d
|
||||
|
|
|
@ -565,6 +565,7 @@
|
|||
|
||||
!if $(SMM_REQUIRE) == TRUE
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes|8
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdQ35SmramAtDefaultSmbase|FALSE
|
||||
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode|0x01
|
||||
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout|100000
|
||||
!endif
|
||||
|
|
|
@ -577,6 +577,7 @@
|
|||
|
||||
!if $(SMM_REQUIRE) == TRUE
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes|8
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdQ35SmramAtDefaultSmbase|FALSE
|
||||
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode|0x01
|
||||
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout|100000
|
||||
!endif
|
||||
|
|
|
@ -576,6 +576,7 @@
|
|||
|
||||
!if $(SMM_REQUIRE) == TRUE
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes|8
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdQ35SmramAtDefaultSmbase|FALSE
|
||||
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode|0x01
|
||||
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout|100000
|
||||
!endif
|
||||
|
|
Loading…
Reference in New Issue