//\r
case 38:\r
DisplayIPMIDIBMCInterfaceType (Struct->Type38->InterfaceType, Option);\r
- PRINT_STRUCT_VALUE_H (Struct, Type38, IPMISpecificationRevision);\r
+\r
+ ShellPrintHiiEx (\r
+ -1,\r
+ -1,\r
+ NULL,\r
+ STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_IPMI_SPECIFICATION_REVISION),\r
+ gShellDebug1HiiHandle,\r
+ RShiftU64 ((UINT64)Struct->Type38->IPMISpecificationRevision, 4), \\r
+ Struct->Type38->IPMISpecificationRevision & 0x0F\r
+ );\r
+\r
PRINT_STRUCT_VALUE_H (Struct, Type38, I2CSlaveAddress);\r
- PRINT_STRUCT_VALUE_H (Struct, Type38, NVStorageDeviceAddress);\r
- PRINT_STRUCT_VALUE_LH (Struct, Type38, BaseAddress);\r
+\r
+ if (Struct->Type38->NVStorageDeviceAddress == 0xFF) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_NV_STORAGE_DEVICE_NOT_PRESENT), gShellDebug1HiiHandle);\r
+ } else {\r
+ PRINT_STRUCT_VALUE_H (Struct, Type38, NVStorageDeviceAddress);\r
+ }\r
+\r
+ if (Struct->Type38->InterfaceType == IPMIDeviceInfoInterfaceTypeSSIF) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BASE_ADDRESS), gShellDebug1HiiHandle, RShiftU64 ((UINT64)Struct->Type38->BaseAddress, 1));\r
+ } else {\r
+ PRINT_STRUCT_VALUE_LH (Struct, Type38, BaseAddress);\r
+ }\r
+\r
break;\r
\r
//\r
#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CONFIG_PLAT_SW #language en-US "Family configurable via platform software support\r\n"\r
#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CONFIG_OEM #language en-US "Family configurable via OEM proprietary mechanism\r\n"\r
#string STR_SMBIOSVIEW_PRINTINFO_BITS_06_63 #language en-US "Bits 6:63 are reserved\r\n"\r
+#string STR_SMBIOSVIEW_PRINTINFO_IPMI_SPECIFICATION_REVISION #language en-US "IPMISpecificationRevision: %d.%d\n"\r
+#string STR_SMBIOSVIEW_PRINTINFO_NV_STORAGE_DEVICE_NOT_PRESENT #language en-US "NVStorageDevice: Not Present\n"\r
+#string STR_SMBIOSVIEW_PRINTINFO_BASE_ADDRESS #language en-US "BaseAddress: 0x%x\n"\r
\r