From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lj1-f170.google.com (mail-lj1-f170.google.com [209.85.208.170]) by mx.groups.io with SMTP id smtpd.web10.223.1678317537909317430 for ; Wed, 08 Mar 2023 15:18:58 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=kMimqpof; spf=pass (domain: gmail.com, ip: 209.85.208.170, mailfrom: mike.maslenkin@gmail.com) Received: by mail-lj1-f170.google.com with SMTP id a32so60301ljq.1 for ; Wed, 08 Mar 2023 15:18:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678317536; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=98tEZjR2xfXBWeyQvB8DoKbvN8A72kYWSbQQeYJ4oqQ=; b=kMimqpofbsPrwou3k7Hu8i0QXKPSc9140YcICuVe5JDtKMgpolipvTBNnYcawiLn9l etGYEOeJBmB02QaObOAbNjaCb6nRkh4nCqJDdLIu/8D0FdeO9XxNS91r3QWmYswGzJyE EmLgQsX9ca4F/Jx32lGGuK8PqmoEikzxOfCjNNSXXHKRoiH3R/m058CwSwVPEz4rzLuo ZshTPS5wOlg/HWP/sDg7UG97NHVUCxvK+sJiRreq7iLe/IQt36MRc7TH1YJxthUwNvEH g7PbKIpdpvB6nX/6IdBOIU8BjzIEbnnENO8E8HoBJeWSMDH24BInwYjUU9ISIhkmh9lu MO4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678317536; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=98tEZjR2xfXBWeyQvB8DoKbvN8A72kYWSbQQeYJ4oqQ=; b=RXjHEl6SKBdBh+eR0xYR1eUIXLoyfoStoLsUZKRAluleVQ13KHi6n5YL1ZHYu1CyKC 4HMLwKLsSnxtTRSeTvNbF9YtjH18ZomF6TBkP/vCH5OGBxVN9JfJzXa3vZUTIOUD0HKS PuwuiUzHI7DoQFjesxwfq1dEYUXDFrm7t067EaUtUin5o+/an46fIU+jeCQhIjlvTXsA Svd0eEDNZzS9fsE5dO0G4sHW+xWcbgi/ykNe3FVWjy7VxF8gnZmk4/DhliyScMbwauPE fcvKkYx8zi6iRq8472X0XTHRCzKRfRJvyF6X+LT5TfilgaMhXLHI41hLm/jtG4iqtjUA 7KBA== X-Gm-Message-State: AO0yUKU65yqxr9P3n8L/0Bt5oTSSYiZKZgQyfEvUzI4MomVLz/0uKvj0 CIAwPQJOT9AoU+R/Am3taK44msAsyFX8f8G6sIM= X-Google-Smtp-Source: AK7set/zgKz2DTtpKEr7nqraDy7PH2OEpw5m/uVgOeqa+lY+hpeNZxc7O8qyyb8VnRElY/gE/v1XYA== X-Received: by 2002:a2e:a549:0:b0:298:6a87:7611 with SMTP id e9-20020a2ea549000000b002986a877611mr1540581ljn.50.1678317536120; Wed, 08 Mar 2023 15:18:56 -0800 (PST) Return-Path: Received: from localhost.localdomain ([79.164.221.98]) by smtp.gmail.com with ESMTPSA id w11-20020a05651c102b00b00293526a0c87sm2726630ljm.41.2023.03.08.15.18.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Mar 2023 15:18:55 -0800 (PST) From: "Mike Maslenkin" To: Cc: devel@edk2.groups.io, Mike Maslenkin , Isaac Oram , Nate DeSimone , Liming Gao Subject: [PATCH edk2-platforms v2 3/3] IpmiFeaturePkg: refine GetSelfTest function Date: Thu, 9 Mar 2023 02:18:45 +0300 Message-Id: <20230308231845.10895-4-mike.maslenkin@gmail.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20230308231845.10895-1-mike.maslenkin@gmail.com> References: <20230308231845.10895-1-mike.maslenkin@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Use predefined type while accessing IPMI command returned data instead of raw byte array. Signed-off-by: Mike Maslenkin Cc: Isaac Oram Cc: Nate DeSimone Cc: Liming Gao --- .../IpmiFeaturePkg/GenericIpmi/Dxe/IpmiInit.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/= Dxe/IpmiInit.c b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericI= pmi/Dxe/IpmiInit.c index 8a0c596a6434..79eb5f2b86e9 100644 --- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/Ipm= iInit.c +++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/Ipm= iInit.c @@ -86,6 +86,8 @@ Returns: BOOLEAN bResultFlag =3D FALSE;=0D UINT8 TempData[MAX_TEMP_DATA];=0D =0D + IPMI_SELF_TEST_RESULT_RESPONSE *SelfTestResult;=0D +=0D //=0D // Get the SELF TEST Results.=0D //=0D @@ -100,7 +102,8 @@ Returns: =0D DataSize =3D sizeof (TempData);=0D =0D - TempData[1] =3D 0;=0D + SelfTestResult =3D (IPMI_SELF_TEST_RESULT_RESPONSE *) &TempData[0];=0D + SelfTestResult->Result =3D 0;=0D =0D do {=0D Status =3D IpmiSendCommand (=0D @@ -114,7 +117,7 @@ Returns: &DataSize=0D );=0D if (Status =3D=3D EFI_SUCCESS) {=0D - switch (TempData[1]) {=0D + switch (SelfTestResult->Result) {=0D case IPMI_APP_SELFTEST_NO_ERROR:=0D case IPMI_APP_SELFTEST_NOT_IMPLEMENTED:=0D case IPMI_APP_SELFTEST_ERROR:=0D @@ -147,7 +150,7 @@ Returns: IpmiInstance->BmcStatus =3D BMC_HARDFAIL;=0D return Status;=0D } else {=0D - DEBUG ((DEBUG_INFO, "[IPMI] BMC self-test result: %02X-%02X\n", TempDa= ta[1], TempData[2]));=0D + DEBUG ((DEBUG_INFO, "[IPMI] BMC self-test result: %02X-%02X\n", SelfTe= stResult->Result, SelfTestResult->Param));=0D //=0D // Copy the Self test results to Error Status. Data will be copied as= long as it=0D // does not exceed the size of the ErrorStatus variable.=0D @@ -162,7 +165,7 @@ Returns: // Check the IPMI defined self test results.=0D // Additional Cases are device specific test results.=0D //=0D - switch (TempData[1]) {=0D + switch (SelfTestResult->Result) {=0D case IPMI_APP_SELFTEST_NO_ERROR:=0D case IPMI_APP_SELFTEST_NOT_IMPLEMENTED:=0D IpmiInstance->BmcStatus =3D BMC_OK;=0D @@ -174,7 +177,7 @@ Returns: // BootBlock Firmware corruption, and Operational Firmware Corrupt= ion. All=0D // other errors are BMC soft failures.=0D //=0D - if ((TempData[2] & (IPMI_APP_SELFTEST_FRU_CORRUPT | IPMI_APP_SELFT= EST_FW_BOOTBLOCK_CORRUPT | IPMI_APP_SELFTEST_FW_CORRUPT)) !=3D 0) {=0D + if ((SelfTestResult->Param & (IPMI_APP_SELFTEST_FRU_CORRUPT | IPMI= _APP_SELFTEST_FW_BOOTBLOCK_CORRUPT | IPMI_APP_SELFTEST_FW_CORRUPT)) !=3D 0)= {=0D IpmiInstance->BmcStatus =3D BMC_HARDFAIL;=0D } else {=0D IpmiInstance->BmcStatus =3D BMC_SOFTFAIL;=0D @@ -182,7 +185,7 @@ Returns: //=0D // Check if SDR repository is empty and report it if it is.=0D //=0D - if ((TempData[2] & IPMI_APP_SELFTEST_SDR_REPOSITORY_EMPTY) !=3D 0)= {=0D + if ((SelfTestResult->Param & IPMI_APP_SELFTEST_SDR_REPOSITORY_EMPT= Y) !=3D 0) {=0D if (*ErrorCount < MAX_SOFT_COUNT) {=0D StatusCodeValue[*ErrorCount] =3D EFI_COMPUTING_UNIT_FIRMWARE_P= ROCESSOR | CU_FP_EC_SDR_EMPTY;=0D (*ErrorCount)++;=0D --=20 2.35.3