From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web10.35277.1681088757053819260 for ; Sun, 09 Apr 2023 18:05:57 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=fOq9rZ0d; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: zhichao.gao@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1681088757; x=1712624757; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=bYM/hzMPtPStowhwwLlR97Rtc+giKqm2t+iUgwnleXs=; b=fOq9rZ0dAiljURHavAx727hVq6V7/vy0kUyaMF+s0dizUtRSO4UpUlxt ExFiBQk011Slhl3WCU37xb+yycV26AxJ8/5+VEkH5qz5OCpMJNMmJRBkp /OCO7lj8E6UQD08yjgsKV5sjVfwdBrqEVQBmzz5jCU/t4EPEAQQF1F6TL BBbU+5g8MtLvWMFul/Dpiu8zPn+IXNBEAX7WbsaQIqHCQs9n8BUfdjcif VYwLIkliSXN75et4Oz1TLfy9OpdJDvsp7klY8RytO4TYjKequM7qWdrqT PdjKI9QMQintkqjS5mM9I1pEaiCMzMKHKOc7fpPJEcsJyZED5TkMBqcB9 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10675"; a="408400084" X-IronPort-AV: E=Sophos;i="5.98,332,1673942400"; d="scan'208";a="408400084" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Apr 2023 18:05:56 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10675"; a="1017829936" X-IronPort-AV: E=Sophos;i="5.98,332,1673942400"; d="scan'208";a="1017829936" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga005.fm.intel.com with ESMTP; 09 Apr 2023 18:05:56 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Sun, 9 Apr 2023 18:05:55 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Sun, 9 Apr 2023 18:05:55 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Sun, 9 Apr 2023 18:05:55 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.44) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.21; Sun, 9 Apr 2023 18:05:54 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Vd15ranEG5qb9hmXJNPJYIG2v70VW1qA15PHjtQgVd80jYRp4Rw+SbylYzX8pinPLKarQdMBiWZZx5eZaUEihD2QDChONj/H/GHgtIxSevndwWz9n/mlblUPofUoG9IwGGToGT/H7w9j5g+BTKYZrFYPaJq9lfh0QSSSrcJAjwBS7Rj2nc07Y9RK2Htw0iPVAyvlRL71BVoSJgO3Y7aYyTCYP8652dhRyoa/IYLHD46z/K7+EEIYnwAtz0awA/7zwfaK6605qUEKL6WQXgpe11vZtthGwX0e51b6AYYMa5z67v91ac4XCHaGvKQwhuaMY5n0w8GMSpmbQCpFvzFjbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=tR5kwfG8No77q6zFEtFI4QgwJnnfVAPA8fMb5Yck8X4=; b=iA2zos6XXHj9vVxvWdtKQND+SfXlqF1zSR6Hmis6ZJMMHUtWKZot5c/Qnh3P38Kn3pz0ypgA/eiMYcdieYUgI50rfs/rMnha74tGHvJR/xcE8qR/fa/WtbYsF9oGB8DZjiPHZntco4UKiJF58936L+j2xdcPc+yOCqoEbfwphcBbh+wO10kvXyBYWULlqx6ZcTS5ALnW79H3wcK1oBl+RBJ9eHzxVL6tXkUv32Vffw3g9U76XRC3c8VKDznRxwSbeXNh6OpXlhhg1iavCEovb9ZxoxXfFRrp0L4Al7Bggj42gNGCsrxwszG7a/9D4XOFQA3MpWuFXcuDX8glWtfUlQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from PH7PR11MB6377.namprd11.prod.outlook.com (2603:10b6:510:1fb::13) by SN7PR11MB8027.namprd11.prod.outlook.com (2603:10b6:806:2de::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Mon, 10 Apr 2023 01:05:52 +0000 Received: from PH7PR11MB6377.namprd11.prod.outlook.com ([fe80::55a1:169b:b642:6dea]) by PH7PR11MB6377.namprd11.prod.outlook.com ([fe80::55a1:169b:b642:6dea%8]) with mapi id 15.20.6277.031; Mon, 10 Apr 2023 01:05:52 +0000 From: "Gao, Zhichao" To: "Lin, MillerX" , "devel@edk2.groups.io" CC: "Ni, Ray" Subject: Re: [PATCH] ShellPkg: Update smbiosview type 0/4/17/41 with SMBIOS 3.5 fields v2 Thread-Topic: [PATCH] ShellPkg: Update smbiosview type 0/4/17/41 with SMBIOS 3.5 fields v2 Thread-Index: AQHZaT9RNmXlnaDhRUWQt98VL1wWTK8jvbSw Date: Mon, 10 Apr 2023 01:05:52 +0000 Message-ID: References: <20230407105352.3027-1-millerx.lin@intel.com> In-Reply-To: <20230407105352.3027-1-millerx.lin@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH7PR11MB6377:EE_|SN7PR11MB8027:EE_ x-ms-office365-filtering-correlation-id: fbfbd18e-ef23-4093-3b68-08db395fbad9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3CnlTMWvb1cwqWy3KbGMtYJu4rfcvB0EmKasTbcU3Mnn+K5gguiDNQc0eFMMAgdD4EUKBo1vFbDdll228311joPLNGYeYUWJKsPFtWj19yEiGCpLMuWd+MvVV+G8RdY1w221YCY4FwYKrVsUcsAHbPwqM8mosxZ2gOaEbQnbpKyUW7Jax4zX0X3gM4Ay7sg3Muj7DL72Tup/ZRiAIdwU93awJTYQjgJ/2ITZJaH01+QsVLeNoheG8iNmMad4qpdbzgE7nvcf38M5oxZk9MC/TpCmct/lB8l9whmMF25DNymk8r3P8w7zyaUOv2bpcEvKjXNhVJCI2wSICz+H8qFu0z8nI9A16QbCoZGytNeJRyZ7JWsJkosmjQ2y4wQnMtOhIOceZJyfkZ7lug4sO6HMTzIKke+E+jFY9XM4LdToss1BA98/6VmaYh6N5GwMhXWSbBCojBLHSnQGymsEozRyFmrikdAWcTowYhFI1DckpZUtE8Y+raDoNSztB824xRt+5BsbPBb2Iq79LiaEXPadFjOY0R1RJXegACD++WU362YAhBcjquhNvqUaeX1xKR1cG5JphKDoWRg7PZrKm2osWzLBukBLrYyjtHHPztLbcPIaxCMPx9CUw+8pzo8GZEcbVVSksNBXH8MVuORJs9LM4Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR11MB6377.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(366004)(39860400002)(376002)(396003)(451199021)(86362001)(33656002)(110136005)(316002)(19627235002)(41300700001)(76116006)(66946007)(66556008)(66476007)(66446008)(64756008)(8676002)(4326008)(7696005)(478600001)(71200400001)(55016003)(5660300002)(52536014)(8936002)(2906002)(30864003)(15650500001)(38070700005)(82960400001)(38100700002)(122000001)(186003)(53546011)(107886003)(9686003)(6506007)(26005)(83380400001)(559001)(579004)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?yokPFykxS9XcGqFt1mrnfu8kp/zpbXKvLAuulza19eoOb0Z839aryDLuv0b6?= =?us-ascii?Q?GLDm/ndpiavD+vH06noBqTApOtz4Hnb02+zYQM1eocuA1utC2/cfLwR+DJiE?= =?us-ascii?Q?1Gx9aNqnfx+IUxX780ccnqvk4P8dZQvgyXprILzI75uWizWLTr08lz8UBzN2?= =?us-ascii?Q?Tr+/nmrr4TSp2uq6LBufaCbSqLl0gZknxjwb2rrqUVvyO7oyZ2rSPnIzBBzn?= =?us-ascii?Q?h4pr12Jdi6RPwUstbExwb2WLZVCr9BBImjuJbN34WDsCgBiT4kk1HcDV5+uj?= =?us-ascii?Q?HylTTk3q8C9kZTkxAOSQQ+8tav7ulPdV5+s9Nj9FNfZik7bk3j6vkPcfn6Mq?= =?us-ascii?Q?WYWF2nsH7L9UY+YMxIpNyjVveWfA8a1dxfJlMNil737rSoyRZ8q244XI5mfE?= =?us-ascii?Q?0oy7WopP3XObW2XJL3FBfWMSYexLydEu4JcQQUPyEfwS5oHJInpIFs5f7wE9?= =?us-ascii?Q?5RErFjOCgRp7j2fQ5TsH2GQi6sPKtNSuCcOzmIqPaxxR3gpGinEqrY1VGDdQ?= =?us-ascii?Q?ON9wFW6QhEmiy95S+A3f+aP7Q2GpHT0fTPpLp5Hfi4skUoEfG/HBrUhwfmMP?= =?us-ascii?Q?dQRMSI1rZ9/pUn+Ca64LZFGL6tJP3L/mScoJsISkoSTyCY6BXn4PLXiYukfR?= =?us-ascii?Q?9wBkpbxyuzgq2tD0XY7On39FG8yqUKcQ4SfPnAgj8kCw3K9hq2QSe8h7tTxX?= =?us-ascii?Q?cDvJq1WtglwkcAIVP1MVxZ0CLkzyIHzs4ts5KG5SjED3+DMILh8HUwU9dNFJ?= =?us-ascii?Q?8AISWnQKPOM4umRRaql1hqQD0MJlmY58AWdSM6EPYxm1uidy7kzJf2dVsKkC?= =?us-ascii?Q?DNh8x3oIS+rtKVknv/uG51COeO/PXuCeOouOtDrU5dW3kAwWHNk0Jcb/Ultq?= =?us-ascii?Q?5s7gTG4NndsGbdel0Ia1nG+UVhSCWTkBEFLJt/8TqD1MMu1k8st4jKSyHCAC?= =?us-ascii?Q?sWBXSWTqjiUnz4/UckeTwR6++9PGjN5SjFHMQomfbOTLRcidwccB43LAQoj6?= =?us-ascii?Q?sCwKOSF6RkssANachcLdPyzErVhksgX3WiFSEunX1OuriTkDHDTfcRIlAZck?= =?us-ascii?Q?5+Mp1A3I1XAmPuxSRfT7jDKccjd1C4njl/kasVH3MyzLkUpMiFUyEiiK8ieM?= =?us-ascii?Q?AwnzQ3pnccSZxVm031yfat0xt4OlmwN6xxajSl9FJv64spZeRQOtmGD5pgMY?= =?us-ascii?Q?EmTlVzdFHS6rArdN8E/6iciOLHvkVOHHCf8ZZxtnMj2cRPB55BG30zfQiL8D?= =?us-ascii?Q?jZ3qvGJD79dPYtm5JG6zzzVWFdeEL6WhZPL+Tci1DrWIsxZU7CND3/SH8cGz?= =?us-ascii?Q?DP3CGAipybaOtkkOhiwMlGGsoRwGGZ5Jk5GLx7BWVKZ346GUnAtw9xO8Jnyz?= =?us-ascii?Q?/8tXBUNQmx1ipAmdfYCmnxJXPrMuMRq8RGGKwoecTHOu+EYpXxeU/QVUU4v6?= =?us-ascii?Q?s1n7zKTnTBKHl6scTK6JTr0e5TowKHPIa/dWgFU/FuWdIPQcjqKa5eZyVhNh?= =?us-ascii?Q?mR4zn0cQEQOtV1RK8sDy5BPbVIdrApZSaV6PN6BNmBozApnXJTyqOcmhJQTf?= =?us-ascii?Q?fnaP+jS3eWl0eW4KqYUqsYCVfV4c63iMoWyYZTuK?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH7PR11MB6377.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fbfbd18e-ef23-4093-3b68-08db395fbad9 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Apr 2023 01:05:52.2202 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ZWKlLNhBi4IlzePr0W/9TeGQzAgoZj8VIwbeVWAOagddTc61deOS/cfY7HREMoL17JF2A2NSfF/m2Z59zYPQ1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB8027 Return-Path: zhichao.gao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable > -----Original Message----- > From: Lin, MillerX > Sent: Friday, April 7, 2023 6:54 PM > To: devel@edk2.groups.io > Cc: Lin, MillerX ; Ni, Ray ; Gao= , > Zhichao > Subject: [PATCH] ShellPkg: Update smbiosview type 0/4/17/41 with SMBIOS > 3.5 fields v2 >=20 > Cc: Signed-off-by: MillerX Lin > Cc: Ray Ni > Cc: Zhichao Gao > --- > .../SmbiosView/PrintInfo.c | 153 +++++++++--------- > .../SmbiosView/SmbiosViewStrings.uni | 28 ++-- > 2 files changed, 90 insertions(+), 91 deletions(-) >=20 > diff --git > a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c > b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c > index 2611601230..6426a11691 100644 > --- > a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c > +++ > b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c > @@ -335,10 +335,10 @@ SmbiosPrintStructure ( > // BIOS Information (Type 0) > // > case 0: > - PRINT_PENDING_STRING (Struct, Type0, Vendor); > - PRINT_PENDING_STRING (Struct, Type0, BiosVersion); > - PRINT_STRUCT_VALUE_H (Struct, Type0, BiosSegment); > - PRINT_PENDING_STRING (Struct, Type0, BiosReleaseDate); > + ShellPrintEx (-1, -1, L"Vendor: %a\n", LibGetSmbiosString (Struct,= Struct- > >Type0->Vendor)); > + ShellPrintEx (-1, -1, L"BIOS Version: %a\n", LibGetSmbiosString (S= truct, > Struct->Type0->BiosVersion)); > + ShellPrintEx (-1, -1, L"BIOS Starting Address Segment: 0x%x\n", St= ruct- > >Type0->BiosSegment); > + ShellPrintEx (-1, -1, L"BIOS Release Date: %a\n", > + LibGetSmbiosString (Struct, Struct->Type0->BiosReleaseDate)); > ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > (STR_SMBIOSVIEW_PRINTINFO_BIOS_SIZE), gShellDebug1HiiHandle, 64 * > (Struct->Type0->BiosSize + 1)); >=20 > DisplayBiosCharacteristics (ReadUnaligned64 ((UINT64 > *)(UINTN)&(Struct->Type0->BiosCharacteristics)), Option); @@ -352,10 > +352,10 @@ SmbiosPrintStructure ( > } >=20 > if (AE_SMBIOS_VERSION (0x2, 0x4) && (Struct->Hdr->Length > 0x14)) = { > - PRINT_STRUCT_VALUE (Struct, Type0, SystemBiosMajorRelease); > - PRINT_STRUCT_VALUE (Struct, Type0, SystemBiosMinorRelease); > - PRINT_STRUCT_VALUE (Struct, Type0, > EmbeddedControllerFirmwareMajorRelease); > - PRINT_STRUCT_VALUE (Struct, Type0, > EmbeddedControllerFirmwareMinorRelease); > + ShellPrintEx (-1, -1, L"System BIOS Major Release: %u\n", Struct= - > >Type0->SystemBiosMajorRelease); > + ShellPrintEx (-1, -1, L"System BIOS Minor Release: %u\n", Struct= - > >Type0->SystemBiosMinorRelease); > + ShellPrintEx (-1, -1, L"Embedded Controller Firmware Major > Release: %u\n", Struct->Type0- > >EmbeddedControllerFirmwareMajorRelease); > + ShellPrintEx (-1, -1, L"Embedded Controller Firmware Minor > + Release: %u\n", > + Struct->Type0->EmbeddedControllerFirmwareMinorRelease); > } >=20 > if (AE_SMBIOS_VERSION (0x3, 0x1) && (Struct->Hdr->Length > 0x18)) > { @@ -470,48 +470,50 @@ SmbiosPrintStructure ( > // Processor Information (Type 4) > // > case 4: > - PRINT_SMBIOS_STRING (Struct, Struct->Type4->Socket, > SocketDesignation) > + ShellPrintEx (-1, -1, L"Socket Designation: %a\n", > + LibGetSmbiosString (Struct, Struct->Type4->Socket)); > DisplayProcessorType (Struct->Type4->ProcessorType, Option); > - if (AE_SMBIOS_VERSION (0x2, 0x6) && (Struct->Hdr->Length > 0x28) &= & > - (Struct->Type4->ProcessorFamily =3D=3D 0xFE)) > - { > - // > - // Get family from ProcessorFamily2 field > - // > - DisplayProcessorFamily2 (Struct->Type4->ProcessorFamily2, Option= ); > - } else { > - DisplayProcessorFamily (Struct->Type4->ProcessorFamily, Option); > - } > - > - PRINT_PENDING_STRING (Struct, Type4, ProcessorManufacturer); > - PRINT_BIT_FIELD (Struct, Type4, ProcessorId, 8); > - PRINT_PENDING_STRING (Struct, Type4, ProcessorVersion); > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY), > gShellDebug1HiiHandle); > + DisplayProcessorFamily (Struct->Type4->ProcessorFamily, Option); > + ShellPrintEx (-1, -1, L"Processor Manufacturer: %a\n", > LibGetSmbiosString (Struct, Struct->Type4->ProcessorManufacturer)); > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_ID), gShellDebug1HiiHandle, 8); > + DumpHex (0, 0, 8, &(Struct->Type4->ProcessorId)); > + ShellPrintEx (-1, -1, L"Processor Version: %a\n", > + LibGetSmbiosString (Struct, Struct->Type4->ProcessorVersion)); > DisplayProcessorVoltage (*(UINT8 *)&(Struct->Type4->Voltage), Opti= on); > - PRINT_STRUCT_VALUE (Struct, Type4, ExternalClock); > - PRINT_STRUCT_VALUE (Struct, Type4, MaxSpeed); > - PRINT_STRUCT_VALUE (Struct, Type4, CurrentSpeed); > + ShellPrintEx (-1, -1, L"External Clock: %u\n", Struct->Type4- > >ExternalClock); > + ShellPrintEx (-1, -1, L"Max Speed: %u\n", Struct->Type4->MaxSpeed)= ; > + ShellPrintEx (-1, -1, L"Current Speed: %u\n", > + Struct->Type4->CurrentSpeed); > DisplayProcessorStatus (Struct->Type4->Status, Option); > DisplayProcessorUpgrade (Struct->Type4->ProcessorUpgrade, Option); > - PRINT_STRUCT_VALUE_H (Struct, Type4, L1CacheHandle); > - PRINT_STRUCT_VALUE_H (Struct, Type4, L2CacheHandle); > - PRINT_STRUCT_VALUE_H (Struct, Type4, L3CacheHandle); > + ShellPrintEx (-1, -1, L"L1 Cache Handle: 0x%x\n", Struct->Type4- > >L1CacheHandle); > + ShellPrintEx (-1, -1, L"L2 Cache Handle: 0x%x\n", Struct->Type4- > >L2CacheHandle); > + ShellPrintEx (-1, -1, L"L3 Cache Handle: 0x%x\n", > + Struct->Type4->L3CacheHandle); > if (AE_SMBIOS_VERSION (0x2, 0x3) && (Struct->Hdr->Length > 0x20)) = { > - PRINT_PENDING_STRING (Struct, Type4, SerialNumber); > - PRINT_PENDING_STRING (Struct, Type4, AssetTag); > - PRINT_PENDING_STRING (Struct, Type4, PartNumber); > + ShellPrintEx (-1, -1, L"Serial Number: %a\n", LibGetSmbiosString= (Struct, > Struct->Type4->SerialNumber)); > + ShellPrintEx (-1, -1, L"Asset Tag: %a\n", LibGetSmbiosString (St= ruct, > Struct->Type4->AssetTag)); > + ShellPrintEx (-1, -1, L"Part Number: %a\n", LibGetSmbiosString > + (Struct, Struct->Type4->PartNumber)); > } >=20 > if (AE_SMBIOS_VERSION (0x2, 0x5) && (Struct->Hdr->Length > 0x23)) = { > - PRINT_STRUCT_VALUE (Struct, Type4, CoreCount); > - PRINT_STRUCT_VALUE (Struct, Type4, EnabledCoreCount); > - PRINT_STRUCT_VALUE (Struct, Type4, ThreadCount); > + ShellPrintEx (-1, -1, L"Core Count: %u\n", Struct->Type4->CoreCo= unt); > + ShellPrintEx (-1, -1, L"Core Enabled: %u\n", Struct->Type4- > >EnabledCoreCount); > + ShellPrintEx (-1, -1, L"Thread Count: %u\n", > + Struct->Type4->ThreadCount); > DisplayProcessorCharacteristics (Struct->Type4- > >ProcessorCharacteristics, Option); > } >=20 > + if (AE_SMBIOS_VERSION (0x2, 0x6) && (Struct->Hdr->Length > 0x28) &= & > + (Struct->Type4->ProcessorFamily2 >=3D 0x100)) > + { > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY2), > gShellDebug1HiiHandle); > + DisplayProcessorFamily2 (Struct->Type4->ProcessorFamily2, Option= ); > + } else { > + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY2), > gShellDebug1HiiHandle); > + DisplayProcessorFamily ((UINT8) Struct->Type4->ProcessorFamily2, > Option); > + } Please put the family2 check inside the if case. The code as above would ca= use out of scope issue. Thanks, Zhichao > + > if ((SmbiosMajorVersion >=3D 0x3) && (Struct->Hdr->Length > 0x2A))= { > - PRINT_STRUCT_VALUE (Struct, Type4, CoreCount2); > - PRINT_STRUCT_VALUE (Struct, Type4, EnabledCoreCount2); > - PRINT_STRUCT_VALUE (Struct, Type4, ThreadCount2); > + ShellPrintEx (-1, -1, L"Core Count 2: %u\n", Struct->Type4- > >CoreCount2); > + ShellPrintEx (-1, -1, L"Core Enabled 2: %u\n", Struct->Type4- > >EnabledCoreCount2); > + ShellPrintEx (-1, -1, L"Thread Count 2: %u\n", > + Struct->Type4->ThreadCount2); > } >=20 > break; > @@ -829,68 +831,68 @@ SmbiosPrintStructure ( > // Memory Device (Type 17) > // > case 17: > - PRINT_STRUCT_VALUE_H (Struct, Type17, MemoryArrayHandle); > - PRINT_STRUCT_VALUE_H (Struct, Type17, > MemoryErrorInformationHandle); > - PRINT_STRUCT_VALUE_H (Struct, Type17, TotalWidth); > - PRINT_STRUCT_VALUE_H (Struct, Type17, DataWidth); > + ShellPrintEx (-1, -1, L"Physical Memory Array Handle: 0x%x\n", Str= uct- > >Type17->MemoryArrayHandle); > + ShellPrintEx (-1, -1, L"Memory Error Information Handle: 0x%x\n", > Struct->Type17->MemoryErrorInformationHandle); > + ShellPrintEx (-1, -1, L"Total Width: 0x%x\n", Struct->Type17->Tota= lWidth); > + ShellPrintEx (-1, -1, L"Data Width: 0x%x\n", > + Struct->Type17->DataWidth); > PRINT_STRUCT_VALUE (Struct, Type17, Size); > DisplayMemoryDeviceFormFactor (Struct->Type17->FormFactor, Option)= ; > - PRINT_STRUCT_VALUE_H (Struct, Type17, DeviceSet); > - PRINT_PENDING_STRING (Struct, Type17, DeviceLocator); > - PRINT_PENDING_STRING (Struct, Type17, BankLocator); > + ShellPrintEx (-1, -1, L"Device Set: 0x%x\n", Struct->Type17->Devic= eSet); > + ShellPrintEx (-1, -1, L"Device Locator: %a\n", LibGetSmbiosString(= Struct, > Struct->Type17->DeviceLocator)); > + ShellPrintEx (-1, -1, L"Bank Locator: %a\n", > + LibGetSmbiosString(Struct, Struct->Type17->BankLocator)); > DisplayMemoryDeviceType (Struct->Type17->MemoryType, Option); > DisplayMemoryDeviceTypeDetail (ReadUnaligned16 ((UINT16 > *)(UINTN)&(Struct->Type17->TypeDetail)), Option); > PRINT_STRUCT_VALUE_H (Struct, Type17, Speed); > PRINT_PENDING_STRING (Struct, Type17, Manufacturer); > - PRINT_PENDING_STRING (Struct, Type17, SerialNumber); > - PRINT_PENDING_STRING (Struct, Type17, AssetTag); > - PRINT_PENDING_STRING (Struct, Type17, PartNumber); > + ShellPrintEx (-1, -1, L"Serial Number: %a\n", LibGetSmbiosString(S= truct, > Struct->Type17->SerialNumber)); > + ShellPrintEx (-1, -1, L"Asset Tag: %a\n", LibGetSmbiosString(Struc= t, > Struct->Type17->AssetTag)); > + ShellPrintEx (-1, -1, L"Part Number: %a\n", > + LibGetSmbiosString(Struct, Struct->Type17->PartNumber)); > if (AE_SMBIOS_VERSION (0x2, 0x6) && (Struct->Hdr->Length > 0x1B)) = { > PRINT_STRUCT_VALUE_H (Struct, Type17, Attributes); > } >=20 > if (AE_SMBIOS_VERSION (0x2, 0x7) && (Struct->Hdr->Length > 0x1C)) = { > - PRINT_STRUCT_VALUE (Struct, Type17, ExtendedSize); > - PRINT_STRUCT_VALUE_H (Struct, Type17, > ConfiguredMemoryClockSpeed); > + ShellPrintEx (-1, -1, L"Extended Size: %u\n", Struct->Type17- > >ExtendedSize); > + ShellPrintEx (-1, -1, L"Configured Memory Speed: 0x%x\n", > + Struct->Type17->ConfiguredMemoryClockSpeed); > } >=20 > if (AE_SMBIOS_VERSION (0x2, 0x8) && (Struct->Hdr->Length > 0x22)) = { > - PRINT_STRUCT_VALUE (Struct, Type17, MinimumVoltage); > - PRINT_STRUCT_VALUE (Struct, Type17, MaximumVoltage); > - PRINT_STRUCT_VALUE (Struct, Type17, ConfiguredVoltage); > + ShellPrintEx (-1, -1, L"Minimum voltage: %u\n", Struct->Type17- > >MinimumVoltage); > + ShellPrintEx (-1, -1, L"Maximum voltage: %u\n", Struct->Type17- > >MaximumVoltage); > + ShellPrintEx (-1, -1, L"Configured voltage: %u\n", > + Struct->Type17->ConfiguredVoltage); > } >=20 > if (AE_SMBIOS_VERSION (0x3, 0x2)) { > if (Struct->Hdr->Length > 0x28) { > DisplayMemoryDeviceMemoryTechnology (Struct->Type17- > >MemoryTechnology, Option); > DisplayMemoryDeviceMemoryOperatingModeCapability (Struct- > >Type17->MemoryOperatingModeCapability.Uint16, Option); > - PRINT_PENDING_STRING (Struct, Type17, FirmwareVersion); > - PRINT_STRUCT_VALUE_H (Struct, Type17, ModuleManufacturerID); > - PRINT_STRUCT_VALUE_H (Struct, Type17, ModuleProductID); > - PRINT_STRUCT_VALUE_H (Struct, Type17, > MemorySubsystemControllerManufacturerID); > - PRINT_STRUCT_VALUE_H (Struct, Type17, > MemorySubsystemControllerProductID); > + ShellPrintEx (-1, -1, L"Firmware Version: %a\n", > LibGetSmbiosString(Struct, Struct->Type17->FirmwareVersion)); > + ShellPrintEx (-1, -1, L"Module Manufacturer ID: 0x%x\n", Struc= t- > >Type17->ModuleManufacturerID); > + ShellPrintEx (-1, -1, L"Module Product ID: 0x%x\n", Struct->Ty= pe17- > >ModuleProductID); > + ShellPrintEx (-1, -1, L"Memory Subsystem Controller Manufactur= er ID: > 0x%x\n", Struct->Type17->MemorySubsystemControllerManufacturerID); > + ShellPrintEx (-1, -1, L"Memory Subsystem Controller Product > + ID: 0x%x\n", Struct->Type17->MemorySubsystemControllerProductID); > } >=20 > if (Struct->Hdr->Length > 0x34) { > - PRINT_STRUCT_VALUE_LH (Struct, Type17, NonVolatileSize); > + ShellPrintEx (-1, -1, L"Non-volatile Size: 0x%lx\n", > + Struct->Type17->NonVolatileSize); > } >=20 > if (Struct->Hdr->Length > 0x3C) { > - PRINT_STRUCT_VALUE_LH (Struct, Type17, VolatileSize); > + ShellPrintEx (-1, -1, L"Volatile Size: 0x%lx\n", > + Struct->Type17->VolatileSize); > } >=20 > if (Struct->Hdr->Length > 0x44) { > - PRINT_STRUCT_VALUE_LH (Struct, Type17, CacheSize); > + ShellPrintEx (-1, -1, L"Cache Size: 0x%lx\n", > + Struct->Type17->CacheSize); > } >=20 > if (Struct->Hdr->Length > 0x4C) { > - PRINT_STRUCT_VALUE_LH (Struct, Type17, LogicalSize); > + ShellPrintEx (-1, -1, L"Logical Size: 0x%lx\n", > + Struct->Type17->LogicalSize); > } > } >=20 > if (AE_SMBIOS_VERSION (0x3, 0x3) && (Struct->Hdr->Length > 0x54)) = { > - PRINT_STRUCT_VALUE_H (Struct, Type17, ExtendedSpeed); > - PRINT_STRUCT_VALUE_H (Struct, Type17, > ExtendedConfiguredMemorySpeed); > + ShellPrintEx (-1, -1, L"Extended Speed: 0x%x\n", Struct->Type17- > >ExtendedSpeed); > + ShellPrintEx (-1, -1, L"Extended Configured Memory Speed: > + 0x%x\n", Struct->Type17->ExtendedConfiguredMemorySpeed); > } >=20 > break; > @@ -1258,13 +1260,13 @@ SmbiosPrintStructure ( > // Onboard Devices Extended Information (Type 41) > // > case 41: > - PRINT_PENDING_STRING (Struct, Type41, ReferenceDesignation); > + ShellPrintEx (-1, -1, L"Reference Designation: %a\n", > + LibGetSmbiosString (Struct, Struct->Type41->ReferenceDesignation)); > ShellPrintEx (-1, -1, (((Struct->Type41->DeviceType) & 0x80) !=3D = 0) ? > L"Device Enabled\n" : L"Device Disabled\n"); > DisplayOnboardDeviceTypes ((Struct->Type41->DeviceType) & 0x7F, > Option); > - PRINT_STRUCT_VALUE_H (Struct, Type41, DeviceTypeInstance); > - PRINT_STRUCT_VALUE_H (Struct, Type41, SegmentGroupNum); > - PRINT_STRUCT_VALUE_H (Struct, Type41, BusNum); > - PRINT_STRUCT_VALUE_H (Struct, Type41, DevFuncNum); > + ShellPrintEx (-1, -1, L"Device Type Instance: 0x%x\n", Struct->Typ= e41- > >DeviceTypeInstance); > + ShellPrintEx (-1, -1, L"Segment Group Number: 0x%x\n", Struct- > >Type41->SegmentGroupNum); > + ShellPrintEx (-1, -1, L"Bus Number: 0x%x\n", Struct->Type41->BusNu= m); > + ShellPrintEx (-1, -1, L"Device/Function Number: 0x%x\n", > + Struct->Type41->DevFuncNum); > break; >=20 > // > @@ -1606,10 +1608,6 @@ DisplayProcessorFamily ( > UINT8 Option > ) > { > - // > - // Print prompt message > - // > - ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY), > gShellDebug1HiiHandle); > // > // Print option > // > @@ -2411,6 +2409,10 @@ DisplayProcessorFamily ( > Print (L"i960\n"); > break; >=20 > + case 0xFE: > + Print (L"Indicator to obtain the processor family from the Process= or > Family 2 field\n"); > + break; > + > default: > ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > (STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_PROC_FAMILY), > gShellDebug1HiiHandle); > } > @@ -2432,11 +2434,6 @@ DisplayProcessorFamily2 ( > IN UINT8 Option > ) > { > - // > - // Print prompt message > - // > - ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY), > gShellDebug1HiiHandle); > - > // > // Print option > // > diff --git > a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosView > Strings.uni > b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosView > Strings.uni > index 05f7a61d9d..73f7b2ab19 100644 > --- > a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosView > Strings.uni > +++ > b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosView > S > +++ trings.uni > @@ -88,8 +88,8 @@ > #string STR_SMBIOSVIEW_PRINTINFO_FORMATTED_AREA > #language en-US "Formatted Area: \r\n" > #string STR_SMBIOSVIEW_PRINTINFO_INTER_ACHOR #languag= e > en-US "Inter Anchor: %a\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_INTER_CHECKSUM > #language en-US "Inter Checksum: 0x%x\r\n" > -#string STR_SMBIOSVIEW_PRINTINFO_FORMAT_PART_LEN > #language en-US "Format part Len : %d\r\n" > -#string STR_SMBIOSVIEW_PRINTINFO_STRUCT_HANDLE #languag= e > en-US "Structure Handle: %d\r\n" > +#string STR_SMBIOSVIEW_PRINTINFO_FORMAT_PART_LEN > #language en-US "Length: %d\r\n" > +#string STR_SMBIOSVIEW_PRINTINFO_STRUCT_HANDLE > #language en-US "Handle: %d\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_BOOTUP_STATE #languag= e > en-US "Bootup state " > #string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_STATE > #language en-US "Power Supply State " > #string STR_SMBIOSVIEW_PRINTINFO_THERMAL_STATE #languag= e > en-US "Thermal state " > @@ -168,6 +168,8 @@ > #string STR_SMBIOSVIEW_PRINTINFO_MCFG_ENABLED #languag= e > en-US "Manufacturing mode is enabled\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_BITS_RSVD_FOR_FUTURE > #language en-US " Bits %d:7 are reserved for future assignment\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY > #language en-US "Processor Family: " > +#string STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_ID #languag= e > en-US "Processor ID\r\nsize=3D%d:\r\n" > +#string STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY2 > #language en-US "Processor Family 2: " > #string STR_SMBIOSVIEW_PRINTINFO_OTHER #languag= e en-US > "Other\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_UNKNOWN #languag= e > en-US "Unknown\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_INTEL386_PROCESSOR > #language en-US "Intel386(TM) Processor\r\n" > @@ -255,7 +257,7 @@ > #string STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_K5 > #language en-US "Reserved for specific K5 versions\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_PENTIUM > #language en-US "Reserved for specific Pentium(R) Processor versions\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_PROC_FAMILY > #language en-US "Undefined processor family and type\r\n" > -#string STR_SMBIOSVIEW_PRINTINFO_PROC_INFO #languag= e > en-US "Processor Information - Voltage:\r\n" > +#string STR_SMBIOSVIEW_PRINTINFO_PROC_INFO #languag= e > en-US "Voltage:\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_PROC_CURRENT_VOLTAGE > #language en-US "Processor current voltage =3D (%d/10)V\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_5V_SUPOPRTED #languag= e > en-US " 5V is supported\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_33V_SUPPORTED #languag= e > en-US " 3.3V is supported\r\n" > @@ -271,7 +273,7 @@ > #string STR_SMBIOSVIEW_PRINTINFO_BIT13_NOT_ZERO #languag= e > en-US "Error, reserved BIT 13 must be zero\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_BIT14_NOT_ZERO #languag= e > en-US "Error, reserved BIT 14 must be zero\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_BIT15_NOT_ZERO #languag= e > en-US "Error, reserved BIT 15 must be zero\r\n" > -#string STR_SMBIOSVIEW_PRINTINFO_PROC_STATUS #languag= e > en-US "Processor Status:\r\n" > +#string STR_SMBIOSVIEW_PRINTINFO_PROC_STATUS #languag= e > en-US "Status:\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_CPU_SOCKET_POPULATED > #language en-US "CPU Socket Populated\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_CPU_SOCKET_UNPOPULATED > #language en-US "CPU Socket Unpopulated\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_CPU_ENABLED #languag= e > en-US "CPU Enabled\r\n" > @@ -382,8 +384,8 @@ > #string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_NOT_PRESENT > #language en-US "Power supply is not present\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_REPLACE > #language en-US "Power supply is hot replaceable\r\n" > #string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_NOT_REPLACE > #language en-US "Power supply is not hot replaceable\r\n" > -#string STR_SMBIOSVIEW_PRINTINFO_BIOS_SIZE #languag= e en- > US "BiosSize: %d KB\r\n" > -#string STR_SMBIOSVIEW_PRINTINFO_EXTENDED_BIOS_SIZE > #language en-US "ExtendedBiosSize: %d %s\r\n" > +#string STR_SMBIOSVIEW_PRINTINFO_BIOS_SIZE #languag= e en- > US "BIOS ROM Size: %d KB\r\n" > +#string STR_SMBIOSVIEW_PRINTINFO_EXTENDED_BIOS_SIZE > #language en-US "Extended BIOS ROM Size: %d %s\r\n" > #string STR_SMBIOSVIEW_QUERYTABLE_NO_INFO #languag= e en- > US "No Info" > #string STR_SMBIOSVIEW_QUERYTABLE_RSVD_BITS_SET #languag= e > en-US "\r\nIt also has reserved bits set 1 --- reserved bits: 0x%x" > #string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_WAKEUP_TYPE > #language en-US "System Wakeup Type:" > @@ -419,7 +421,7 @@ > #string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_HEIGHT > #language en-US "System Slot Height: " > #string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_PHYSICAL_WIDTH > #language en-US "System Slot Physical Width: " > #string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_PITCH > #language en-US "System Slot Pitch: %d\r\n" > -#string STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE > #language en-US "Onboard Device Type: " > +#string STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE > #language en-US "Device Type: " > #string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE > #language en-US "System Event Log Type: " > #string STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT > #language en-US "Event Log Variable Data Format Types: " > #string STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_BITMAP > #language en-US "POST Results Bitmap - First DWORD:\r\n" > @@ -431,11 +433,11 @@ > #string STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION > #language en-US "Physical Memory Array Location: " > #string STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_USE > #language en-US "Physical Memory Array Use: " > #string STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_ERROR > #language en-US "Physical Memory Array Error Correction Types: " > -#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR > #language en-US "Memory Device - Form Factor: " > -#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE > #language en-US "Memory Device - Type: " > -#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL > #language en-US "Memory Device - Type Detail: " > -#string > STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEMORY_TECHNOLOGY > #language en-US "Memory Device - Memory Technology: " > -#string > STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA > #language en-US "Memory Device - Memory Operating Mode Capability: " > +#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR > #language en-US "Form Factor: " > +#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE > #language en-US "Memory Type: " > +#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL > #language en-US "Type Detail: " > +#string > STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEMORY_TECHNOLOGY > #language en-US "Memory Technology: " > +#string > STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA > #language en-US "Memory Operating Mode Capability: " > #string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO > #language en-US "32-bit Memory Error Information - Type: " > #string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY > #language en-US "Memory Error - Error granularity: " > #string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP > #language en-US "Memory Error - Error Operation: " > @@ -454,7 +456,7 @@ > #string STR_SMBIOSVIEW_QUERYTABLE_MEM_CHANNEL_TYPE > #language en-US "Memory Channel Type:" > #string STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE > #language en-US "BMC Interface Type:" > #string STR_SMBIOSVIEW_QUERYTABLE_MC_HOST_INTERFACE_TYPE > #language en-US "MC Host Interface Type:" > -#string STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE #languag= e > en-US "Structure Type:" > +#string STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE #languag= e > en-US "Type:" > #string STR_SMBIOSVIEW_QUERYTABLE_PROCESSOR_ARCH_TYPE > #language en-US "Processor Architecture Type:" > #string STR_SMBIOSVIEW_SMBIOSVIEW_ONE_VAR_ARGV > #language en-US "%s " > #string STR_SMBIOSVIEW_SMBIOSVIEW_QUERY_STRUCT_COND > #language en-US "Query Structure, conditions are:\r\n" > -- > 2.39.1.windows.1