/* Locates the bhyve SMBIOS data if it exists */
SMBIOS_TABLE_ENTRY_POINT* GetBhyveSmbiosTables(VOID)
/* Locates the bhyve SMBIOS data if it exists */
SMBIOS_TABLE_ENTRY_POINT* GetBhyveSmbiosTables(VOID)
{
  UINT8                     *BhyveSmbiosPtr;
  SMBIOS_TABLE_ENTRY_POINT  *BhyveSmbiosEntryPointStructure;
  for (BhyveSmbiosPtr = (UINT8 *)(UINTN)BHYVE_SMBIOS_PHYSICAL_ADDRESS;
       BhyveSmbiosPtr < (UINT8 *)(UINTN)BHYVE_SMBIOS_PHYSICAL_END;
       BhyveSmbiosPtr += 0x10)
  {
    BhyveSmbiosEntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *)BhyveSmbiosPtr;
    if (!AsciiStrnCmp ((CHAR8 *)BhyveSmbiosEntryPointStructure->AnchorString, "_SM_", 4) &&
        !AsciiStrnCmp ((CHAR8 *)BhyveSmbiosEntryPointStructure->IntermediateAnchorString, "_DMI_", 5) &&
        IsEntryPointStructureValid (BhyveSmbiosEntryPointStructure))
    {
      return BhyveSmbiosEntryPointStructure;
    }
  }
  return NULL;
}