[edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base definitions

Chang, Abner via groups.io posted 1 patch 1 year ago
Failed in applying to current master (apply log)
MdePkg/Include/IndustryStandard/Pldm.h | 81 ++++++++++++++++++++++++++
1 file changed, 81 insertions(+)
create mode 100644 MdePkg/Include/IndustryStandard/Pldm.h
[edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base definitions
Posted by Chang, Abner via groups.io 1 year ago
From: Abner Chang <abner.chang@amd.com>

BZ #4396
This change adds definitions for DMTF PLDM
base specification.

Spec ref:
https://www.dmtf.org/sites/default/files/standards/documents/DSP0240_1.1.0.pdf

Signed-off-by: Abner Chang <abner.chang@amd.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Nickle Wang <nicklew@nvidia.com>
Cc: Igor Kulchytskyy <igork@ami.com>
Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
---
 MdePkg/Include/IndustryStandard/Pldm.h | 81 ++++++++++++++++++++++++++
 1 file changed, 81 insertions(+)
 create mode 100644 MdePkg/Include/IndustryStandard/Pldm.h

diff --git a/MdePkg/Include/IndustryStandard/Pldm.h b/MdePkg/Include/IndustryStandard/Pldm.h
new file mode 100644
index 00000000000..82d65b71874
--- /dev/null
+++ b/MdePkg/Include/IndustryStandard/Pldm.h
@@ -0,0 +1,81 @@
+/**
+  The definitions of DMTF Platform Level Data Model (PLDM)
+  Base Specification.
+
+  Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+  @par Revision Reference:
+  DMTF Platform Level Data Model (PLDM) Base Specification
+  Version 1.1.0
+  https://www.dmtf.org/sites/default/files/standards/documents/DSP0240_1.1.0.pdf
+
+**/
+
+#ifndef PLDM_H_
+#define PLDM_H_
+
+#pragma pack(1)
+
+#define PLDM_MESSAGE_HEADER_VERSION  0
+
+///
+/// General definitions from Platform Level Data Model (PLDM) Base
+/// Specification (DMTF DSP0240)
+///
+typedef struct  {
+  UINT8    InstanceId    : 5;          ///< Request instance ID.
+  UINT8    Reserved      : 1;          ///< Reserved bit.
+  UINT8    DatagramBit   : 1;          ///< used to indicate whether the Instance ID field is
+                                       ///< being used for tracking and matching requests and
+                                       ///< responses, or just being used for asynchronous
+                                       ///< notifications.
+  UINT8    RequestBit    : 1;          ///< Request bit.
+  UINT8    PldmType      : 6;          ///< PLDM message type.
+  UINT8    HeaderVersion : 2;          ///< Header version.
+  UINT8    PldmTypeCommandCode;        ///< The command code of PLDM message type.
+} PLDM_MESSAGE_HEADER;
+
+typedef PLDM_MESSAGE_HEADER PLDM_REQUEST_HEADER;
+
+#define PLDM_MESSAGE_HEADER_IS_REQUEST        1
+#define PLDM_MESSAGE_HEADER_IS_DATAGRAM       1
+#define PLDM_MESSAGE_HEADER_INSTANCE_ID_MASK  0x1f
+
+typedef struct {
+  PLDM_MESSAGE_HEADER    PldmHeader;
+  UINT8                  PldmCompletionCode;   ///< PLDM completion  of response message.
+} PLDM_RESPONSE_HEADER;
+
+#pragma pack()
+
+#define PLDM_HEADER_VERSION  0x00
+
+#define PLDM_COMPLETION_CODE_SUCCESS                     0x00
+#define PLDM_COMPLETION_CODE_ERROR                       0x01
+#define PLDM_COMPLETION_CODE_ERROR_INVALID_DATA          0x02
+#define PLDM_COMPLETION_CODE_ERROR_INVALID_LENGTH        0x03
+#define PLDM_COMPLETION_CODE_ERROR_NOT_READY             0x04
+#define PLDM_COMPLETION_CODE_ERROR_UNSUPPORTED_PLDM_CMD  0x05
+#define PLDM_COMPLETION_CODE_ERROR_INVALID_PLDM_TYPE     0x20
+#define PLDM_COMPLETION_CODE_SPECIFIC_START              0x80
+#define PLDM_COMPLETION_CODE_SPECIFIC_END                0xff
+
+///
+/// Type Code definitions from Platform Level Data Model (PLDM) IDs
+/// and Codes Specification (DMTF DSP0245)
+/// https://www.dmtf.org/sites/default/files/standards/documents/DSP0245_1.3.0.pdf
+///
+#define PLDM_TYPE_MESSAGE_CONTROL_AND_DISCOVERY    0x00
+#define PLDM_TYPE_SMBIOS                           0x01
+#define PLDM_TYPE_PLATFORM_MONITORING_AND_CONTROL  0x02
+#define PLDM_TYPE_BIOS_CONTROL_AND_CONFIGURATION   0x03
+
+#define PLDM_TRANSFER_FLAG_START          0x01
+#define PLDM_TRANSFER_FLAG_MIDDLE         0x02
+#define PLDM_TRANSFER_FLAG_END            0x04
+#define PLDM_TRANSFER_FLAG_START_AND_END  0x05
+
+#define PLDM_TRANSFER_OPERATION_FLAG_GET_NEXT_PART   0x00
+#define PLDM_TRANSFER_OPERATION_FLAG_GET_FIRST_PART  0x01
+#endif // PLDM_H_
-- 
2.37.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#102352): https://edk2.groups.io/g/devel/message/102352
Mute This Topic: https://groups.io/mt/98007176/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base definitions
Posted by Michael D Kinney 1 year ago
I see PldmSmbiosTransfer.h includes this file.  Are there any other files that will include this file?

Could this content be folded into PldmSmbiosTransfer.h to reduce total number of include files?

Mike

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Chang, Abner via groups.io
> Sent: Saturday, April 1, 2023 6:52 PM
> To: devel@edk2.groups.io
> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang
> <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor Kulchytskyy <igork@ami.com>; Oram, Isaac W
> <isaac.w.oram@intel.com>; Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
> Subject: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base definitions
> 
> From: Abner Chang <abner.chang@amd.com>
> 
> BZ #4396
> This change adds definitions for DMTF PLDM
> base specification.
> 
> Spec ref:
> https://www.dmtf.org/sites/default/files/standards/documents/DSP0240_1.1.0.pdf
> 
> Signed-off-by: Abner Chang <abner.chang@amd.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> Cc: Nickle Wang <nicklew@nvidia.com>
> Cc: Igor Kulchytskyy <igork@ami.com>
> Cc: Isaac Oram <isaac.w.oram@intel.com>
> Cc: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
> ---
>  MdePkg/Include/IndustryStandard/Pldm.h | 81 ++++++++++++++++++++++++++
>  1 file changed, 81 insertions(+)
>  create mode 100644 MdePkg/Include/IndustryStandard/Pldm.h
> 
> diff --git a/MdePkg/Include/IndustryStandard/Pldm.h b/MdePkg/Include/IndustryStandard/Pldm.h
> new file mode 100644
> index 00000000000..82d65b71874
> --- /dev/null
> +++ b/MdePkg/Include/IndustryStandard/Pldm.h
> @@ -0,0 +1,81 @@
> +/**
> +  The definitions of DMTF Platform Level Data Model (PLDM)
> +  Base Specification.
> +
> +  Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +  @par Revision Reference:
> +  DMTF Platform Level Data Model (PLDM) Base Specification
> +  Version 1.1.0
> +  https://www.dmtf.org/sites/default/files/standards/documents/DSP0240_1.1.0.pdf
> +
> +**/
> +
> +#ifndef PLDM_H_
> +#define PLDM_H_
> +
> +#pragma pack(1)
> +
> +#define PLDM_MESSAGE_HEADER_VERSION  0
> +
> +///
> +/// General definitions from Platform Level Data Model (PLDM) Base
> +/// Specification (DMTF DSP0240)
> +///
> +typedef struct  {
> +  UINT8    InstanceId    : 5;          ///< Request instance ID.
> +  UINT8    Reserved      : 1;          ///< Reserved bit.
> +  UINT8    DatagramBit   : 1;          ///< used to indicate whether the Instance ID field is
> +                                       ///< being used for tracking and matching requests and
> +                                       ///< responses, or just being used for asynchronous
> +                                       ///< notifications.
> +  UINT8    RequestBit    : 1;          ///< Request bit.
> +  UINT8    PldmType      : 6;          ///< PLDM message type.
> +  UINT8    HeaderVersion : 2;          ///< Header version.
> +  UINT8    PldmTypeCommandCode;        ///< The command code of PLDM message type.
> +} PLDM_MESSAGE_HEADER;
> +
> +typedef PLDM_MESSAGE_HEADER PLDM_REQUEST_HEADER;
> +
> +#define PLDM_MESSAGE_HEADER_IS_REQUEST        1
> +#define PLDM_MESSAGE_HEADER_IS_DATAGRAM       1
> +#define PLDM_MESSAGE_HEADER_INSTANCE_ID_MASK  0x1f
> +
> +typedef struct {
> +  PLDM_MESSAGE_HEADER    PldmHeader;
> +  UINT8                  PldmCompletionCode;   ///< PLDM completion  of response message.
> +} PLDM_RESPONSE_HEADER;
> +
> +#pragma pack()
> +
> +#define PLDM_HEADER_VERSION  0x00
> +
> +#define PLDM_COMPLETION_CODE_SUCCESS                     0x00
> +#define PLDM_COMPLETION_CODE_ERROR                       0x01
> +#define PLDM_COMPLETION_CODE_ERROR_INVALID_DATA          0x02
> +#define PLDM_COMPLETION_CODE_ERROR_INVALID_LENGTH        0x03
> +#define PLDM_COMPLETION_CODE_ERROR_NOT_READY             0x04
> +#define PLDM_COMPLETION_CODE_ERROR_UNSUPPORTED_PLDM_CMD  0x05
> +#define PLDM_COMPLETION_CODE_ERROR_INVALID_PLDM_TYPE     0x20
> +#define PLDM_COMPLETION_CODE_SPECIFIC_START              0x80
> +#define PLDM_COMPLETION_CODE_SPECIFIC_END                0xff
> +
> +///
> +/// Type Code definitions from Platform Level Data Model (PLDM) IDs
> +/// and Codes Specification (DMTF DSP0245)
> +/// https://www.dmtf.org/sites/default/files/standards/documents/DSP0245_1.3.0.pdf
> +///
> +#define PLDM_TYPE_MESSAGE_CONTROL_AND_DISCOVERY    0x00
> +#define PLDM_TYPE_SMBIOS                           0x01
> +#define PLDM_TYPE_PLATFORM_MONITORING_AND_CONTROL  0x02
> +#define PLDM_TYPE_BIOS_CONTROL_AND_CONFIGURATION   0x03
> +
> +#define PLDM_TRANSFER_FLAG_START          0x01
> +#define PLDM_TRANSFER_FLAG_MIDDLE         0x02
> +#define PLDM_TRANSFER_FLAG_END            0x04
> +#define PLDM_TRANSFER_FLAG_START_AND_END  0x05
> +
> +#define PLDM_TRANSFER_OPERATION_FLAG_GET_NEXT_PART   0x00
> +#define PLDM_TRANSFER_OPERATION_FLAG_GET_FIRST_PART  0x01
> +#endif // PLDM_H_
> --
> 2.37.1.windows.1
> 
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#103176): https://edk2.groups.io/g/devel/message/103176
Mute This Topic: https://groups.io/mt/98007176/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base definitions
Posted by Chang, Abner via groups.io 1 year ago
[AMD Official Use Only - General]

There are couple subordinate specifications base on PLDM base spec. There is possible someone introduces another PLDM C header file that includes PLDM base definitions. So PLDM base definitions should be separated.

Abner

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Michael
> D Kinney via groups.io
> Sent: Wednesday, April 19, 2023 1:50 AM
> To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>
> Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang
> <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor
> Kulchytskyy <igork@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>;
> Attar, AbdulLateef (Abdul Lateef) <AbdulLateef.Attar@amd.com>; Kinney,
> Michael D <michael.d.kinney@intel.com>
> Subject: Re: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base
> definitions
> 
> Caution: This message originated from an External Source. Use proper
> caution when opening attachments, clicking links, or responding.
> 
> 
> I see PldmSmbiosTransfer.h includes this file.  Are there any other files that
> will include this file?
> 
> Could this content be folded into PldmSmbiosTransfer.h to reduce total
> number of include files?
> 
> Mike
> 
> > -----Original Message-----
> > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Chang,
> > Abner via groups.io
> > Sent: Saturday, April 1, 2023 6:52 PM
> > To: devel@edk2.groups.io
> > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming
> > <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>;
> > Nickle Wang <nicklew@nvidia.com>; Igor Kulchytskyy <igork@ami.com>;
> > Oram, Isaac W <isaac.w.oram@intel.com>; Abdul Lateef Attar
> > <AbdulLateef.Attar@amd.com>
> > Subject: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base
> > definitions
> >
> > From: Abner Chang <abner.chang@amd.com>
> >
> > BZ #4396
> > This change adds definitions for DMTF PLDM base specification.
> >
> > Spec ref:
> >
> https://www.dmtf.org/sites/default/files/standards/documents/DSP0240_1
> > .1.0.pdf
> >
> > Signed-off-by: Abner Chang <abner.chang@amd.com>
> > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> > Cc: Nickle Wang <nicklew@nvidia.com>
> > Cc: Igor Kulchytskyy <igork@ami.com>
> > Cc: Isaac Oram <isaac.w.oram@intel.com>
> > Cc: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
> > ---
> >  MdePkg/Include/IndustryStandard/Pldm.h | 81
> > ++++++++++++++++++++++++++
> >  1 file changed, 81 insertions(+)
> >  create mode 100644 MdePkg/Include/IndustryStandard/Pldm.h
> >
> > diff --git a/MdePkg/Include/IndustryStandard/Pldm.h
> > b/MdePkg/Include/IndustryStandard/Pldm.h
> > new file mode 100644
> > index 00000000000..82d65b71874
> > --- /dev/null
> > +++ b/MdePkg/Include/IndustryStandard/Pldm.h
> > @@ -0,0 +1,81 @@
> > +/**
> > +  The definitions of DMTF Platform Level Data Model (PLDM)
> > +  Base Specification.
> > +
> > +  Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
> > +  SPDX-License-Identifier: BSD-2-Clause-Patent
> > +
> > +  @par Revision Reference:
> > +  DMTF Platform Level Data Model (PLDM) Base Specification  Version
> > + 1.1.0
> > +
> https://www.dmtf.org/sites/default/files/standards/documents/DSP0240
> > + _1.1.0.pdf
> > +
> > +**/
> > +
> > +#ifndef PLDM_H_
> > +#define PLDM_H_
> > +
> > +#pragma pack(1)
> > +
> > +#define PLDM_MESSAGE_HEADER_VERSION  0
> > +
> > +///
> > +/// General definitions from Platform Level Data Model (PLDM) Base
> > +/// Specification (DMTF DSP0240) /// typedef struct  {
> > +  UINT8    InstanceId    : 5;          ///< Request instance ID.
> > +  UINT8    Reserved      : 1;          ///< Reserved bit.
> > +  UINT8    DatagramBit   : 1;          ///< used to indicate whether the Instance
> ID field is
> > +                                       ///< being used for tracking and matching requests
> and
> > +                                       ///< responses, or just being used for asynchronous
> > +                                       ///< notifications.
> > +  UINT8    RequestBit    : 1;          ///< Request bit.
> > +  UINT8    PldmType      : 6;          ///< PLDM message type.
> > +  UINT8    HeaderVersion : 2;          ///< Header version.
> > +  UINT8    PldmTypeCommandCode;        ///< The command code of PLDM
> message type.
> > +} PLDM_MESSAGE_HEADER;
> > +
> > +typedef PLDM_MESSAGE_HEADER PLDM_REQUEST_HEADER;
> > +
> > +#define PLDM_MESSAGE_HEADER_IS_REQUEST        1
> > +#define PLDM_MESSAGE_HEADER_IS_DATAGRAM       1
> > +#define PLDM_MESSAGE_HEADER_INSTANCE_ID_MASK  0x1f
> > +
> > +typedef struct {
> > +  PLDM_MESSAGE_HEADER    PldmHeader;
> > +  UINT8                  PldmCompletionCode;   ///< PLDM completion  of
> response message.
> > +} PLDM_RESPONSE_HEADER;
> > +
> > +#pragma pack()
> > +
> > +#define PLDM_HEADER_VERSION  0x00
> > +
> > +#define PLDM_COMPLETION_CODE_SUCCESS                     0x00
> > +#define PLDM_COMPLETION_CODE_ERROR                       0x01
> > +#define PLDM_COMPLETION_CODE_ERROR_INVALID_DATA          0x02
> > +#define PLDM_COMPLETION_CODE_ERROR_INVALID_LENGTH        0x03
> > +#define PLDM_COMPLETION_CODE_ERROR_NOT_READY             0x04
> > +#define
> PLDM_COMPLETION_CODE_ERROR_UNSUPPORTED_PLDM_CMD  0x05
> > +#define PLDM_COMPLETION_CODE_ERROR_INVALID_PLDM_TYPE
> 0x20
> > +#define PLDM_COMPLETION_CODE_SPECIFIC_START              0x80
> > +#define PLDM_COMPLETION_CODE_SPECIFIC_END                0xff
> > +
> > +///
> > +/// Type Code definitions from Platform Level Data Model (PLDM) IDs
> > +/// and Codes Specification (DMTF DSP0245) ///
> >
> +https://www.dmtf.org/sites/default/files/standards/documents/DSP0245_
> > +1.3.0.pdf
> > +///
> > +#define PLDM_TYPE_MESSAGE_CONTROL_AND_DISCOVERY    0x00
> > +#define PLDM_TYPE_SMBIOS                           0x01
> > +#define PLDM_TYPE_PLATFORM_MONITORING_AND_CONTROL  0x02
> > +#define PLDM_TYPE_BIOS_CONTROL_AND_CONFIGURATION   0x03
> > +
> > +#define PLDM_TRANSFER_FLAG_START          0x01
> > +#define PLDM_TRANSFER_FLAG_MIDDLE         0x02
> > +#define PLDM_TRANSFER_FLAG_END            0x04
> > +#define PLDM_TRANSFER_FLAG_START_AND_END  0x05
> > +
> > +#define PLDM_TRANSFER_OPERATION_FLAG_GET_NEXT_PART   0x00
> > +#define PLDM_TRANSFER_OPERATION_FLAG_GET_FIRST_PART  0x01
> #endif //
> > +PLDM_H_
> > --
> > 2.37.1.windows.1
> >
> >
> >
> >
> >
> 
> 
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#103196): https://edk2.groups.io/g/devel/message/103196
Mute This Topic: https://groups.io/mt/98007176/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base definitions
Posted by Michael D Kinney 1 year ago
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Chang, Abner via groups.io
> Sent: Tuesday, April 18, 2023 7:14 PM
> To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@intel.com>
> Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor
> Kulchytskyy <igork@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>; Attar, AbdulLateef (Abdul Lateef)
> <AbdulLateef.Attar@amd.com>
> Subject: Re: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base definitions
> 
> [AMD Official Use Only - General]
> 
> There are couple subordinate specifications base on PLDM base spec. There is possible someone introduces another PLDM C
> header file that includes PLDM base definitions. So PLDM base definitions should be separated.
> 
> Abner
> 
> > -----Original Message-----
> > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Michael
> > D Kinney via groups.io
> > Sent: Wednesday, April 19, 2023 1:50 AM
> > To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>
> > Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang
> > <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor
> > Kulchytskyy <igork@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>;
> > Attar, AbdulLateef (Abdul Lateef) <AbdulLateef.Attar@amd.com>; Kinney,
> > Michael D <michael.d.kinney@intel.com>
> > Subject: Re: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base
> > definitions
> >
> > Caution: This message originated from an External Source. Use proper
> > caution when opening attachments, clicking links, or responding.
> >
> >
> > I see PldmSmbiosTransfer.h includes this file.  Are there any other files that
> > will include this file?
> >
> > Could this content be folded into PldmSmbiosTransfer.h to reduce total
> > number of include files?
> >
> > Mike
> >
> > > -----Original Message-----
> > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Chang,
> > > Abner via groups.io
> > > Sent: Saturday, April 1, 2023 6:52 PM
> > > To: devel@edk2.groups.io
> > > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming
> > > <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>;
> > > Nickle Wang <nicklew@nvidia.com>; Igor Kulchytskyy <igork@ami.com>;
> > > Oram, Isaac W <isaac.w.oram@intel.com>; Abdul Lateef Attar
> > > <AbdulLateef.Attar@amd.com>
> > > Subject: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base
> > > definitions
> > >
> > > From: Abner Chang <abner.chang@amd.com>
> > >
> > > BZ #4396
> > > This change adds definitions for DMTF PLDM base specification.
> > >
> > > Spec ref:
> > >
> > https://www.dmtf.org/sites/default/files/standards/documents/DSP0240_1
> > > .1.0.pdf
> > >
> > > Signed-off-by: Abner Chang <abner.chang@amd.com>
> > > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > > Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> > > Cc: Nickle Wang <nicklew@nvidia.com>
> > > Cc: Igor Kulchytskyy <igork@ami.com>
> > > Cc: Isaac Oram <isaac.w.oram@intel.com>
> > > Cc: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
> > > ---
> > >  MdePkg/Include/IndustryStandard/Pldm.h | 81
> > > ++++++++++++++++++++++++++
> > >  1 file changed, 81 insertions(+)
> > >  create mode 100644 MdePkg/Include/IndustryStandard/Pldm.h
> > >
> > > diff --git a/MdePkg/Include/IndustryStandard/Pldm.h
> > > b/MdePkg/Include/IndustryStandard/Pldm.h
> > > new file mode 100644
> > > index 00000000000..82d65b71874
> > > --- /dev/null
> > > +++ b/MdePkg/Include/IndustryStandard/Pldm.h
> > > @@ -0,0 +1,81 @@
> > > +/**
> > > +  The definitions of DMTF Platform Level Data Model (PLDM)
> > > +  Base Specification.
> > > +
> > > +  Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
> > > +  SPDX-License-Identifier: BSD-2-Clause-Patent
> > > +
> > > +  @par Revision Reference:
> > > +  DMTF Platform Level Data Model (PLDM) Base Specification  Version
> > > + 1.1.0
> > > +
> > https://www.dmtf.org/sites/default/files/standards/documents/DSP0240
> > > + _1.1.0.pdf
> > > +
> > > +**/
> > > +
> > > +#ifndef PLDM_H_
> > > +#define PLDM_H_
> > > +
> > > +#pragma pack(1)
> > > +
> > > +#define PLDM_MESSAGE_HEADER_VERSION  0
> > > +
> > > +///
> > > +/// General definitions from Platform Level Data Model (PLDM) Base
> > > +/// Specification (DMTF DSP0240) /// typedef struct  {
> > > +  UINT8    InstanceId    : 5;          ///< Request instance ID.
> > > +  UINT8    Reserved      : 1;          ///< Reserved bit.
> > > +  UINT8    DatagramBit   : 1;          ///< used to indicate whether the Instance
> > ID field is
> > > +                                       ///< being used for tracking and matching requests
> > and
> > > +                                       ///< responses, or just being used for asynchronous
> > > +                                       ///< notifications.
> > > +  UINT8    RequestBit    : 1;          ///< Request bit.
> > > +  UINT8    PldmType      : 6;          ///< PLDM message type.
> > > +  UINT8    HeaderVersion : 2;          ///< Header version.
> > > +  UINT8    PldmTypeCommandCode;        ///< The command code of PLDM
> > message type.
> > > +} PLDM_MESSAGE_HEADER;
> > > +
> > > +typedef PLDM_MESSAGE_HEADER PLDM_REQUEST_HEADER;
> > > +
> > > +#define PLDM_MESSAGE_HEADER_IS_REQUEST        1
> > > +#define PLDM_MESSAGE_HEADER_IS_DATAGRAM       1
> > > +#define PLDM_MESSAGE_HEADER_INSTANCE_ID_MASK  0x1f
> > > +
> > > +typedef struct {
> > > +  PLDM_MESSAGE_HEADER    PldmHeader;
> > > +  UINT8                  PldmCompletionCode;   ///< PLDM completion  of
> > response message.
> > > +} PLDM_RESPONSE_HEADER;
> > > +
> > > +#pragma pack()
> > > +
> > > +#define PLDM_HEADER_VERSION  0x00
> > > +
> > > +#define PLDM_COMPLETION_CODE_SUCCESS                     0x00
> > > +#define PLDM_COMPLETION_CODE_ERROR                       0x01
> > > +#define PLDM_COMPLETION_CODE_ERROR_INVALID_DATA          0x02
> > > +#define PLDM_COMPLETION_CODE_ERROR_INVALID_LENGTH        0x03
> > > +#define PLDM_COMPLETION_CODE_ERROR_NOT_READY             0x04
> > > +#define
> > PLDM_COMPLETION_CODE_ERROR_UNSUPPORTED_PLDM_CMD  0x05
> > > +#define PLDM_COMPLETION_CODE_ERROR_INVALID_PLDM_TYPE
> > 0x20
> > > +#define PLDM_COMPLETION_CODE_SPECIFIC_START              0x80
> > > +#define PLDM_COMPLETION_CODE_SPECIFIC_END                0xff
> > > +
> > > +///
> > > +/// Type Code definitions from Platform Level Data Model (PLDM) IDs
> > > +/// and Codes Specification (DMTF DSP0245) ///
> > >
> > +https://www.dmtf.org/sites/default/files/standards/documents/DSP0245_
> > > +1.3.0.pdf
> > > +///
> > > +#define PLDM_TYPE_MESSAGE_CONTROL_AND_DISCOVERY    0x00
> > > +#define PLDM_TYPE_SMBIOS                           0x01
> > > +#define PLDM_TYPE_PLATFORM_MONITORING_AND_CONTROL  0x02
> > > +#define PLDM_TYPE_BIOS_CONTROL_AND_CONFIGURATION   0x03
> > > +
> > > +#define PLDM_TRANSFER_FLAG_START          0x01
> > > +#define PLDM_TRANSFER_FLAG_MIDDLE         0x02
> > > +#define PLDM_TRANSFER_FLAG_END            0x04
> > > +#define PLDM_TRANSFER_FLAG_START_AND_END  0x05
> > > +
> > > +#define PLDM_TRANSFER_OPERATION_FLAG_GET_NEXT_PART   0x00
> > > +#define PLDM_TRANSFER_OPERATION_FLAG_GET_FIRST_PART  0x01
> > #endif //
> > > +PLDM_H_
> > > --
> > > 2.37.1.windows.1
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
> >
> >
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#103225): https://edk2.groups.io/g/devel/message/103225
Mute This Topic: https://groups.io/mt/98007176/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base definitions
Posted by Chang, Abner via groups.io 1 year ago
[AMD Official Use Only - General]

