DEBUG ((EFI_D_INFO, " TableAddress - 0x%016lx\n", Smbios3Table->TableAddress));\r
}\r
}\r
+\r
+ if (Smbios3Table == NULL) {\r
Status = EfiGetSystemConfigurationTable (\r
&gEfiSmbiosTableGuid,\r
(VOID **) &SmbiosTable\r
if (!EFI_ERROR (Status)) {\r
DEBUG ((EFI_D_INFO, "SmbiosTable:\n"));\r
DEBUG ((EFI_D_INFO, " AnchorString - '%c%c%c%c'\n",\r
- Smbios3Table->AnchorString[0],\r
- Smbios3Table->AnchorString[1],\r
- Smbios3Table->AnchorString[2],\r
- Smbios3Table->AnchorString[3]\r
+ SmbiosTable->AnchorString[0],\r
+ SmbiosTable->AnchorString[1],\r
+ SmbiosTable->AnchorString[2],\r
+ SmbiosTable->AnchorString[3]\r
));\r
DEBUG ((EFI_D_INFO, " EntryPointStructureChecksum - 0x%02x\n", SmbiosTable->EntryPointStructureChecksum));\r
DEBUG ((EFI_D_INFO, " EntryPointLength - 0x%02x\n", SmbiosTable->EntryPointLength));\r
DEBUG ((EFI_D_INFO, " NumberOfSmbiosStructures - 0x%04x\n", SmbiosTable->NumberOfSmbiosStructures));\r
DEBUG ((EFI_D_INFO, " SmbiosBcdRevision - 0x%02x\n", SmbiosTable->SmbiosBcdRevision));\r
}\r
+ }\r
\r
if (Smbios3Table != NULL) {\r
SmbiosTableAddress = (VOID *)(UINTN)Smbios3Table->TableAddress;\r
InternalDumpHex (TableAddress, TableLength);\r
\r
HandoffTables.NumberOfTables = 1;\r
- HandoffTables.TableEntry[0].VendorGuid = gEfiSmbiosTableGuid;\r
- HandoffTables.TableEntry[0].VendorTable = SmbiosTable;\r
+ if (Smbios3Table != NULL) {\r
+ CopyGuid (&(HandoffTables.TableEntry[0].VendorGuid), &gEfiSmbios3TableGuid);\r
+ HandoffTables.TableEntry[0].VendorTable = Smbios3Table;\r
+ } else {\r
+ CopyGuid (&(HandoffTables.TableEntry[0].VendorGuid), &gEfiSmbiosTableGuid);\r
+ HandoffTables.TableEntry[0].VendorTable = SmbiosTable;\r
+ }\r
Status = TpmMeasureAndLogData (\r
1, // PCRIndex\r
EV_EFI_HANDOFF_TABLES, // EventType\r