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