Hi Mike and liming,
Here are two PRs for PLDM related C header files, which are all passed CI. Please help to push it to master branch.

https://github.com/tianocore/edk2/pull/4287
https://github.com/tianocore/edk2/pull/4288

Thanks
Abner

> -----Original Message-----
> From: Kinney, Michael D <michael.d.kinney@intel.com>
> Sent: Wednesday, April 19, 2023 11:05 PM
> To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>
> Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang
> <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor
> Kulchytskyy <igork@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>;
> Attar, AbdulLateef (Abdul Lateef) <AbdulLateef.Attar@amd.com>; Kinney,
> Michael D <michael.d.kinney@intel.com>
> Subject: RE: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base
> definitions
> 
> Caution: This message originated from an External Source. Use proper
> caution when opening attachments, clicking links, or responding.
> 
> 
> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
> 
> > -----Original Message-----
> > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Chang,
> > Abner via groups.io
> > Sent: Tuesday, April 18, 2023 7:14 PM
> > To: devel@edk2.groups.io; Kinney, Michael D
> > <michael.d.kinney@intel.com>
> > Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang
> > <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor
> > Kulchytskyy <igork@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>;
> > Attar, AbdulLateef (Abdul Lateef) <AbdulLateef.Attar@amd.com>
> > Subject: Re: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base
> > definitions
> >
> > [AMD Official Use Only - General]
> >
> > There are couple subordinate specifications base on PLDM base spec.
> > There is possible someone introduces another PLDM C header file that
> includes PLDM base definitions. So PLDM base definitions should be
> separated.
> >
> > Abner
> >
> > > -----Original Message-----
> > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of
> > > Michael D Kinney via groups.io
> > > Sent: Wednesday, April 19, 2023 1:50 AM
> > > To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>
> > > Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang
> > > <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor
> > > Kulchytskyy <igork@ami.com>; Oram, Isaac W
> <isaac.w.oram@intel.com>;
> > > Attar, AbdulLateef (Abdul Lateef) <AbdulLateef.Attar@amd.com>;
> > > Kinney, Michael D <michael.d.kinney@intel.com>
> > > Subject: Re: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM
> Base
> > > definitions
> > >
> > > Caution: This message originated from an External Source. Use proper
> > > caution when opening attachments, clicking links, or responding.
> > >
> > >
> > > I see PldmSmbiosTransfer.h includes this file.  Are there any other
> > > files that will include this file?
> > >
> > > Could this content be folded into PldmSmbiosTransfer.h to reduce
> > > total number of include files?
> > >
> > > Mike
> > >
> > > > -----Original Message-----
> > > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of
> > > > Chang, Abner via groups.io
> > > > Sent: Saturday, April 1, 2023 6:52 PM
> > > > To: devel@edk2.groups.io
> > > > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming
> > > > <gaoliming@byosoft.com.cn>; Liu, Zhiguang
> > > > <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor
> > > > Kulchytskyy <igork@ami.com>; Oram, Isaac W
> > > > <isaac.w.oram@intel.com>; Abdul Lateef Attar
> > > > <AbdulLateef.Attar@amd.com>
> > > > Subject: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base
> > > > definitions
> > > >
> > > > From: Abner Chang <abner.chang@amd.com>
> > > >
> > > > BZ #4396
> > > > This change adds definitions for DMTF PLDM base specification.
> > > >
> > > > Spec ref:
> > > >
> > >
> https://www.dmtf.org/sites/default/files/standards/documents/DSP0240
> > > _1
> > > > .1.0.pdf
> > > >
> > > > Signed-off-by: Abner Chang <abner.chang@amd.com>
> > > > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > > > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > > > Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> > > > Cc: Nickle Wang <nicklew@nvidia.com>
> > > > Cc: Igor Kulchytskyy <igork@ami.com>
> > > > Cc: Isaac Oram <isaac.w.oram@intel.com>
> > > > Cc: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
> > > > ---
> > > >  MdePkg/Include/IndustryStandard/Pldm.h | 81
> > > > ++++++++++++++++++++++++++
> > > >  1 file changed, 81 insertions(+)
> > > >  create mode 100644 MdePkg/Include/IndustryStandard/Pldm.h
> > > >
> > > > diff --git a/MdePkg/Include/IndustryStandard/Pldm.h
> > > > b/MdePkg/Include/IndustryStandard/Pldm.h
> > > > new file mode 100644
> > > > index 00000000000..82d65b71874
> > > > --- /dev/null
> > > > +++ b/MdePkg/Include/IndustryStandard/Pldm.h
> > > > @@ -0,0 +1,81 @@
> > > > +/**
> > > > +  The definitions of DMTF Platform Level Data Model (PLDM)
> > > > +  Base Specification.
> > > > +
> > > > +  Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
> > > > +  SPDX-License-Identifier: BSD-2-Clause-Patent
> > > > +
> > > > +  @par Revision Reference:
> > > > +  DMTF Platform Level Data Model (PLDM) Base Specification
> > > > + Version
> > > > + 1.1.0
> > > > +
> > >
> https://www.dmtf.org/sites/default/files/standards/documents/DSP0240
> > > > + _1.1.0.pdf
> > > > +
> > > > +**/
> > > > +
> > > > +#ifndef PLDM_H_
> > > > +#define PLDM_H_
> > > > +
> > > > +#pragma pack(1)
> > > > +
> > > > +#define PLDM_MESSAGE_HEADER_VERSION  0
> > > > +
> > > > +///
> > > > +/// General definitions from Platform Level Data Model (PLDM)
> > > > +Base /// Specification (DMTF DSP0240) /// typedef struct  {
> > > > +  UINT8    InstanceId    : 5;          ///< Request instance ID.
> > > > +  UINT8    Reserved      : 1;          ///< Reserved bit.
> > > > +  UINT8    DatagramBit   : 1;          ///< used to indicate whether the
> Instance
> > > ID field is
> > > > +                                       ///< being used for
> > > > + tracking and matching requests
> > > and
> > > > +                                       ///< responses, or just being used for
> asynchronous
> > > > +                                       ///< notifications.
> > > > +  UINT8    RequestBit    : 1;          ///< Request bit.
> > > > +  UINT8    PldmType      : 6;          ///< PLDM message type.
> > > > +  UINT8    HeaderVersion : 2;          ///< Header version.
> > > > +  UINT8    PldmTypeCommandCode;        ///< The command code of
> PLDM
> > > message type.
> > > > +} PLDM_MESSAGE_HEADER;
> > > > +
> > > > +typedef PLDM_MESSAGE_HEADER PLDM_REQUEST_HEADER;
> > > > +
> > > > +#define PLDM_MESSAGE_HEADER_IS_REQUEST        1
> > > > +#define PLDM_MESSAGE_HEADER_IS_DATAGRAM       1
> > > > +#define PLDM_MESSAGE_HEADER_INSTANCE_ID_MASK  0x1f
> > > > +
> > > > +typedef struct {
> > > > +  PLDM_MESSAGE_HEADER    PldmHeader;
> > > > +  UINT8                  PldmCompletionCode;   ///< PLDM completion  of
> > > response message.
> > > > +} PLDM_RESPONSE_HEADER;
> > > > +
> > > > +#pragma pack()
> > > > +
> > > > +#define PLDM_HEADER_VERSION  0x00
> > > > +
> > > > +#define PLDM_COMPLETION_CODE_SUCCESS                     0x00
> > > > +#define PLDM_COMPLETION_CODE_ERROR                       0x01
> > > > +#define PLDM_COMPLETION_CODE_ERROR_INVALID_DATA          0x02
> > > > +#define PLDM_COMPLETION_CODE_ERROR_INVALID_LENGTH
> 0x03
> > > > +#define PLDM_COMPLETION_CODE_ERROR_NOT_READY             0x04
> > > > +#define
> > > PLDM_COMPLETION_CODE_ERROR_UNSUPPORTED_PLDM_CMD  0x05
> > > > +#define PLDM_COMPLETION_CODE_ERROR_INVALID_PLDM_TYPE
> > > 0x20
> > > > +#define PLDM_COMPLETION_CODE_SPECIFIC_START              0x80
> > > > +#define PLDM_COMPLETION_CODE_SPECIFIC_END                0xff
> > > > +
> > > > +///
> > > > +/// Type Code definitions from Platform Level Data Model (PLDM)
> > > > +IDs /// and Codes Specification (DMTF DSP0245) ///
> > > >
> > >
> +https://www.dmtf.org/sites/default/files/standards/documents/DSP024
> > > +5_
> > > > +1.3.0.pdf
> > > > +///
> > > > +#define PLDM_TYPE_MESSAGE_CONTROL_AND_DISCOVERY    0x00
> > > > +#define PLDM_TYPE_SMBIOS                           0x01
> > > > +#define PLDM_TYPE_PLATFORM_MONITORING_AND_CONTROL
> 0x02
> > > > +#define PLDM_TYPE_BIOS_CONTROL_AND_CONFIGURATION   0x03
> > > > +
> > > > +#define PLDM_TRANSFER_FLAG_START          0x01
> > > > +#define PLDM_TRANSFER_FLAG_MIDDLE         0x02
> > > > +#define PLDM_TRANSFER_FLAG_END            0x04
> > > > +#define PLDM_TRANSFER_FLAG_START_AND_END  0x05
> > > > +
> > > > +#define PLDM_TRANSFER_OPERATION_FLAG_GET_NEXT_PART   0x00
> > > > +#define PLDM_TRANSFER_OPERATION_FLAG_GET_FIRST_PART  0x01
> > > #endif //
> > > > +PLDM_H_
> > > > --
> > > > 2.37.1.windows.1
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> > 
> >


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#103270): https://edk2.groups.io/g/devel/message/103270
Mute This Topic: https://groups.io/mt/98007176/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base definitions
Posted by Michael D Kinney 1 year ago
Merged

