From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (NAM11-BN8-obe.outbound.protection.outlook.com [40.107.236.41]) by mx.groups.io with SMTP id smtpd.web10.18064.1673421867972084685 for ; Tue, 10 Jan 2023 23:24:28 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=nsOF9lHm; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.236.41, mailfrom: abner.chang@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iuohgoIl3QA98FGqjBkPAds79IVgHpSXCW/OUnA5SJkSG7tIR+QwhuKgURppX+kV3/NEGA90FEVmw2Qz4vcJePWJkIRVzqTdy0YxXUhdv3tj1yINg9/etydEv8xsgbd+PHsFcs+pn7pjnI6nLrCvH57tqGaUVk8rV7Qzwax9UR9pzwrBLuz4MSZ1tUJqKE9pJvQ6KsRlG/uclUoSAdiiDdd997Tb32cs3PAHX8FSUcoSf73BV87INIyBQyP2UwN3hrxW/jDq8fghnVJDytNMx1EGqD+MS78NJWdWT/vzOmImZ1vavC1QS5ScgMuIG1UgOWHg6aWyCu9ZWoHVpTf2DA== 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=4R3y3r916vQIlX6is9STCzQX1A2b56aa448KfvtwUq0=; b=gxvTwgyBnWIttDMIfAsNz0eOC+GrB6Fu2X+On/x9JbyVtZugYO38PkCh05gjw3VLcYQTz3abtQbCELlXLgJWZU+UgBok7z4SO7MYx6ASJRlg953/0lVYVXgmxNZO0e2Xa17wk/a57t07Lk2aTsTqaTX+iCyBrjSBIwxvLaWaGJfAjnbzuHm04OPBAtjuyc9IEKU90RkwreGH/dpVrNKJMslPtWEtgQn1jPJ40Zf8ey1b1Zhf/7WIdNM2QcXU1CIP62XQJ9LXU8lk0zoOwKIrRbQH9lkoa+Hir3zSPDsTvOwdUIwPQO4KsiFe9x97hdcy6W5O6Q9ytt4npn6UyzbHNw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4R3y3r916vQIlX6is9STCzQX1A2b56aa448KfvtwUq0=; b=nsOF9lHmVsBIjOeOhSY4oNHyeV+U8KOMgiAy9W4jmtQkkEJM61cTqAE61ODk+NhnVSOnTCaOoOa/Rq9Swu6PxelgvhF0HDgT00mIUKkATWZB03eFqXLndzdJGHpcA6xm67s/Pf4TXLe3+B+mxfmsbI+s+IBCdXyRXnjCltNAplQ= Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by SN7PR12MB7275.namprd12.prod.outlook.com (2603:10b6:806:2ae::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18; Wed, 11 Jan 2023 07:24:23 +0000 Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::cddb:3de9:cd1d:26e4]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::cddb:3de9:cd1d:26e4%5]) with mapi id 15.20.5986.018; Wed, 11 Jan 2023 07:24:22 +0000 From: "Chang, Abner" To: "devel@edk2.groups.io" , "michael.d.kinney@intel.com" , "Oram, Isaac W" , Nate DeSimone , Liming Gao , Jian J Wang , "Attar, AbdulLateef (Abdul Lateef)" Subject: Implement IPMI_PROTOCOL on edk2-platforms Thread-Topic: Implement IPMI_PROTOCOL on edk2-platforms Thread-Index: Adkliuo5HbqrM037Qgmsgk1BePVJcA== Date: Wed, 11 Jan 2023 07:24:22 +0000 Message-ID: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-01-11T07:24:20Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=e50029ec-3386-4cb8-b6e1-3e09cbd9bfb7; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|SN7PR12MB7275:EE_ x-ms-office365-filtering-correlation-id: 93ef9249-99a1-4d7e-d331-08daf3a4dc98 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KccF+YT5eBA3lefEw7TGw+NDU6Kib9P8K1jIzzLJ/N0OyjYoRusRfBiaKiuKQ7f5B2IUyRSEUQBge1JTOniz22QzMneco7p3fYd4ooL2fgxBmr7qmrCAeBPaEJEK1cj3r1qIwu6OmNMM0k8M1+jSWa33vdupohRMxRKt0R9f9f3/OBcPh6gwa9Qu0NRcIm1MiamhrNme44SU2kvjrtEpWvsVaROOZq/DrgO1k6VmNuRxl+gfsCvTIX/+yILNLY8JWzWJwZfoOYuJAJIh80fxhmQwWPSTFJ2KU76QcGTp8+WBPtgHTy2Ke6dKsrSa4ZazF+WOghO9evi0Nj0HGtcbXBdq2SWqLgHU6L6yn/xQfnPa8Xpq4Sx0PSMAitVta+GQoOusM+nMzdf0LBYam8Oqp/YEiVCwcG9AggsAneNDM4vz0kw6e6tjuuMYybQnblMn1tO3mt7NVm4KIu3MEWFFM6bNCXfkTUlThLndxAb1Ich5RA5izXbl/fdHpxMZaZ34Y2D9f3E5GHZpTs8S3tfLGdig67BuHehuPzPA5hfsMAiVKXRDqByn3xjuPPpHvwL+YEjNq8fseIPssYa05k79rqLR1+Gsx6ivvZWmghTEPQLi7IZsOBMpDO55vP0CmKcIGG81jIjGd59lXVU08yOMXY05pNO2mZSw9UXZRg4ziDPS0KmmCu9IdFIVsHgVKnnEAkU1h8QrA6vNKk3PK/vzUmKqNqWUT9V9lunmTy766k4/7ojLHjGKJHNhxEzvoeupyBRj3EFIRQEIDCFrMNO9+Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB3966.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(136003)(376002)(39860400002)(346002)(396003)(451199015)(8936002)(52536014)(5660300002)(66946007)(316002)(64756008)(33656002)(76116006)(8676002)(41300700001)(66556008)(38100700002)(26005)(166002)(83380400001)(86362001)(122000001)(38070700005)(6636002)(110136005)(186003)(9686003)(66446008)(6506007)(71200400001)(55016003)(478600001)(966005)(7696005)(66476007)(2906002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?/KZPXfHkD0d6JYCL9/Er39nOryNH//B9aHacMQzUrXfreY8w3tapC6QgxO20?= =?us-ascii?Q?WiCkK8ik+siSKj0h9v56YWEQB8hBt6n5skcqLUcDJMdVr64u9DTTJo/4V/sw?= =?us-ascii?Q?mO4U+3R9YxTOGgI5yfKllvGbhzgNsUa/rG4JztS12f1gUgJk2EwuQjtwBjNG?= =?us-ascii?Q?uGYiPPGRO7sKLpPDXbNVqn6B47Ugot479pp9FAJhmkcKYcK7IPJHjqqgcIkg?= =?us-ascii?Q?09OCIw8y2Pt5UvuZWWGDdUzuCJjcgSJc3J4+0bSQ5WYXtfL4juvlJuO45Ykq?= =?us-ascii?Q?l7ESSUpto/W5/dldZziE/TdmwgMWN/dXbNyuboLSQmssx4TRnZkT8oR5PMkL?= =?us-ascii?Q?dKKC8eLGwxWZJJsTePHPn39mV1Mraq72g/jlZ8UAul2SS/nv9j4wO4Uh37TA?= =?us-ascii?Q?tzZs/R7HEbuBUofKUxrgERdw8zQBwYGR6hsVMFC7M+67BNUy05sJ1ynPibgN?= =?us-ascii?Q?W+9iuwDQJPfPTINnKppSH6NIxLWHPxMJEuFY81fKVHwyjjF8M+Ha0rGtkWsS?= =?us-ascii?Q?hJS/y3L1e01Z3TjaNnoDOCnJpFya8d3gTr2Im6tFeUKUcqWynRu5jLaTTbsI?= =?us-ascii?Q?y2kB9ew+vlxuN4iQx7tBcJRY17Rz+5pqGjmjtuTPoQw0jvA1D8K1L62i6veF?= =?us-ascii?Q?lYb8fHvsS98qJbxT1T8DOMDFCplEPOkewixugs6ApE5qlvkHcu485thpyBwT?= =?us-ascii?Q?u6heZGLI4L2HjM+bA8KJkpedKqJkTfvZ9IO5L7a0fQWCQPZspBw+SE09H2aB?= =?us-ascii?Q?NICZt6Qn0+RCZy9bMy5e8UdVZhGHxOn0aobfnvxe2iTs38V0JRKVH4zarmfe?= =?us-ascii?Q?nFOEFJ2dTMLBXM6Hdofe3t6v/ka4nSvZcg7MpOjMqcLI74uz1lA1Qujhx215?= =?us-ascii?Q?3sLDW2iRWfswPlzLCt2xWDWNpQklJIfkcOnDgIV+EYtw9jATdBsN6idwOhb5?= =?us-ascii?Q?+wDqCDXEdXd7msQKDWlG6fzh2Fb8mAyrMqibt72m4rJ4p+yU4qX6NKQThlwQ?= =?us-ascii?Q?mkH83VsNMC+Q5L/EOAHKblt2zC6mg3qTQI6pICEkhbncCgT68qsmc4zIaj6h?= =?us-ascii?Q?5YaKeGKmHBiPHT2anyONZrYaZjgc2ZCkm5V7dddCMyufFlGrVC0Xv05Cs2+D?= =?us-ascii?Q?aWfzL84mEbVZAu3MFrOaWhUKLyDjl9Bs9t3UlliZAj2V1UKFrRSd/pXN8IUh?= =?us-ascii?Q?/lbSd6VSn/vlSFGNF6NyDjThrot0dOkGMtxE0sQhcT69D/THnMXJmBzyP52H?= =?us-ascii?Q?b9qPf5do6tC1vaG1mOmAWjQ9WE2SVQRHgVVw9iwuGt7yt7J2mVUzT2JZ0z3K?= =?us-ascii?Q?nu37UIoiJ55jUyMAxpav+wyCKZ20UtcRmMc1MGqQgD5wp8xd3y0NR7HV2SI5?= =?us-ascii?Q?cbppKtTlTMtHObEJTgxxfu9rD4SjG3OuVdE0lPtz5eqSru3SZxp9VNrAriIQ?= =?us-ascii?Q?4Z8tiNeX7yBo1QZMqJM2B0Aw88FwwEyaelN05TbBNY1foaVJINltYaIQFz6v?= =?us-ascii?Q?Em9EGNCRL1SqlCw6njYk6qBNtK+HpHbb0ScvO7RDB8HU2mbjenAne4Pu5pYi?= =?us-ascii?Q?7I61lh60ZHlJl1QFr+9NeNcjzc1kg+ffoAL1rCRq?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3966.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 93ef9249-99a1-4d7e-d331-08daf3a4dc98 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jan 2023 07:24:22.6910 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: zirQAqBZbXCwt0ng7xbeOEP7Nl9l5kSJWxZRxcVvKUgxsM6Qk0Fl81IwdZXjJK1PWovfhKh+KCul8fAQq108zg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7275 Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_MN2PR12MB3966B5D9C9413EBB7E676888EAFC9MN2PR12MB3966namp_" --_000_MN2PR12MB3966B5D9C9413EBB7E676888EAFC9MN2PR12MB3966namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only - General] Hi stakeholders, Besides of below two IPMI related patch sets, we are going to implement IPM= I Protocol on edk2-platforms. However, please help to review below two patc= hes set then we can move forward. https://edk2.groups.io/g/devel/message/98051 https://edk2.groups.io/g/devel/message/97769 The context of having above IPMI patches is here: https://github.com/tianoc= ore/edk2/pull/3837 Implement IPMI Protocol driver on edk2-platforms IpmiFeaturePkg, * Which is the connection between edk2 IpmiLib and edk2 IpmiBaseLib lib= raries. Address the confusion of IpmiSubmitCommand() function naming between edk2 I= PMI Protocol and edk2-platforms IPMI Transport Protocol, also between IpmiL= ib and IpmiBaseLib libraries. * On edk2: struct _IPMI_PROTOCOL { IPMI_SUBMIT_COMMAND IpmiSubmitCommand; }; * PEI/DXE/SMM library instances of IpmiLib have the reference of IPMI_P= ROTOCOL. * No implementation of IPMI_PROTOCOL on edk2-platforms as I can see. * On edk2-platforms: struct _IPMI_TRANSPORT { UINT64 Revision; IPMI_SEND_COMMAND IpmiSubmitCommand; IPMI_GET_CHANNEL_STATUS GetBmcStatus; EFI_HANDLE IpmiHandle; UINT8 CompletionCode; }; - The function naming for IPMI_SEND_COMMAND is confusing, PPI one does = the same. Solution: The process flow of IPMI functionality is: edk2 module =3D=3D> IpmiLib (edk2) library class IpmiSubmitCommand() =3D= =3D> IPMI protocol driver(edk2-platforms) =3D=3D> IpmiBaseLib(edk2-platform= s) library class IpmiSendCommand() =3D=3D>IPMI Transport Protocol driver (= edk2-platforms) Three patches the solution, Patch 1/3: Rename IPMI_TRANSPORT. IpmiSubmitCommand() to IPMI_TRANSPORT. I= pmiSendCommand() in the protocol structure. Also address the impacts on oth= er edk2-platform modules. Patch 2/3: Rename IpmiSubmitCommand() in IpmiBaseLib library to IpmiSendCom= mand(). Also address the impacts on other edk2-platform modules. Patch 3/3: Implement IPMI_PROTOCOL on edk2-platform, this module has the re= ference of IpmiBaseLib.h from edk2-platforms and IpmiTransport.h from edk2. Impacts, On edk2-platforms: Most of impacts are on IpmiFeaturePkg itself except one = impact on PuleyOpenBoardPkg. It should be not a big problem to other edk2 modules that uses IpmiSubmitCo= mmand() already. They can update their code to use the PEI/DXE/SMM IpmiLib = library instance from edk2 and add the reference of IPMI_PROTOCOL driver fr= om edk2-platforms in the DSC file. We will proceed the code change if you (especially to IPMI owner) agree wit= h this. Regards, Abner --_000_MN2PR12MB3966B5D9C9413EBB7E676888EAFC9MN2PR12MB3966namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

[AMD Official Use O= nly - General]


Hi stakeholders,

Besides of below two IPMI related patch sets, we are= going to implement IPMI Protocol on edk2-platforms. However, please help t= o review below two patches set then we can move forward.

https://edk2.groups.io/g/devel/message/98051

https://edk2.groups.io/g/devel/message/97769

The context of having above IPMI patches is here: https://github.com/tianocore/edk2/pull/3837

 

Implement IPMI Protocol driver on edk2-platforms Ipm= iFeaturePkg,

  • Which is the connection between edk2 IpmiLib and edk2 IpmiBaseLib lib= raries.

 

Address the confusion of IpmiSubmitCommand() functio= n naming between edk2 IPMI Protocol and edk2-platforms IPMI Transport Proto= col, also between IpmiLib and IpmiBaseLib libraries.

  • On edk2:
struct _IPMI_PROTOCOL {=
  IPMI_SUBMIT_COMMAND    IpmiSubmitCommand;
};
  • PEI/DXE/SMM library instances of IpmiLib have the reference of IPMI= _PROTOCOL.
  • No implementation of IPMI_PROTOCOL on edk= 2-platforms as I can see.

 =

  • On edk2-platforms:
struct _IPMI_TRANSPORT {
  UINT64           =
;           Revision=
;
  IPMI_SEND_COMMAND       &nbs=
p;   IpmiSubmitCommand;
  IPMI_GET_CHANNEL_STATUS     GetBmcStatus;=
  EFI_HANDLE         &n=
bsp;        IpmiHandle;
  UINT8          &=
nbsp;            Com=
pletionCode;
};
 
-   &nbs=
p; The function naming for IPMI=
_SEND_COMMAND is confusing, PPI one does the same.
 
Solution:

The process flow of IPMI functionality is:

edk2 module =3D=3D> IpmiLib (edk2) library class = IpmiSubmitCommand()  =3D=3D> IPMI protocol driver(edk2-platforms) = =3D=3D> IpmiBaseLib(edk2-platforms)  library class IpmiSendCommand() =3D=3D>IPMI Transport Protocol driver (edk2-platforms)

Three patches the solution,

Patch 1/3: Rename= IPMI_TRANSPORT. IpmiSubmitCommand()  to IPMI_TRANSPORT. Ipmi= SendCommand() in the protocol structure. Also address the impacts on other edk= 2-platform modules.

Patch 2/3: Rename= IpmiSubmitCommand() in IpmiBaseLib library to IpmiSendCommand(). Also address the impacts on other edk2-platform m= odules.

Patch 3/3: Implem= ent IPMI_PROTOCOL on edk2-platform, this module has the reference of IpmiBa= seLib.h from edk2-platforms and IpmiTransport.h from edk2.

 

Impacts,

On edk2-platforms: Most of impacts are on IpmiFeatur= ePkg itself except one impact on PuleyOpenBoardPkg.

It should be not a big problem to other edk2 modules= that uses IpmiSubmitCommand() already. They can update th= eir code to use the PEI/DXE/SMM IpmiLib library instance from edk2 and add = the reference of IPMI_PROTOCOL driver from edk2-platforms in the DSC file.=

 

We will proceed the code change if you (especially t= o IPMI owner) agree with this.

 

Regards,

Abner

 

 

 

--_000_MN2PR12MB3966B5D9C9413EBB7E676888EAFC9MN2PR12MB3966namp_--