On 11/01/14 23:20, Gabriel L. Somlo wrote: > Set from PEI, this PCD allows subsequent stages (specifically > DXE_DRIVER and DXE_RUNTIME_DRIVER) to infer the underlying platform > type (e.g. PIIX4 or Q35/MCH) without the need to further query the > Host Bridge for its Device ID. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Gabriel Somlo <so...@cmu.edu> > Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> > Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com> > --- > OvmfPkg/OvmfPkg.dec | 1 + > OvmfPkg/OvmfPkgIa32.dsc | 1 + > OvmfPkg/OvmfPkgIa32X64.dsc | 1 + > OvmfPkg/OvmfPkgX64.dsc | 1 + > OvmfPkg/PlatformPei/Platform.c | 3 ++- > OvmfPkg/PlatformPei/PlatformPei.inf | 1 + > 6 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec > index 3765ac8..33dcb82 100644 > --- a/OvmfPkg/OvmfPkg.dec > +++ b/OvmfPkg/OvmfPkg.dec > @@ -94,6 +94,7 @@ > [PcdsDynamic, PcdsDynamicEx] > gUefiOvmfPkgTokenSpaceGuid.PcdEmuVariableEvent|0|UINT64|2 > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashVariablesEnable|FALSE|BOOLEAN|0x10 > + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0|UINT16|0x1b > > [PcdsFeatureFlag] > gUefiOvmfPkgTokenSpaceGuid.PcdSecureBootEnable|FALSE|BOOLEAN|3 > diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc > index baed129..5dd1b64 100644 > --- a/OvmfPkg/OvmfPkgIa32.dsc > +++ b/OvmfPkg/OvmfPkgIa32.dsc > @@ -330,6 +330,7 @@ > gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE > gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800 > gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600 > + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0 > > > > ################################################################################ > diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc > index 32993cc..8ce8066 100644 > --- a/OvmfPkg/OvmfPkgIa32X64.dsc > +++ b/OvmfPkg/OvmfPkgIa32X64.dsc > @@ -336,6 +336,7 @@ > gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE > gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800 > gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600 > + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0 > > > > ################################################################################ > diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc > index 736a549..4d5ec09 100644 > --- a/OvmfPkg/OvmfPkgX64.dsc > +++ b/OvmfPkg/OvmfPkgX64.dsc > @@ -335,6 +335,7 @@ > gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE > gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800 > gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600 > + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0 > > > > ################################################################################ > diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c > index 8c8cf5b..2170932 100644 > --- a/OvmfPkg/PlatformPei/Platform.c > +++ b/OvmfPkg/PlatformPei/Platform.c > @@ -245,7 +245,7 @@ MiscInitialization ( > BuildCpuHob (36, 16); > > // > - // Query Host Bridge DID to determine platform type > + // Query Host Bridge DID to determine platform type and save to PCD > // > HostBridgeDevId = PciRead16 (OVMF_HOSTBRIDGE_DID); > switch (HostBridgeDevId) { > @@ -264,6 +264,7 @@ MiscInitialization ( > __FUNCTION__, HostBridgeDevId)); > ASSERT (FALSE); > } > + PcdSet16 (PcdOvmfHostBridgePciDevId, HostBridgeDevId); > > // > // If PMREGMISC/PMIOSE is set, assume the ACPI PMBA has been configured > (for > diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf > b/OvmfPkg/PlatformPei/PlatformPei.inf > index a5fa9b5..0307bca 100644 > --- a/OvmfPkg/PlatformPei/PlatformPei.inf > +++ b/OvmfPkg/PlatformPei/PlatformPei.inf > @@ -73,6 +73,7 @@ > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageBase > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageSize > gUefiOvmfPkgTokenSpaceGuid.PcdGuidedExtractHandlerTableSize > + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId > gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemorySize > gEfiMdePkgTokenSpaceGuid.PcdGuidedExtractHandlerTableAddress > gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize >
Reviewed-by: Laszlo Ersek <ler...@redhat.com> ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel