Import the PCDs that are referenced by INF files under OvmfPkg/QuarkPort/
from Quark_EDKII_v1.1.0/IA32FamilyCpuBasePkg/. (All of these PCDs are
necessary for building PiSmmCpuDxeSmm.)

Copy the declarations found in "IA32FamilyCpuBasePkg.dec" to
"OvmfPkg.dec". Change only the token space GUID from gEfiCpuTokenSpaceGuid
to gQuarkPortCpuTokenSpaceGuid.

Whenever the source package contains a PCD override or default in
"IA32FamilyCpuBasePkg.dsc", mirror that to the OvmfPkg DSC files too.

The dynamic(ex) PCD "PcdCpuS3DataAddress" constitutes a communication
channel from the

  Quark_EDKII_v1.1.0/IA32FamilyCpuBasePkg/CpuMpDxe

driver. This issue will be addressed later, by porting a subset of that
driver as well.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <[email protected]>
---
 OvmfPkg/OvmfPkg.dec        | 33 ++++++++++++++++++++
 OvmfPkg/OvmfPkgIa32.dsc    |  4 +++
 OvmfPkg/OvmfPkgIa32X64.dsc |  4 +++
 OvmfPkg/OvmfPkgX64.dsc     |  4 +++
 4 files changed, 45 insertions(+)

diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec
index e35adf7..36cc474 100644
--- a/OvmfPkg/OvmfPkg.dec
+++ b/OvmfPkg/OvmfPkg.dec
@@ -121,6 +121,17 @@ [PcdsFixedAtBuild]
   #  This PCD is only consulted if PcdSmmSmramRequire is TRUE (see below).
   gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes|1|UINT8|0x20
 
+  ## Fixed PCDs imported from
+  #  "Quark_EDKII_v1.1.0/IA32FamilyCpuBasePkg/IA32FamilyCpuBasePkg.dec" follow.
+
+  gQuarkPortCpuTokenSpaceGuid.PcdCpuSmmApSyncTimeout|1000000|UINT64|0x32132104
+  gQuarkPortCpuTokenSpaceGuid.PcdCpuSmmStackSize|0x2000|UINT32|0x32132105
+  ##
+  #  The PCD is used to specify memory size with bytes to save SMM profile
+  #  data. The value should be a multiple of 4KB.
+  ##
+  gQuarkPortCpuTokenSpaceGuid.PcdCpuSmmProfileSize|0x200000|UINT32|0x32132107
+
 [PcdsFixedAtBuild]
   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogBase|0x0|UINT32|0x8
   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogSize|0x0|UINT32|0x9
@@ -145,6 +156,11 @@ [PcdsDynamic, PcdsDynamicEx]
   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashVariablesEnable|FALSE|BOOLEAN|0x10
   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0|UINT16|0x1b
 
+  ## Dynamic(Ex) PCDs imported from
+  #  "Quark_EDKII_v1.1.0/IA32FamilyCpuBasePkg/IA32FamilyCpuBasePkg.dec" follow.
+  gQuarkPortCpuTokenSpaceGuid.PcdCpuS3DataAddress|0x0|UINT64|0x60000010
+  gQuarkPortCpuTokenSpaceGuid.PcdCpuHotPlugDataAddress|0x0|UINT64|0x60000011
+
 [PcdsFeatureFlag]
   gUefiOvmfPkgTokenSpaceGuid.PcdSecureBootEnable|FALSE|BOOLEAN|3
   gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|TRUE|BOOLEAN|0x1c
@@ -159,3 +175,20 @@ [PcdsFeatureFlag]
   #  runtime OS from tampering with firmware structures (special memory ranges
   #  used by OVMF, the varstore pflash chip, LockBox etc).
   gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire|FALSE|BOOLEAN|0x1e
+
+  ## Feature PCDs imported from
+  #  "Quark_EDKII_v1.1.0/IA32FamilyCpuBasePkg/IA32FamilyCpuBasePkg.dec" follow.
+  
gQuarkPortCpuTokenSpaceGuid.PcdCpuSmmEnableBspElection|TRUE|BOOLEAN|0x32132106
+  gQuarkPortCpuTokenSpaceGuid.PcdCpuSmmDebug|FALSE|BOOLEAN|0x1000001B
+  gQuarkPortCpuTokenSpaceGuid.PcdCpuSmmStackGuard|FALSE|BOOLEAN|0x1000001C
+  
gQuarkPortCpuTokenSpaceGuid.PcdCpuSmmBlockStartupThisAp|FALSE|BOOLEAN|0x32132108
+  gQuarkPortCpuTokenSpaceGuid.PcdCpuSmmProfileEnable|FALSE|BOOLEAN|0x32132109
+  
gQuarkPortCpuTokenSpaceGuid.PcdCpuSmmProfileRingBuffer|FALSE|BOOLEAN|0x3213210a
+  
gQuarkPortCpuTokenSpaceGuid.PcdCpuSmmUncacheCpuSyncData|FALSE|BOOLEAN|0x3213210D
+  gQuarkPortCpuTokenSpaceGuid.PcdCpuHotPlugSupport|FALSE|BOOLEAN|0x3213210C
+  
gQuarkPortCpuTokenSpaceGuid.PcdCpuSmmFeatureControlMsrLock|TRUE|BOOLEAN|0x3213210B
+
+[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
+  ## Fixed / Patchable / Dynamic(Ex) PCDs imported from
+  #  "Quark_EDKII_v1.1.0/IA32FamilyCpuBasePkg/IA32FamilyCpuBasePkg.dec" follow.
+  
gQuarkPortCpuTokenSpaceGuid.PcdCpuSmmCodeAccessCheckEnable|TRUE|BOOLEAN|0x60000013
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
index 5023ac4..63a25f8 100644
--- a/OvmfPkg/OvmfPkgIa32.dsc
+++ b/OvmfPkg/OvmfPkgIa32.dsc
@@ -333,6 +333,10 @@ [PcdsFeatureFlag]
   gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire|TRUE
 !endif
 
+  ## Feature PCDs imported from
+  #  "Quark_EDKII_v1.1.0/IA32FamilyCpuBasePkg/IA32FamilyCpuBasePkg.dsc" follow.
+  gQuarkPortCpuTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE
+
 [PcdsFixedAtBuild]
   gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
   gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index 467de48..798c775 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -338,6 +338,10 @@ [PcdsFeatureFlag]
   gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire|TRUE
 !endif
 
+  ## Feature PCDs imported from
+  #  "Quark_EDKII_v1.1.0/IA32FamilyCpuBasePkg/IA32FamilyCpuBasePkg.dsc" follow.
+  gQuarkPortCpuTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE
+
 [PcdsFixedAtBuild]
   gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
   gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 5f80b29..d2b2440 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -338,6 +338,10 @@ [PcdsFeatureFlag]
   gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire|TRUE
 !endif
 
+  ## Feature PCDs imported from
+  #  "Quark_EDKII_v1.1.0/IA32FamilyCpuBasePkg/IA32FamilyCpuBasePkg.dsc" follow.
+  gQuarkPortCpuTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE
+
 [PcdsFixedAtBuild]
   gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
   gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
-- 
1.8.3.1


_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to