36 IN EFI_FILE_PROTOCOL *Root
40 SMBIOS_TABLE_ENTRY_POINT *OriginalSmbios;
41 SMBIOS_TABLE_3_0_ENTRY_POINT *OriginalSmbios3;
43 Status = EfiGetSystemConfigurationTable (
45 (VOID **)&OriginalSmbios
48 if (!EFI_ERROR (Status)) {
49 Status =
OcSetFileData (Root, L
"EntryV1.bin", OriginalSmbios, OriginalSmbios->EntryPointLength);
50 DEBUG ((DEBUG_INFO,
"OCSMB: Dumped V1 EP (%u bytes) - %r\n", OriginalSmbios->EntryPointLength, Status));
51 Status =
OcSetFileData (Root, L
"DataV1.bin", (VOID *)(UINTN)OriginalSmbios->TableAddress, OriginalSmbios->TableLength);
52 DEBUG ((DEBUG_INFO,
"OCSMB: Dumped V1 DATA (%u bytes) - %r\n", OriginalSmbios->TableLength, Status));
54 DEBUG ((DEBUG_INFO,
"OCSMB: No SMBIOS V1 - %r\n", Status));
57 Status = EfiGetSystemConfigurationTable (
59 (VOID **)&OriginalSmbios3
62 if (!EFI_ERROR (Status)) {
63 Status =
OcSetFileData (Root, L
"EntryV3.bin", OriginalSmbios3, OriginalSmbios3->EntryPointLength);
64 DEBUG ((DEBUG_INFO,
"OCSMB: Dumped V3 EP (%u bytes) - %r\n", OriginalSmbios3->EntryPointLength, Status));
65 Status =
OcSetFileData (Root, L
"DataV3.bin", (VOID *)(UINTN)OriginalSmbios3->TableAddress, OriginalSmbios3->TableMaximumSize);
66 DEBUG ((DEBUG_INFO,
"OCSMB: Dumped V3 DATA (%u bytes) - %r\n", OriginalSmbios3->TableMaximumSize, Status));
68 DEBUG ((DEBUG_INFO,
"OCSMB: No SMBIOS V3 - %r\n", Status));