]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Fix type 19 print to match SBMIOS 2.7.
authorandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 31 Jan 2012 00:18:25 +0000 (00:18 +0000)
committerandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 31 Jan 2012 00:18:25 +0000 (00:18 +0000)
Note: Some one should port smbiosview to use the edk2 MdePkg/Include/IndustryStandard/SmBios.h and not carry it's own definitions, that are now out of date.

signed-off-by:andrewfish

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12971 6f19259b-4bc3-4df7-8a09-765794883524

ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/LibSmbios.h
ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c

index 5e146cde52bb3f63ebaf9db6a5b156c9286bb8c9..49605872543e466fc3a2ba22597788e9f37bee45 100644 (file)
@@ -321,6 +321,11 @@ typedef struct {
   UINT32        EndingAddress;\r
   UINT16        MemoryArrayHandle;\r
   UINT8         PartitionWidth;\r
+  //\r
+  // Add for smbios 2.7\r
+  //\r
+  UINT64                ExtendedStartingAddress;\r
+  UINT64                ExtendedEndingAddress;\r
 } SMBIOS_TYPE19;\r
 \r
 typedef struct {\r
index 7c081bdf8a5434eb4738cbaca8e80e9e22bbf5b6..feaf91065f7fb612a7bd2994cc953970299e5d3b 100644 (file)
     ShellPrintEx(-1,-1,L": 0x%x\n", (pStruct->type->element)); \\r
   } while (0);\r
 \r
+#define PRINT_STRUCT_VALUE_LH(pStruct, type, element) \\r
+  do { \\r
+    ShellPrintEx(-1,-1,L"%a",#element); \\r
+    ShellPrintEx(-1,-1,L": 0x%lx\n", (pStruct->type->element)); \\r
+  } while (0);\r
+\r
 #define PRINT_BIT_FIELD(pStruct, type, element, size) \\r
   do { \\r
     ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DUMP), gShellDebug1HiiHandle); \\r
@@ -630,6 +636,11 @@ SmbiosPrintStructure (
     PRINT_STRUCT_VALUE_H (Struct, Type19, EndingAddress);\r
     PRINT_STRUCT_VALUE_H (Struct, Type19, MemoryArrayHandle);\r
     PRINT_STRUCT_VALUE_H (Struct, Type19, PartitionWidth);\r
+    if (Struct->Hdr->Length >= 0x19) {\r
+      // SMBIOS 2.7+\r
+      PRINT_STRUCT_VALUE_LH (Struct, Type19, ExtendedStartingAddress);\r
+      PRINT_STRUCT_VALUE_LH (Struct, Type19, ExtendedEndingAddress);\r
+    }\r
     break;\r
 \r
   //\r