#include <Library/PeiServicesLib.h>\r
#include <Library/QemuFwCfgLib.h>\r
#include <Library/ResourcePublicationLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
#include <Guid/MemoryTypeInformation.h>\r
#include <Ppi/MasterBootMode.h>\r
#include <IndustryStandard/Pci22.h>\r
-#include <IndustryStandard/SmBios.h>\r
#include <OvmfPlatforms.h>\r
\r
#include "Platform.h"\r
}\r
\r
\r
-/**\r
- Set the SMBIOS entry point version for the generic SmbiosDxe driver.\r
-**/\r
-STATIC\r
-VOID\r
-SmbiosVersionInitialization (\r
- VOID\r
- )\r
-{\r
- FIRMWARE_CONFIG_ITEM Anchor;\r
- UINTN AnchorSize;\r
- SMBIOS_TABLE_ENTRY_POINT QemuAnchor;\r
- UINT16 SmbiosVersion;\r
-\r
- if (RETURN_ERROR (QemuFwCfgFindFile ("etc/smbios/smbios-anchor", &Anchor,\r
- &AnchorSize)) ||\r
- AnchorSize != sizeof QemuAnchor) {\r
- return;\r
- }\r
-\r
- QemuFwCfgSelectItem (Anchor);\r
- QemuFwCfgReadBytes (AnchorSize, &QemuAnchor);\r
- if (CompareMem (QemuAnchor.AnchorString, "_SM_", 4) != 0 ||\r
- CompareMem (QemuAnchor.IntermediateAnchorString, "_DMI_", 5) != 0) {\r
- return;\r
- }\r
-\r
- SmbiosVersion = (UINT16)(QemuAnchor.MajorVersion << 8 |\r
- QemuAnchor.MinorVersion);\r
- DEBUG ((EFI_D_INFO, "%a: SMBIOS version from QEMU: 0x%04x\n", __FUNCTION__,\r
- SmbiosVersion));\r
- PcdSet16 (PcdSmbiosVersion, SmbiosVersion);\r
-}\r
-\r
-\r
/**\r
Perform Platform PEI initialization.\r
\r
PeiFvInitialization ();\r
\r
MemMapInitialization ();\r
-\r
- SmbiosVersionInitialization ();\r
}\r
\r
MiscInitialization ();\r
QemuFwCfgLib\r
MtrrLib\r
PcdLib\r
- BaseMemoryLib\r
\r
[Pcd]\r
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize\r
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion\r
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode\r
gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuLocalApicBaseAddress\r