/** @file | |
Find Cloud Hypervisor SMBIOS data. | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#include <IndustryStandard/CloudHv.h> // CLOUDHV_SMBIOS_ADDRESS | |
#include <IndustryStandard/SmBios.h> // SMBIOS_TABLE_3_0_ENTRY_POINT | |
/** | |
Locates and extracts Cloud Hypervisor SMBIOS data | |
@return Address of extracted Cloud Hypervisor SMBIOS data | |
**/ | |
UINT8 * | |
GetCloudHvSmbiosTables ( | |
VOID | |
) | |
{ | |
SMBIOS_TABLE_3_0_ENTRY_POINT *CloudHvTables = (VOID *)CLOUDHV_SMBIOS_ADDRESS; | |
if ((CloudHvTables->AnchorString[0] == '_') && | |
(CloudHvTables->AnchorString[1] == 'S') && | |
(CloudHvTables->AnchorString[2] == 'M') && | |
(CloudHvTables->AnchorString[3] == '3') && | |
(CloudHvTables->AnchorString[4] == '_')) | |
{ | |
return (UINT8 *)(UINTN)CloudHvTables->TableAddress; | |
} | |
return NULL; | |
} |