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.40]) by mx.groups.io with SMTP id smtpd.web10.39906.1682738564941214156 for ; Fri, 28 Apr 2023 20:22:45 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=Rbp4rs8s; 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.40, mailfrom: abner.chang@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eKvnzNI3UWm3VtT9cDVTPwGvCjABbtgkNGotg5oaW65b1OAwNd6D7PcwkzTEzbIQZnZvtRCaOjigrme1HkDB0AxEobDzL/V6cv5m0QIZiMx5fhUwfIm/7PJnKPdyVzldFarKbNeNa8dZdEAsVEgbCW2+X0Seqf+gtSk8QM1XjRcIfoJiYRmMfd8Nz4Xoppup2Yb218l/NaWyybwocm/WZGEiZhnimcwjQUokLjfGtxjfyNpWs3XA+FBWBxbPC3kKbe+zQU7QqPTi277siGlSwn+XFtmcbM4+ViRWM7gDWM/FLcg03qrZosRIMWEq91MU4tF/K2oUR/spZY6BuWdPTQ== 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=zTFOtP0tT8HaH2ncZ+/1LY0B/cNS2ghEvuWqDpg6jy0=; b=Lrujmb+YbMFUIxfybIPUb4Wfdl2X0kQFkwMTfokxDx0BTYJtVlGhrKvVgxlTn5HG60w2uyz47sztmU1iXhplP+vcJ5pcmuHdLn5nT4f9b56ugjTfzkD/bwidYPbSRxyJdVjKZ37NXQ+PCxIJM8YmV1nouAKc96cpltaMme6gQpVOWOKf7c6xd+9G6WbEZf8xtg3n+k+j903hqmQ0CkefjGxbaxJwlm0D+grhN/W8rmyfSxaEVWmgAVJH66w61dv9acfj2Pnte4WyawxnE6UWvkfzNZUmzESbyR4r9ptCDQnrKcFC6WttLD4S7wC2l7sVQzYUvJGt6f0gWGOwaRlBKQ== 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=zTFOtP0tT8HaH2ncZ+/1LY0B/cNS2ghEvuWqDpg6jy0=; b=Rbp4rs8sYcRGdi7cPHJEPuS1MmwJWSt1fUR0dnocSybRRN4J7N1lloR1T142FskxWwFCvNtxOdjHAerXRWBAeDL5dAxBMKgdGoPZstbs4yaK+OZpX/zE0fpCbWo6icXBA0yTgIJqfhep3K8M+iSK8AUIn7KTWRqKFDiVLirx8Kc= Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by PH7PR12MB5806.namprd12.prod.outlook.com (2603:10b6:510:1d2::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.22; Sat, 29 Apr 2023 03:22:39 +0000 Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::46f1:bdce:a4bc:29e3]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::46f1:bdce:a4bc:29e3%3]) with mapi id 15.20.6340.022; Sat, 29 Apr 2023 03:22:39 +0000 From: "Chang, Abner" To: Tinh Nguyen , "devel@edk2.groups.io" CC: "patches@amperecomputing.com" , "michael.d.kinney@intel.com" , "gaoliming@byosoft.com.cn" , "zhiguang.liu@intel.com" Subject: Re: [PATCH 1/2] MdePkg/IndustryStandard: Adds definitions for IPMI SSIF Thread-Topic: [PATCH 1/2] MdePkg/IndustryStandard: Adds definitions for IPMI SSIF Thread-Index: AQHZeYZU5e8phA2ycEOei2PYFPG1Gq9BlsLQ Date: Sat, 29 Apr 2023 03:22:39 +0000 Message-ID: References: <20230428035940.1765700-1-tinhnguyen@os.amperecomputing.com> <20230428035940.1765700-2-tinhnguyen@os.amperecomputing.com> In-Reply-To: <20230428035940.1765700-2-tinhnguyen@os.amperecomputing.com> 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-04-29T03:22:36Z; 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=9f1c356c-fc8c-46c4-a99e-4a6f7e1bc716; 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_|PH7PR12MB5806:EE_ x-ms-office365-filtering-correlation-id: 43e1bffc-9a06-461e-92b2-08db4860fc9b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bghMrDbeD3gWPnAmVHtrFp+7jysAAQMn8n8MvHcjXlM7+iwOUjP/rVC+ePvauOCYCdNhS2vCPJ9YJJJfsJ8GvWOZ9/2vDWCpR0XtskhGhrcysfOsp7x7cGPEZi7ORiRXAPrJ8ZCVQCCPOEMb/pOHKTERIsnHW6njfKlAT13UA4OBfZ8HxlM+ZptBfXmT2gJXpgp5Mtz0/aX60nJeaHw18pvArHC3f/DiY2vMwV7tzTXmzGDz1C4r6vS5Q3yhxABigkhV72goepoxxYr+1+/8jbmWcEJTGWsBit5YeikrqmRWixyoGdQrCJSHWOQ8vl79L1EZLATgbpsvQ46Vkav04eQhoNAvVQpLgYgGRi/C5bIEu8ywy4xJNaJ88z2z260XBw/1n73hHSKoxVRgrNAnpYqvx+tI28K72kNb2GA7HRX88XamRXJG66rsytsgwNl05ebOF/oLBY0VRV26DrE7l08sx6Pf14F1SNPUevg6sO8Sg6xXrDDsUV24NQW1z2VMFt5q/OoVrvmNUsTG4jhLe8KAEBgIzdn/2Vvw8+CXrRwfA02IDhK/WmOKIBmM5p6e4Tyg4IPPM9pljPSO7Q+s9fSvUYmGdd60IZXgBhtkr29mhFifzT93IkZX8MFpam68Qh20XvsrVDbIT6VuR16pEA== 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:(13230028)(4636009)(346002)(136003)(376002)(396003)(39860400002)(366004)(451199021)(55016003)(7696005)(478600001)(76116006)(66476007)(110136005)(4326008)(122000001)(54906003)(8676002)(316002)(8936002)(52536014)(66556008)(64756008)(41300700001)(5660300002)(66446008)(38100700002)(53546011)(83380400001)(186003)(66946007)(966005)(9686003)(26005)(6506007)(71200400001)(86362001)(33656002)(2906002)(38070700005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?sZ+A6xeKez3bgvVSNP9PqvF1gu99347YLzuN0gGPgQwBNFGFNji4MU4v6kV+?= =?us-ascii?Q?UQWx8p86PmpYpYh5jtKBm2bWwatLzf8Jb6uClYdANBhDauCxgEh9HjQG4680?= =?us-ascii?Q?21qeyK8K68+BEaZtgWZ3mlcCbaRtgpWflZTZr1ztg7iMDyjL0Z9ect05Crw6?= =?us-ascii?Q?bNpecFD8tEbRfKEniMvi15p9ASYtKPqktOThMdyEW7lBWed5hwsOE9Lgl7bT?= =?us-ascii?Q?nKRpaN+zkLWHVFiN7bhPxfynw7s8nrhcoVb1CnXG5/KidZ262aIP2kgfRwp2?= =?us-ascii?Q?fDy5wyFWeAl+RK2muMndRi9pAB9p8Gdtc/2kg3C7vPJ12l77fBm4vOkjhZne?= =?us-ascii?Q?gH0dH+flhnb0Z6Mq9W4phnd4w+15R+62L5RDxK+Q+2zxEy4UgSgLJUY5wxUq?= =?us-ascii?Q?0uId0tINLTPn7TYlnemiaSrAfx0gZSoh3JaQVBx0D0d8jbs8YYTxinlzME3b?= =?us-ascii?Q?NHBWb7gIT1zlHBfIvgdgE4V02ClLuQQOd9A+HlCx695otxKBJbKttpY85mWP?= =?us-ascii?Q?GZ9zZqGJNg5Pj1Gf2Lhb2I0giKTgGzaFn3qrkCM/JujnSDSVKyb5ZUhZEgJK?= =?us-ascii?Q?bNEB6HU2Ug/c5peEtBD5zchxhK4g/qoMv70A+es9FTcmmz1ftO/kcD+se4F2?= =?us-ascii?Q?4wf5C0S4uZPO/B2QB8mumoGi6hJDwJKWum0GBlvGyKOEJVp7Byke0z2xwwpU?= =?us-ascii?Q?0MT7WOpPsiYv+oo1tuU1YY3pmCSh1tjWMMUMKos238rG/xUYpz0aS4U4aRAF?= =?us-ascii?Q?BbMb3Uuj2sopva9RRCrEmPmnkkb3+VPofKekLVPK9nuJcRnQThBjfN/g3oh7?= =?us-ascii?Q?idgNOET0JxpkFBNzvmETIzJ1UN+zPamrnwAHOLhIssGuU+Ttao10LE1T700v?= =?us-ascii?Q?/3aSsB5Y8wFJYG/KR4ubVWj/d1D3gALne+OxZjuLgbkF1aAcv2amotQUjkvT?= =?us-ascii?Q?KawyOOZ49lIrRAq5W2CFcHEARAZxfCXaRV35NzVQsDyPQvjL3lN2X0I+X1mc?= =?us-ascii?Q?qMhNK6k6ltc49GuoSbhto3Cb1HGLMhPu2a+Hdb4tUNl2lG+lTQhrIkboqInQ?= =?us-ascii?Q?GJRGnlEYm7EaQZwwEuAa1YJ4xORd1JrjCaGqh4haCbcXRNoCnE1Ggps5j3nf?= =?us-ascii?Q?tc3A7WBaQ7yKUa0S5QxPx7LZEg6CDCGXRPRydsuV3jAA6FQttMKqg0NeYpon?= =?us-ascii?Q?CK2wECfVql6aI6wsSKKUCj8hMtkSwULYDFCjnTLoO7ZrCtBKgUyZwZLQ6ntv?= =?us-ascii?Q?5LgcsxE7T9wzSReeXqjz0HCVR4JvdpGnBBWVcW+HewiPyoAYLeTmy6/yNaLn?= =?us-ascii?Q?O/YnAhfvw7GJF27lrCP8B+cc2crGuj1/a+WbteiRpEheLD74d22k2+l6o5Js?= =?us-ascii?Q?Fj/yJTiSDCEFc1z5kUABSrpOTYEJImfWTRKhQq6W+ymmr4z6DiUp8/rX2mcL?= =?us-ascii?Q?HLDXJsURxwVBrLMVNMSDPa1FPms3OVDJdgvlPtFJNgaS32qbFmik/9OhYJgc?= =?us-ascii?Q?HZqR60Lb1JfNfg/00Qfh39hi7IQ+a9hsb85pdc5nR4V0nnMbS2eHrfOvUTJo?= =?us-ascii?Q?eXMIOCyO/cvbJnQwxqI=3D?= 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: 43e1bffc-9a06-461e-92b2-08db4860fc9b X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Apr 2023 03:22:39.4417 (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: 6uMsWOUPEVXClf+qof/CGQhfEd0L/nZhf60jhsnIPVbnYKOBqbFCVN6L6HstbfwQvqMIKSdiY+U8E6h1S4hH+w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5806 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only - General] Hi Tinh, Below is my comments, > -----Original Message----- > From: Tinh Nguyen > Sent: Friday, April 28, 2023 12:00 PM > To: devel@edk2.groups.io > Cc: patches@amperecomputing.com; michael.d.kinney@intel.com; > gaoliming@byosoft.com.cn; zhiguang.liu@intel.com; Chang, Abner > ; Tinh Nguyen > > Subject: [PATCH 1/2] MdePkg/IndustryStandard: Adds definitions for IPMI > SSIF >=20 > Caution: This message originated from an External Source. Use proper > caution when opening attachments, clicking links, or responding. >=20 >=20 > Specification reference: > https://www.intel.com/content/www/us/en/products/docs/servers/ipmi/i > pmi-second-gen-interface-spec-v2-rev1-1.html >=20 > Signed-off-by: Tinh Nguyen > --- > MdePkg/MdePkg.dec | 26 ++++++ > MdePkg/Include/IndustryStandard/IpmiSsif.h | 98 > ++++++++++++++++++++ > 2 files changed, 124 insertions(+) >=20 > diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec index > 7488ccda7a00..518e4200e9af 100644 > --- a/MdePkg/MdePkg.dec > +++ b/MdePkg/MdePkg.dec > @@ -10,6 +10,7 @@ > # Copyright (c) 2022, Loongson Technology Corporation Limited. All right= s > reserved.
# Copyright (c) 2021 - 2022, Arm Limited. All rights > reserved.
# Copyright (C) 2023 Advanced Micro Devices, Inc. All righ= ts > reserved.
> +# Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
> # > # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -2353,6 +2354,31 @@ > [PcdsFixedAtBuild,PcdsPatchableInModule] > # @Prompt IPMI KCS Interface I/O Base Address >=20 > gEfiMdePkgTokenSpaceGuid.PcdIpmiKcsIoBaseAddress|0xca2|UINT16|0x00 > 000031 >=20 > + ## This is SMBus slave address for the SSIF to the BMC. > + # The recommended value defined by IPMI specification is 0x20 (sectio= n > 12.12). > + # @Prompt IPMI SSIF SMBus slave address > + > gEfiMdePkgTokenSpaceGuid.PcdIpmiSmbusSlaveAddr|0x20|UINT8|0x00000 > 032 > + > + ## This is the maximum number of IPMI SSIF request retries. > + # The IPMI specification specified min value is 5 (section 12.17). > + # @Prompt Number of IPMI SSIF request retries. > + > + > gEfiMdePkgTokenSpaceGuid.PcdIpmiSsifRequestRetryCount|0x05|UINT8|0 > x000 > + 00033 > + > + ## This is the required interval for each IPMI request retry. > + # The IPMI specification specified a time range of 60ms to 250ms (sec= tion > 12.17). > + # The default setting is min. > + # @Prompt Time between IPMI SSIF request retries. > + > + > gEfiMdePkgTokenSpaceGuid.PcdIpmiSsifRequestRetryInterval|60000|UINT3 > 2| > + 0x00000034 Please give the unit to PCD name, for example PcdIpmiSsifRequestRetryInterv= alMicrosecond that looks more clear to readers. > + > + ## This value is the maximum retries of an IPMI SSIF response # > + @Prompt Number of IPMI SSIF response retries. > + > + > gEfiMdePkgTokenSpaceGuid.PcdIpmiSsifResponseRetryCount|250|UINT8|0 > x000 > + 00035 Is 250 times of retry defined in spec? Seems to me it is too many? > + > + ## This is the required interval for each IPMI response retry. > + # The IPMI specification specified min value is 60ms (section 12.17). > + # @Prompt Time-out for a response, internal > + > + > gEfiMdePkgTokenSpaceGuid.PcdIpmiSsifResponseRetryInterval|60000|UINT > 32 > + |0x00000036 > + > [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] > ## This value is used to set the base address of PCI express hierarchy= . > # @Prompt PCI Express Base Address. > diff --git a/MdePkg/Include/IndustryStandard/IpmiSsif.h > b/MdePkg/Include/IndustryStandard/IpmiSsif.h > new file mode 100644 > index 000000000000..4a97438109a9 > --- /dev/null > +++ b/MdePkg/Include/IndustryStandard/IpmiSsif.h > @@ -0,0 +1,98 @@ > +/** @file > + IPMI SSIF Definitions > + > + Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
> + SPDX-License-Identifier: BSD-2-Clause-Patent > + > + @par Revision Reference: > + - IPMI Specification > + Version 2.0, Rev. 1.1 > + > + > +https://www.intel.com/content/www/us/en/products/docs/servers/ipmi/ > ipmi > +-second-gen-interface-spec-v2-rev1-1.html > +**/ > + > +#ifndef IPMI_SSIF_H_ > +#define IPMI_SSIF_H_ An additional whitespace between "#define" and "IPMI_SSIF_H_". > + > +/// > +/// Definitions for SMBUS Commands for SSIF /// Table 12 - Summary of > +SMBUS Commands for SSIF /// > + > +// Write block Please have a consist comment format "///". > +#define IPMI_SSIF_SMBUS_CMD_SINGLE_PART_WRITE 0x02 > +#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_WRITE_START 0x06 > +#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_WRITE_MIDDLE 0x07 > +#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_WRITE_END 0x08 > + > +// Read block Please have a consist comment format "///". Thanks Abner > +#define IPMI_SSIF_SMBUS_CMD_SINGLE_PART_READ 0x03 > +#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_READ_START 0x03 > +#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_READ_MIDDLE 0x09 > +#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_READ_END 0x09 > +#define IPMI_SSIF_SMBUS_CMD_MULTI_PART_READ_RETRY 0x0A > + > +/// > +/// Definitions for Multi-Part Read Transactions /// Section 12.5 /// > +#define IPMI_SSIF_MULTI_PART_READ_START_SIZE 0x1E > +#define IPMI_SSIF_MULTI_PART_READ_START_PATTERN1 0x00 #define > +IPMI_SSIF_MULTI_PART_READ_START_PATTERN2 0x01 > +#define IPMI_SSIF_MULTI_PART_READ_END_PATTERN 0xFF > + > +/// > +/// IPMI SSIF maximum message size > +/// > +#define IPMI_SSIF_INPUT_MESSAGE_SIZE_MAX 0xFF > +#define IPMI_SSIF_OUTPUT_MESSAGE_SIZE_MAX 0xFF > + > +/// > +/// IPMI SMBus system interface maximum packet size in byte /// #define > +IPMI_SSIF_MAXIMUM_PACKET_SIZE_IN_BYTES 0x20 > + > +typedef enum { > + IpmiSsifPacketStart =3D 0, > + IpmiSsifPacketMiddle, > + IpmiSsifPacketEnd, > + IpmiSsifPacketSingle, > + IpmiSsifPacketMax > +} IPMI_SSIF_PACKET_ATTRIBUTE; > + > +#pragma pack (1) > +/// > +/// IPMI SSIF Interface Request Format > +/// Section 12.2 and 12.3 > +/// > +typedef struct { > + UINT8 NetFunc; > + UINT8 Command; > +} IPMI_SSIF_REQUEST_HEADER; > + > +/// > +/// IPMI SSIF Interface Response Format /// Section 12.4 and 12.5 /// > +typedef struct { > + UINT8 StartPattern[2]; > + UINT8 NetFunc; > + UINT8 Command; > +} IPMI_SSIF_RESPONSE_PACKET_START; > + > +typedef struct { > + UINT8 BlockNumber; > +} IPMI_SSIF_RESPONSE_PACKET_MIDDLE; > + > +typedef struct { > + UINT8 EndPattern; > +} IPMI_SSIF_RESPONSE_PACKET_END; > + > +typedef struct { > + UINT8 NetFunc; > + UINT8 Command; > +} IPMI_SSIF_RESPONSE_SINGLE_PACKET; > + > +#pragma pack () > + > +#endif /* IPMI_SSIF_H_ */ > -- > 2.40.0