]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg: Add PCD for Host Bridge dev. ID (PcdOvmfHostBridgePciDevId)
authorGabriel Somlo <somlo@cmu.edu>
Fri, 14 Nov 2014 00:37:39 +0000 (00:37 +0000)
committerjljusten <jljusten@Edk2>
Fri, 14 Nov 2014 00:37:39 +0000 (00:37 +0000)
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 <somlo@cmu.edu>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16374 6f19259b-4bc3-4df7-8a09-765794883524

OvmfPkg/OvmfPkg.dec
OvmfPkg/OvmfPkgIa32.dsc
OvmfPkg/OvmfPkgIa32X64.dsc
OvmfPkg/OvmfPkgX64.dsc
OvmfPkg/PlatformPei/Platform.c
OvmfPkg/PlatformPei/PlatformPei.inf

index 3765ac8f8a35f5d465872045c0136fbe7d3e514e..33dcb82de232e23234387261a0840f6bca84a69f 100644 (file)
@@ -94,6 +94,7 @@
 [PcdsDynamic, PcdsDynamicEx]\r
   gUefiOvmfPkgTokenSpaceGuid.PcdEmuVariableEvent|0|UINT64|2\r
   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashVariablesEnable|FALSE|BOOLEAN|0x10\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0|UINT16|0x1b\r
 \r
 [PcdsFeatureFlag]\r
   gUefiOvmfPkgTokenSpaceGuid.PcdSecureBootEnable|FALSE|BOOLEAN|3\r
index eca1dc4eb8ae0478885bf0e49e23aac1c144b763..59f0fcea246e8bb63ae4c868918a8c4d1b164035 100644 (file)
   gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0\r
 \r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0\r
 \r
index 9935c4a24528befd6d296d4093f986d212943604..ab6feae6c6e37563a4cf4c92724a6ea6af8bc7b7 100644 (file)
   gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0\r
 \r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0\r
 \r
index 5e9d7822b5d957a29ed08d9c2632758bcbec09b6..26d5655f9e537f6a8c339eb283c9895c1b887448 100644 (file)
   gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0\r
 \r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0\r
 \r
index d8a7c21ae038a111f3abddb307048f3ee2f7736a..1940e01640fd177aa5646ed7b7ed07e96fd11c73 100644 (file)
@@ -245,7 +245,7 @@ MiscInitialization (
   BuildCpuHob (36, 16);\r
 \r
   //\r
-  // Query Host Bridge DID to determine platform type\r
+  // Query Host Bridge DID to determine platform type and save to PCD\r
   //\r
   HostBridgeDevId = PciRead16 (OVMF_HOSTBRIDGE_DID);\r
   switch (HostBridgeDevId) {\r
@@ -265,6 +265,7 @@ MiscInitialization (
       ASSERT (FALSE);\r
       return;\r
   }\r
+  PcdSet16 (PcdOvmfHostBridgePciDevId, HostBridgeDevId);\r
 \r
   //\r
   // If PMREGMISC/PMIOSE is set, assume the ACPI PMBA has been configured (for\r
index a5fa9b5004d7c837ef13f930681dae13ce34f3bd..0307bca913c15aeec1300753a99281dd25c9dc44 100644 (file)
@@ -73,6 +73,7 @@
   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageBase\r
   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageSize\r
   gUefiOvmfPkgTokenSpaceGuid.PcdGuidedExtractHandlerTableSize\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemorySize\r
   gEfiMdePkgTokenSpaceGuid.PcdGuidedExtractHandlerTableAddress\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize\r