Mike


> -----Original Message-----
> From: Chang, Abner <Abner.Chang@amd.com>
> Sent: Wednesday, April 19, 2023 8:25 PM
> To: Kinney, Michael D <michael.d.kinney@intel.com>; devel@edk2.groups.io
> Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor
> Kulchytskyy <igork@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>; Attar, AbdulLateef (Abdul Lateef)
> <AbdulLateef.Attar@amd.com>
> Subject: RE: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base definitions
> 
> [AMD Official Use Only - General]
> 
> Hi Mike and liming,
> Here are two PRs for PLDM related C header files, which are all passed CI. Please help to push it to master branch.
> 
> https://github.com/tianocore/edk2/pull/4287
> https://github.com/tianocore/edk2/pull/4288
> 
> Thanks
> Abner
> 
> > -----Original Message-----
> > From: Kinney, Michael D <michael.d.kinney@intel.com>
> > Sent: Wednesday, April 19, 2023 11:05 PM
> > To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>
> > Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang
> > <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor
> > Kulchytskyy <igork@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>;
> > Attar, AbdulLateef (Abdul Lateef) <AbdulLateef.Attar@amd.com>; Kinney,
> > Michael D <michael.d.kinney@intel.com>
> > Subject: RE: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base
> > definitions
> >
> > Caution: This message originated from an External Source. Use proper
> > caution when opening attachments, clicking links, or responding.
> >
> >
> > Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
> >
> > > -----Original Message-----
> > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Chang,
> > > Abner via groups.io
> > > Sent: Tuesday, April 18, 2023 7:14 PM
> > > To: devel@edk2.groups.io; Kinney, Michael D
> > > <michael.d.kinney@intel.com>
> > > Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang
> > > <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor
> > > Kulchytskyy <igork@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>;
> > > Attar, AbdulLateef (Abdul Lateef) <AbdulLateef.Attar@amd.com>
> > > Subject: Re: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base
> > > definitions
> > >
> > > [AMD Official Use Only - General]
> > >
> > > There are couple subordinate specifications base on PLDM base spec.
> > > There is possible someone introduces another PLDM C header file that
> > includes PLDM base definitions. So PLDM base definitions should be
> > separated.
> > >
> > > Abner
> > >
> > > > -----Original Message-----
> > > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of
> > > > Michael D Kinney via groups.io
> > > > Sent: Wednesday, April 19, 2023 1:50 AM
> > > > To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>
> > > > Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang
> > > > <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor
> > > > Kulchytskyy <igork@ami.com>; Oram, Isaac W
> > <isaac.w.oram@intel.com>;
> > > > Attar, AbdulLateef (Abdul Lateef) <AbdulLateef.Attar@amd.com>;
> > > > Kinney, Michael D <michael.d.kinney@intel.com>
> > > > Subject: Re: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM
> > Base
> > > > definitions
> > > >
> > > > Caution: This message originated from an External Source. Use proper
> > > > caution when opening attachments, clicking links, or responding.
> > > >
> > > >
> > > > I see PldmSmbiosTransfer.h includes this file.  Are there any other
> > > > files that will include this file?
> > > >
> > > > Could this content be folded into PldmSmbiosTransfer.h to reduce
> > > > total number of include files?
> > > >
> > > > Mike
> > > >
> > > > > -----Original Message-----
> > > > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of
> > > > > Chang, Abner via groups.io
> > > > > Sent: Saturday, April 1, 2023 6:52 PM
> > > > > To: devel@edk2.groups.io
> > > > > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming
> > > > > <gaoliming@byosoft.com.cn>; Liu, Zhiguang
> > > > > <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor
> > > > > Kulchytskyy <igork@ami.com>; Oram, Isaac W
> > > > > <isaac.w.oram@intel.com>; Abdul Lateef Attar
> > > > > <AbdulLateef.Attar@amd.com>
> > > > > Subject: [edk2-devel] [PATCH] MdePkg/Include: Add DMTF PLDM Base
> > > > > definitions
> > > > >
> > > > > From: Abner Chang <abner.chang@amd.com>
> > > > >
> > > > > BZ #4396
> > > > > This change adds definitions for DMTF PLDM base specification.
> > > > >
> > > > > Spec ref:
> > > > >
> > > >
> > https://www.dmtf.org/sites/default/files/standards/documents/DSP0240
> > > > _1
> > > > > .1.0.pdf
> > > > >
> > > > > Signed-off-by: Abner Chang <abner.chang@amd.com>
> > > > > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > > > > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > > > > Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> > > > > Cc: Nickle Wang <nicklew@nvidia.com>
> > > > > Cc: Igor Kulchytskyy <igork@ami.com>
> > > > > Cc: Isaac Oram <isaac.w.oram@intel.com>
> > > > > Cc: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
> > > > > ---
> > > > >  MdePkg/Include/IndustryStandard/Pldm.h | 81
> > > > > ++++++++++++++++++++++++++
> > > > >  1 file changed, 81 insertions(+)
> > > > >  create mode 100644 MdePkg/Include/IndustryStandard/Pldm.h
> > > > >
> > > > > diff --git a/MdePkg/Include/IndustryStandard/Pldm.h
> > > > > b/MdePkg/Include/IndustryStandard/Pldm.h
> > > > > new file mode 100644
> > > > > index 00000000000..82d65b71874
> > > > > --- /dev/null
> > > > > +++ b/MdePkg/Include/IndustryStandard/Pldm.h
> > > > > @@ -0,0 +1,81 @@
> > > > > +/**
> > > > > +  The definitions of DMTF Platform Level Data Model (PLDM)
> > > > > +  Base Specification.
> > > > > +
> > > > > +  Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
> > > > > +  SPDX-License-Identifier: BSD-2-Clause-Patent
> > > > > +
> > > > > +  @par Revision Reference:
> > > > > +  DMTF Platform Level Data Model (PLDM) Base Specification
> > > > > + Version
> > > > > + 1.1.0
> > > > > +
> > > >
> > https://www.dmtf.org/sites/default/files/standards/documents/DSP0240
> > > > > + _1.1.0.pdf
> > > > > +
> > > > > +**/
> > > > > +
> > > > > +#ifndef PLDM_H_
> > > > > +#define PLDM_H_
> > > > > +
> > > > > +#pragma pack(1)
> > > > > +
> > > > > +#define PLDM_MESSAGE_HEADER_VERSION  0
> > > > > +
> > > > > +///
> > > > > +/// General definitions from Platform Level Data Model (PLDM)
> > > > > +Base /// Specification (DMTF DSP0240) /// typedef struct  {
> > > > > +  UINT8    InstanceId    : 5;          ///< Request instance ID.
> > > > > +  UINT8    Reserved      : 1;          ///< Reserved bit.
> > > > > +  UINT8    DatagramBit   : 1;          ///< used to indicate whether the
> > Instance
> > > > ID field is
> > > > > +                                       ///< being used for
> > > > > + tracking and matching requests
> > > > and
> > > > > +                                       ///< responses, or just being used for
> > asynchronous
> > > > > +                                       ///< notifications.
> > > > > +  UINT8    RequestBit    : 1;          ///< Request bit.
> > > > > +  UINT8    PldmType      : 6;          ///< PLDM message type.
> > > > > +  UINT8    HeaderVersion : 2;          ///< Header version.
> > > > > +  UINT8    PldmTypeCommandCode;        ///< The command code of
> > PLDM
> > > > message type.
> > > > > +} PLDM_MESSAGE_HEADER;
> > > > > +
> > > > > +typedef PLDM_MESSAGE_HEADER PLDM_REQUEST_HEADER;
> > > > > +
> > > > > +#define PLDM_MESSAGE_HEADER_IS_REQUEST        1
> > > > > +#define PLDM_MESSAGE_HEADER_IS_DATAGRAM       1
> > > > > +#define PLDM_MESSAGE_HEADER_INSTANCE_ID_MASK  0x1f
> > > > > +
> > > > > +typedef struct {
> > > > > +  PLDM_MESSAGE_HEADER    PldmHeader;
> > > > > +  UINT8                  PldmCompletionCode;   ///< PLDM completion  of
> > > > response message.
> > > > > +} PLDM_RESPONSE_HEADER;
> > > > > +
> > > > > +#pragma pack()
> > > > > +
> > > > > +#define PLDM_HEADER_VERSION  0x00
> > > > > +
> > > > > +#define PLDM_COMPLETION_CODE_SUCCESS                     0x00
> > > > > +#define PLDM_COMPLETION_CODE_ERROR                       0x01
> > > > > +#define PLDM_COMPLETION_CODE_ERROR_INVALID_DATA          0x02
> > > > > +#define PLDM_COMPLETION_CODE_ERROR_INVALID_LENGTH
> > 0x03
> > > > > +#define PLDM_COMPLETION_CODE_ERROR_NOT_READY             0x04
> > > > > +#define
> > > > PLDM_COMPLETION_CODE_ERROR_UNSUPPORTED_PLDM_CMD  0x05
> > > > > +#define PLDM_COMPLETION_CODE_ERROR_INVALID_PLDM_TYPE
> > > > 0x20
> > > > > +#define PLDM_COMPLETION_CODE_SPECIFIC_START              0x80
> > > > > +#define PLDM_COMPLETION_CODE_SPECIFIC_END                0xff
> > > > > +
> > > > > +///
> > > > > +/// Type Code definitions from Platform Level Data Model (PLDM)
> > > > > +IDs /// and Codes Specification (DMTF DSP0245) ///
> > > > >
> > > >
> > +https://www.dmtf.org/sites/default/files/standards/documents/DSP024
> > > > +5_
> > > > > +1.3.0.pdf
> > > > > +///
> > > > > +#define PLDM_TYPE_MESSAGE_CONTROL_AND_DISCOVERY    0x00
> > > > > +#define PLDM_TYPE_SMBIOS                           0x01
> > > > > +#define PLDM_TYPE_PLATFORM_MONITORING_AND_CONTROL
> > 0x02
> > > > > +#define PLDM_TYPE_BIOS_CONTROL_AND_CONFIGURATION   0x03
> > > > > +
> > > > > +#define PLDM_TRANSFER_FLAG_START          0x01
> > > > > +#define PLDM_TRANSFER_FLAG_MIDDLE         0x02
> > > > > +#define PLDM_TRANSFER_FLAG_END            0x04
> > > > > +#define PLDM_TRANSFER_FLAG_START_AND_END  0x05
> > > > > +
> > > > > +#define PLDM_TRANSFER_OPERATION_FLAG_GET_NEXT_PART   0x00
> > > > > +#define PLDM_TRANSFER_OPERATION_FLAG_GET_FIRST_PART  0x01
> > > > #endif //
> > > > > +PLDM_H_
> > > > > --
> > > > > 2.37.1.windows.1
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > 
> > >


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#103330): https://edk2.groups.io/g/devel/message/103330
Mute This Topic: https://groups.io/mt/98007176/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-