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

Reply via email to