[edk2-devel] [PATCH] ShellPkg:Improved Smbios Type 9 table changes in PrintInfo.c

Sainadh Nagolu via groups.io sainadhn=ami.com at groups.io
Tue Aug 9 10:51:50 UTC 2022


Since PeerGroups has a variable number of entries, new fields added after PeerGroups are defined in a extended structure. Done changes in PrintInfo.c to access those fields using SMBIOS_TABLE_TYPE9_EXTENDED structure from SmBios.h.

Signed-off-by: Sainadh Nagolu <sainadhn at ami.com>

CC: Vasudevan Sambandan <vasudevans at ami.com>
CC: Sundaresan S <sundaresans at ami.com>

---
 .../SmbiosView/PrintInfo.c                        | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
index a0ee286c9a..e1acb1e288 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
@@ -2,6 +2,7 @@
   Module for clarifying the content of the smbios structure element information.



   Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>

+  Copyright (c) 1985 - 2022, American Megatrends International LLC.<BR>

   (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>

   (C) Copyright 2015-2019 Hewlett Packard Enterprise Development LP<BR>

   SPDX-License-Identifier: BSD-2-Clause-Patent

@@ -597,8 +598,9 @@ SmbiosPrintStructure (
     //

     case 9:

     {

-      MISC_SLOT_PEER_GROUP  *PeerGroupPtr;

-      UINT8                 PeerGroupCount;

+      MISC_SLOT_PEER_GROUP         *PeerGroupPtr;

+         SMBIOS_TABLE_TYPE9_EXTENDED  *Type9ExtendedStruct;

+      UINT8                        PeerGroupCount;



       PRINT_PENDING_STRING (Struct, Type9, SlotDesignation);

       DisplaySystemSlotType (Struct->Type9->SlotType, Option);

@@ -636,9 +638,12 @@ SmbiosPrintStructure (
             ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DATA_BUS_WIDTH), gShellDebug1HiiHandle, PeerGroupPtr[Index].DataBusWidth);

           }



-          DisplaySystemSlotHeight (Struct->Type9->SlotHeight, Option);

-          DisplaySystemSlotPhysicalWidth (Struct->Type9->SlotPhysicalWidth, Option);

-          DisplaySystemSlotInformation (Struct->Type9->SlotInformation, Option);

+          //Since PeerGroups has a variable number of entries, new fields added after PeerGroups are defined in

+          //a extended structure. Those fields can be referenced using SMBIOS_TABLE_TYPE9_EXTENDED structure.

+                 Type9ExtendedStruct = (SMBIOS_TABLE_TYPE9_EXTENDED*)((UINT8*)PeerGroupPtr + (PeerGroupCount * sizeof(MISC_SLOT_PEER_GROUP)));

+                 DisplaySystemSlotHeight (Type9ExtendedStruct->SlotHeight, Option);

+          DisplaySystemSlotPhysicalWidth (Type9ExtendedStruct->SlotPhysicalWidth, Option);

+          DisplaySystemSlotInformation (Type9ExtendedStruct->SlotInformation, Option);

         }

       }



--
2.36.0.windows.1
-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#92250): https://edk2.groups.io/g/devel/message/92250
Mute This Topic: https://groups.io/mt/92912129/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list