From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) by mx.groups.io with SMTP id smtpd.web11.10714.1677540636790262215 for ; Mon, 27 Feb 2023 15:30:37 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=YW61w+y+; spf=pass (domain: gmail.com, ip: 209.85.208.172, mailfrom: mike.maslenkin@gmail.com) Received: by mail-lj1-f172.google.com with SMTP id z5so8284657ljc.8 for ; Mon, 27 Feb 2023 15:30:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; 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=Bqrv3BIaVVMsiTt1s0aIS5SxKbx1SNB57fYA9RLl52c=; b=YW61w+y+kkk0UmYRl1MRxu7IPtNUJ/kC+0Ix3bq+xvxOpagdcBOaAIZEe+E8rmkh2+ MgCwyWp6EvGgxCg6vpLhoBY3AZDRkrkJHBufXb4Grb9+dJzeCZ6u3m4zoNiPnlVyOjPI NuuxsnRkvRhFiXWV481dqXSZhZ7+qlGrSSo5QLOL/kObAXbYmjvDjOCRDEyGZgiiPkJD 5fnXb/mBN9sAEDLDwgJmpMRRaBw6baeD3mx9dKgKTPCowycFnBefcCUhAQeKVTRHFxyX WmSj2J9VKZzpm7gPZ4Y9yCdfF4LUxvofYjQPUjr9/3w1zuepzeL6mEZQiqU3Zl2ux/WQ o/hQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=Bqrv3BIaVVMsiTt1s0aIS5SxKbx1SNB57fYA9RLl52c=; b=oGDU71i6iCGUpFfngvqjPUjp9Yrxp/1BOqKff8fyP9DX79/Z8OKRZamcWac5DTMZtW +yyYIY08sVjt4OFzhL5PGLA12mVxoewvLP8z4ShSLl2crOCF8iqxhcmvDeJ/kCi6djtG D53tiOacu/A8NDPW7QSgoqErXgyV7dkZ/9ys93TqxKFnoXF50DNDKzA5ASi6mua8Jo4b ECkLD4SbV8HSYn+RSE/xrmUTy2VBAR5xgYft0wWgjucm2Jt5bxcDA+Q5P0yBXLqcUvth 1/QUuu4YLqXA4APzEekK4xyGRCe8HDns7jo7Qu6B+zGU1RgMT9MvS8xCnY533eWz5F65 q4nw== X-Gm-Message-State: AO0yUKWhqZulLu1FxIcHTz0ANwkBjlLiJ2A5TZ7QwDVHrje52QY9iTKl 2erVYi2Vu1nosp5gVb52JPJc2Ur8owymGXpHKYSTUA== X-Google-Smtp-Source: AK7set9Wf7VfDRcleGEJRVDAaH9Nu/GGgPbV6EEh+hY5SHrWLEeu/jjMEav/tORAjF+M1bbiwJsofw== X-Received: by 2002:a05:651c:2208:b0:293:5cce:56eb with SMTP id y8-20020a05651c220800b002935cce56ebmr115249ljq.43.1677540634846; Mon, 27 Feb 2023 15:30:34 -0800 (PST) Return-Path: Received: from localhost.localdomain ([195.91.209.163]) by smtp.gmail.com with ESMTPSA id r8-20020a2eb608000000b002935006e487sm908453ljn.122.2023.02.27.15.30.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 15:30:34 -0800 (PST) From: "Mike Maslenkin" To: devel@edk2.groups.io Cc: Mike Maslenkin , Isaac Oram , Nate DeSimone , Liming Gao Subject: [PATCH edk2-platforms 3/3] IpmiFeaturePkg: refine GetSelfTest function Date: Tue, 28 Feb 2023 02:27:57 +0300 Message-Id: <20230227232757.9312-4-mike.maslenkin@gmail.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20230227232757.9312-1-mike.maslenkin@gmail.com> References: <20230227232757.9312-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 --- .../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..1db47e28c54e 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 *pSelfTestResult;=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 + pSelfTestResult =3D (IPMI_SELF_TEST_RESULT_RESPONSE*)&TempData[0];=0D + pSelfTestResult->CompletionCode =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 (pSelfTestResult->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", pSelfT= estResult->Result, pSelfTestResult->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 (pSelfTestResult->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 ((pSelfTestResult->Param & (IPMI_APP_SELFTEST_FRU_CORRUPT | IPM= I_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 ((pSelfTestResult->Param & IPMI_APP_SELFTEST_SDR_REPOSITORY_EMP= TY) !=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