Fix type 19 print to match SBMIOS 2.7.

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
This commit is contained in:
andrewfish 2012-01-31 00:18:25 +00:00
parent 8fa6b23c49
commit 4641e70095
2 changed files with 16 additions and 0 deletions

View File

@ -321,6 +321,11 @@ typedef struct {
UINT32 EndingAddress; UINT32 EndingAddress;
UINT16 MemoryArrayHandle; UINT16 MemoryArrayHandle;
UINT8 PartitionWidth; UINT8 PartitionWidth;
//
// Add for smbios 2.7
//
UINT64 ExtendedStartingAddress;
UINT64 ExtendedEndingAddress;
} SMBIOS_TYPE19; } SMBIOS_TYPE19;
typedef struct { typedef struct {

View File

@ -58,6 +58,12 @@
ShellPrintEx(-1,-1,L": 0x%x\n", (pStruct->type->element)); \ ShellPrintEx(-1,-1,L": 0x%x\n", (pStruct->type->element)); \
} while (0); } while (0);
#define PRINT_STRUCT_VALUE_LH(pStruct, type, element) \
do { \
ShellPrintEx(-1,-1,L"%a",#element); \
ShellPrintEx(-1,-1,L": 0x%lx\n", (pStruct->type->element)); \
} while (0);
#define PRINT_BIT_FIELD(pStruct, type, element, size) \ #define PRINT_BIT_FIELD(pStruct, type, element, size) \
do { \ do { \
ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DUMP), gShellDebug1HiiHandle); \ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DUMP), gShellDebug1HiiHandle); \
@ -630,6 +636,11 @@ SmbiosPrintStructure (
PRINT_STRUCT_VALUE_H (Struct, Type19, EndingAddress); PRINT_STRUCT_VALUE_H (Struct, Type19, EndingAddress);
PRINT_STRUCT_VALUE_H (Struct, Type19, MemoryArrayHandle); PRINT_STRUCT_VALUE_H (Struct, Type19, MemoryArrayHandle);
PRINT_STRUCT_VALUE_H (Struct, Type19, PartitionWidth); PRINT_STRUCT_VALUE_H (Struct, Type19, PartitionWidth);
if (Struct->Hdr->Length >= 0x19) {
// SMBIOS 2.7+
PRINT_STRUCT_VALUE_LH (Struct, Type19, ExtendedStartingAddress);
PRINT_STRUCT_VALUE_LH (Struct, Type19, ExtendedEndingAddress);
}
break; break;
// //