From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web10.7687.1678226948880959166 for ; Tue, 07 Mar 2023 14:09:09 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=kph8YyGf; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: isaac.w.oram@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678226948; x=1709762948; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=ZegD3mQtCaSSJ9XjvPsk3FSJtOv1Eisu7lpuQbVz1PM=; b=kph8YyGfgawMZE2ZDAZUuvvAjIOHvoLFdrwxluBV5QJFr0vu+w9MdhEI XMpzUgc9mxYcVESZFTgFHNbzmUK6zJmDXD67mEO8K0CjYal0m4ocQFvcG hJRpwDseY64Eu3lmnsrVDI4oPVSy9IzIqwas/UeBp9FgGa9Bw10nmmr1R OOYUGjS3siGsPb7IjLw0phbZJc8keOk1yOTRfM1dvtCBwF48UYacJ+2EI 2lW/eVxWo5gllyDaf49g0m/NCxXCAVwQg2FY1NXxB81FqiK92SlZt1hxx nvUSPVKPx5sNwoQCnBOeND25DH9E+Mq+fp89odNoPhLtlRSxdZckxLaYy w==; X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="422257449" X-IronPort-AV: E=Sophos;i="5.98,242,1673942400"; d="scan'208";a="422257449" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2023 14:09:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="819939811" X-IronPort-AV: E=Sophos;i="5.98,242,1673942400"; d="scan'208";a="819939811" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2023 14:09:08 -0800 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Tue, 7 Mar 2023 14:09:07 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Tue, 7 Mar 2023 14:09:07 -0800 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.21; Tue, 7 Mar 2023 14:09:07 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RXt2rFD51eNl7LtcYlb47p14UX2zWOmGZ6bMomhkY80xov8jqDQa7gk21gBwJeiJeJecSdLOR29DvQZGpiTGDMy0Tl2q1Lo91Br1iEoe2b8o2/F17s3DM5fMXUPpOVC6ffIFRhoB6ZfmUGijtgbprWMtwxVIJUyZF8uwNm7/o0lLBTQ2EjW/pw529yUvnjmuYXUPzRaEX6aLIN77ATh5XdQpBIrc6662C0WccZtIqH2kt9MU1YwkNuD8OjSH954luOD3RDqVfOptcNJHWZHNVpPmPmo9MUUSCKVVtylfQrXBhZaYoyGciQ0GVJO2AmHEAjnYiIEhFnrFFo0ILQazMw== 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=EKkA/uS08PklcCjkMGUZwCRXcGZ0pY6Sl7/zvK7i6wQ=; b=DVOM3RtCnZQceXf26fs3kgsZOk4UBqmBxObYaqnFJoMHfMiug7zFVec6XpA1tAnlw9so1OTYzG1fZF/uE68frGFl8OSznW56Ns9IMpI+Js0ySOR6Wix+y4rPBZjK/uWFqvZVnh+3NNoN9u32Br1Mh4ZSSny80v8TNdbY0bNd3U0vJRsVOJ4PNG1nRHHJHfFcD23UIKqetySSQ5kwxN3fyoAvKd8l396w27idFN/Swyz3+aWjhuJ+YPHGSm6/SMOuES1F9NO++d+zXy50GHkSmhOHVjzLmMcraIb9F/qdSLMLUAVVwYPjkIsoRYHkHIEqqdam4JiVuv9r+5J+31AFew== 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 SA1PR11MB5801.namprd11.prod.outlook.com (2603:10b6:806:23d::13) by CY8PR11MB7828.namprd11.prod.outlook.com (2603:10b6:930:78::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar 2023 22:09:03 +0000 Received: from SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::2319:e5ae:6470:462e]) by SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::2319:e5ae:6470:462e%3]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023 22:09:03 +0000 From: "Isaac Oram" To: Mike Maslenkin , "devel@edk2.groups.io" CC: "Desimone, Nathaniel L" , "Gao, Liming" Subject: Re: [PATCH edk2-platforms 1/3] IpmiFeaturePkg: fix IPMI GetSelfTest command response parsing Thread-Topic: [PATCH edk2-platforms 1/3] IpmiFeaturePkg: fix IPMI GetSelfTest command response parsing Thread-Index: AQHZSwOKsAak8RIJTEaVbiB6KT/cTa7v7Gwg Date: Tue, 7 Mar 2023 22:09:03 +0000 Message-ID: References: <20230227232757.9312-1-mike.maslenkin@gmail.com> <20230227232757.9312-2-mike.maslenkin@gmail.com> In-Reply-To: <20230227232757.9312-2-mike.maslenkin@gmail.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: SA1PR11MB5801:EE_|CY8PR11MB7828:EE_ x-ms-office365-filtering-correlation-id: 120869ba-0ea9-48aa-5861-08db1f589010 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Dz/rza5YW8Gfmc/jwQLqF2h6ro/FWRtj/5ke/p6655RSrC5qj0yeVAfBsabN3VnBRTB5RqcVNrmL/60BqfaLw3EOqXLaTuH/JcOm5Xv8ND3cg2d9w4UfmdeBzFoOJ/ZMZ8Hs/G+nFKr3nWAuH/ZDymxE2QdWKA/YiBIjZv4bhfP+0q0FBxcID7QswupLYBA00J1HLcUCPVm78wFUPOIe/LH3LgX92yA9rOnQyhx7F2sRbmugwOJ5mBNmgfjoh1EC6ZNlkvjZfqi4LgPuXbTDacTywLYBOOsMRPf4P5jqIdrItOobKJS2bXPfstgmgpgngeJG9/mzhl0CRO0ez2IEJSNXoFyGVNP66/utHSQEQ7a+4kn23hW7RTpwqsjHwWk5WZLOTPOnSs7d+ZGLOYHFvqf/9X/zNRQyCHs5YF80VNf9Co3zaV9FJ1xqGL5fWWVOQ+Pyq8bacZqN1BHQ15eSJngCUHEt3rsMCLu9LLUBQQ4C2ZRydmhcFTOwXDtDgZ1c0pzIJMvdi7YDlOzJ6dB3ohcJM2lm1qH53kARCTm0aNrd7aFw8xEOJyqejKeZfx4Wlsy7D28TO6ayfjOemAKuy+4gLFEaZAF33NSfvybvKGBFKpVWI/HiKUcw28u9A0Q/d/ecvuUfBhEbwVhsxvC3KJCzJ3d06SnIDY5DYO7LwzLiiiGdeXzC/R72mIKNzD/q3OmtAaI0vXhMXL1JPzPiyQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB5801.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(396003)(39860400002)(376002)(346002)(136003)(451199018)(316002)(54906003)(33656002)(110136005)(38100700002)(38070700005)(86362001)(6506007)(122000001)(82960400001)(53546011)(83380400001)(186003)(55016003)(26005)(71200400001)(9686003)(41300700001)(8936002)(52536014)(5660300002)(478600001)(4326008)(7696005)(8676002)(66446008)(2906002)(64756008)(76116006)(66946007)(66476007)(66556008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?qcqoYYKWAbqDmYxluxjV04idYFN8oIBi8B8a7lFQdNftT3VHUV04pvd0Fj6L?= =?us-ascii?Q?MRnQf+tK952BUQHx6hKc6RxIunGkyFuOH1CL6jP8ILReIq7SZYbNXG5wEte/?= =?us-ascii?Q?mTbxv/sVAPATFC9W+rplBRNW7kxZeKT8PBfVAa7p8jMDRVAjz81zkiniCWzK?= =?us-ascii?Q?rDX2SzTHlRr8rQNI1vLkiD9sUI7BBK6cvzJQvgGyIfjn9g9uZNe3fm4iCuPR?= =?us-ascii?Q?bRPbQDE6nzicdB7LZNpjqj/lq+m4lZFn8puAUlJsySKjPhN8D7ucuoLSMLHv?= =?us-ascii?Q?z3nCEj4FkcruR9xEAwwWx13znep7m8B+oljo1IzgT8AqvAiS/MdF4yP0VzIQ?= =?us-ascii?Q?rrAtkj3BSiEE1aqou1kaJK42TQowOpqznPJD0/o5tvBwXlSWuQcZJrhiJ151?= =?us-ascii?Q?Ft3hA0dpyREqf6tmntI9z6/hqyaZk4/DXkfHJZYi3zQMi9qHVsCjUepJNRIR?= =?us-ascii?Q?/5/was3Nzaj8j/czLzuuL5ewDVy5spuo0ZD/g1FRNSJzj0pnwR1szaTBjdAT?= =?us-ascii?Q?IJrTHZzgAUjcEMf/Ql+fGcoLHZ8hWGos+KDwKKWys5qGl4qJi5SP/TZk7ZQl?= =?us-ascii?Q?q63n36eXPCWMilCSQYvUdUx8gvaLtlKkrsd5gk5uT+5R3G6y4N6A9aAivI4z?= =?us-ascii?Q?pgTRk4Z23aSzQSyRnjgriYZ43lLl2bMWtoALySVZkevjbBcComEQxYxv/oFi?= =?us-ascii?Q?7GaygJjz2yI2KvSp3PBiAV0JSZOkBMP3mZtI8vpflSZKmOdgqIjq3U2kqLcj?= =?us-ascii?Q?L9vrtGxStswpAjb7nOAxmTXeIvfHs9mGOJsNCmUjCEZjff7EwlcO8YEbC+lk?= =?us-ascii?Q?6/GhTvn/ZjxIGvVr8SNOxjuXMhjN6bU5mapYpx0SsvWS9/G+3CZiCuvTAZP6?= =?us-ascii?Q?Ybu5ET5aUybaFK1ATSXNeOBKwHuS1dSMpvd4Z85ffWipKBCfMqyPhqXJVeqB?= =?us-ascii?Q?m4O9H/7foORbT5nLcz7w/VNDoCXDANIuLYDGj33mkpWpRdYju/KfSCF20ddj?= =?us-ascii?Q?ualsvlu+ieN5gfwqpK/xo87MSOdH/NNyaMcZDNfJTpaWDE/i6h1BkuRIbeY7?= =?us-ascii?Q?dP9Urw86M6Lesl9ku4y1rsAvLUFQ7d46jbc9vNbP/W55AUNcpj2hkhBt/rr8?= =?us-ascii?Q?NimHujdC6lJwiTJFqrhsADRMt/EumnOO6q1TXrq8nEEq3EEGKKXJI3eQzzLP?= =?us-ascii?Q?ZFEqnAj9UdJ8CjPSe9DABjmGGlIuD8BmW3WknA2JThQwxWTScInnh6VK7f7P?= =?us-ascii?Q?BOfHL/rpdgqs5MyoFoPguD2DlULgg3m1wEzUKBOzmimbIuRDLT1aJsqOXbXS?= =?us-ascii?Q?gpdjYGkijjwkB28n/4Ar1Uhf1Ij6ih+ozSDNt1oOgo9mfDXV6sHIxRPrCBYX?= =?us-ascii?Q?QBOkR9UW7rIZJ98NWh0UqowyUB2XG1hxhBZUtyyPQE9Ep6jvGJcJksG4Zgjf?= =?us-ascii?Q?udXGsZYrpb6pL0jLOXRuSNSNz7ahC0QPE8yYIP7tOQzWnyCbArgQAPVm+uh7?= =?us-ascii?Q?FmHLKasGdpxTzX7Gov94OKQfhcMO9ldFa+X7vLm+V5hxzwu5IQf97jlVBk/v?= =?us-ascii?Q?oUt4/YckRNGw7aRSuPgoPQtr2jPhsnjjp6erpuC5?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB5801.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 120869ba-0ea9-48aa-5861-08db1f589010 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Mar 2023 22:09:03.7005 (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: W8Uxhz+EvjoOjMtPlyv7ZtXWMCcBrO6BrIFSor7IbzRGWZFdlmKHfB8ciSgANxJRJqrZ7y+h0+fkVEGMnXCEwg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7828 Return-Path: isaac.w.oram@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Isaac Oram -----Original Message----- From: Mike Maslenkin =20 Sent: Monday, February 27, 2023 3:28 PM To: devel@edk2.groups.io Cc: Mike Maslenkin ; Oram, Isaac W ; Desimone, Nathaniel L ; Gao, Li= ming Subject: [PATCH edk2-platforms 1/3] IpmiFeaturePkg: fix IPMI GetSelfTest co= mmand response parsing Byte 0 of a response contains completion code for the command. So, the examined data starts from byte 1. It's easy to make a mistake here = since specification counts response data from 1. For the "Get Self Test Results" command Intelligent Platform Management Int= erface Specification v2.0 rev 1.1 paragraph 20.4 defines response as: +-----+---------------------------------------------------------------+ |byte | data field | +-----+---------------------------------------------------------------+ | 1 | Completion Code | | | | | 2 | 55h =3D No error. All Self Tests Passed. | | | 56h =3D Self Test function not implemented in this controller. | | | 57h =3D Corrupted or inaccessible data or devices | | | 58h =3D Fatal hardware error | | | | | 3 | For byte 2 =3D 55h, 56h, FFh: 00h | | | For byte 2 =3D 58h, all other: Device-specific | | | For byte 2 =3D 57h: self-test error bitfield. | +-----+---------------------------------------------------------------+ Signed-off-by: Mike Maslenkin --- .../IpmiFeaturePkg/GenericIpmi/Dxe/IpmiInit.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/= Dxe/IpmiInit.c b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericI= pmi/Dxe/IpmiInit.c index d788b4886723..aeaefaad642e 100644 --- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/Ipm= iInit.c +++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/ +++ IpmiInit.c @@ -161,7 +161,7 @@ Returns: // Check the IPMI defined self test results. // Additional Cases a= re device specific test results. //- switch (IpmiInstance->TempData[= 0]) {+ switch (IpmiInstance->TempData[1]) { case IPMI_APP_SELFTEST= _NO_ERROR: case IPMI_APP_SELFTEST_NOT_IMPLEMENTED: IpmiInstan= ce->BmcStatus =3D BMC_OK;@@ -173,7 +173,7 @@ Returns: // BootBlock Firmware corruption, and Operational Firmware Corrupt= ion. All // other errors are BMC soft failures. //- = if ((IpmiInstance->TempData[1] & (IPMI_APP_SELFTEST_FRU_CORRUPT | IPMI_APP= _SELFTEST_FW_BOOTBLOCK_CORRUPT | IPMI_APP_SELFTEST_FW_CORRUPT)) !=3D 0) {+ = if ((IpmiInstance->TempData[2] & (IPMI_APP_SELFTEST_FRU_CORRUPT | IP= MI_APP_SELFTEST_FW_BOOTBLOCK_CORRUPT | IPMI_APP_SELFTEST_FW_CORRUPT)) !=3D = 0) { IpmiInstance->BmcStatus =3D BMC_HARDFAIL; } else { = IpmiInstance->BmcStatus =3D BMC_SOFTFAIL;@@ -181,7 +181,7 @@ Retur= ns: // // Check if SDR repository is empty and report it if it= is. //- if ((IpmiInstance->TempData[1] & IPMI_APP_SELFTEST_= SDR_REPOSITORY_EMPTY) !=3D 0) {+ if ((IpmiInstance->TempData[2] & IP= MI_APP_SELFTEST_SDR_REPOSITORY_EMPTY) !=3D 0) { if (*ErrorCount <= MAX_SOFT_COUNT) { StatusCodeValue[*ErrorCount] =3D EFI_COMPUTI= NG_UNIT_FIRMWARE_PROCESSOR | CU_FP_EC_SDR_EMPTY; (*ErrorCount)+= +;--=20 2.35.3