]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/SmbiosPlatformDxe/EntryPoint.c
OvmfPkg: Enable 2 different CpuMpPei and CpuDxe drivers
[mirror_edk2.git] / OvmfPkg / SmbiosPlatformDxe / EntryPoint.c
CommitLineData
2ccefa32
SB
1/** @file\r
2 Find and extract SMBIOS data.\r
3\r
4 SPDX-License-Identifier: BSD-2-Clause-Patent\r
5**/\r
6\r
7#include <Library/MemoryAllocationLib.h> // FreePool()\r
d8ef7743 8#include <OvmfPlatforms.h> // CLOUDHV_DEVICE_ID\r
2ccefa32
SB
9\r
10#include "SmbiosPlatformDxe.h"\r
11\r
12/**\r
13 Installs SMBIOS information for OVMF\r
14\r
15 @param ImageHandle Module's image handle\r
16 @param SystemTable Pointer of EFI_SYSTEM_TABLE\r
17\r
18 @retval EFI_SUCCESS Smbios data successfully installed\r
19 @retval Other Smbios data was not installed\r
20\r
21**/\r
22EFI_STATUS\r
23EFIAPI\r
24SmbiosTablePublishEntry (\r
25 IN EFI_HANDLE ImageHandle,\r
26 IN EFI_SYSTEM_TABLE *SystemTable\r
27 )\r
28{\r
29 EFI_STATUS Status;\r
30 UINT8 *SmbiosTables;\r
d8ef7743 31 UINT16 HostBridgeDevId;\r
2ccefa32
SB
32\r
33 Status = EFI_NOT_FOUND;\r
34 //\r
d8ef7743 35 // Add SMBIOS data if found\r
2ccefa32 36 //\r
d8ef7743
SB
37 HostBridgeDevId = PcdGet16 (PcdOvmfHostBridgePciDevId);\r
38 if (HostBridgeDevId == CLOUDHV_DEVICE_ID) {\r
39 SmbiosTables = GetCloudHvSmbiosTables ();\r
40 if (SmbiosTables != NULL) {\r
41 Status = InstallAllStructures (SmbiosTables);\r
42 }\r
43 } else {\r
44 SmbiosTables = GetQemuSmbiosTables ();\r
45 if (SmbiosTables != NULL) {\r
46 Status = InstallAllStructures (SmbiosTables);\r
47 FreePool (SmbiosTables);\r
48 }\r
2ccefa32
SB
49 }\r
50\r
51 return Status;\r
52}\r