Please find my comment below.
Thanks,
Nickle
> -Original Message-
> From: abner.ch...@amd.com
> Sent: Tuesday, April 18, 2023 3:16 PM
> To: devel@edk2.groups.io
> Cc: Isaac Oram ; Abdul Lateef Attar
> ; Nickle Wang ; Igor Kulchytskyy
>
> Subject: [edk2-platforms][PATCH V2 09/14] ManageabilityPkg/MctpProtocol:
> Add MctpProtocol
>
> External email: Use caution opening links or attachments
>
>
> From: Abner Chang
>
> MctpProtocol that transmits MCTP message over manageability transport
> interface library.
>
> Signed-off-by: Abner Chang
> Cc: Isaac Oram
> Cc: Abdul Lateef Attar
> Cc: Nickle Wang
> Cc: Igor Kulchytskyy
> ---
> .../Include/Dsc/Manageability.dsc | 1 +
> .../MctpProtocol/Dxe/MctpProtocolDxe.inf | 53 ++
> .../Include/Protocol/MctpProtocol.h | 102
> .../MctpProtocol/Common/MctpProtocolCommon.h | 139
> ++ .../MctpProtocol/Common/MctpProtocolCommon.c | 472
> ++ .../Universal/MctpProtocol/Dxe/MctpProtocol.c | 218
>
> 6 files changed, 985 insertions(+)
> create mode 100644
> Features/ManageabilityPkg/Universal/MctpProtocol/Dxe/MctpProtocolDxe.inf
> create mode 100644
> Features/ManageabilityPkg/Include/Protocol/MctpProtocol.h
> create mode 100644
> Features/ManageabilityPkg/Universal/MctpProtocol/Common/MctpProtocolCo
> mmon.h
> create mode 100644
> Features/ManageabilityPkg/Universal/MctpProtocol/Common/MctpProtocolCo
> mmon.c
> create mode 100644
> Features/ManageabilityPkg/Universal/MctpProtocol/Dxe/MctpProtocol.c
>
> diff --git a/Features/ManageabilityPkg/Include/Dsc/Manageability.dsc
> b/Features/ManageabilityPkg/Include/Dsc/Manageability.dsc
> index 2a354ad898..17f067c6d0 100644
> --- a/Features/ManageabilityPkg/Include/Dsc/Manageability.dsc
> +++ b/Features/ManageabilityPkg/Include/Dsc/Manageability.dsc
> @@ -33,4 +33,5 @@
> [Components.X64]
>ManageabilityPkg/Universal/IpmiProtocol/Smm/IpmiProtocolSmm.inf
>
> ManageabilityPkg/Universal/PldmSmbiosTransferDxe/PldmSmbiosTransferDxe.i
> nf
> + ManageabilityPkg/Universal/MctpProtocol/Dxe/MctpProtocolDxe.inf
>
> diff --git
> a/Features/ManageabilityPkg/Universal/MctpProtocol/Dxe/MctpProtocolDxe.in
> f
> b/Features/ManageabilityPkg/Universal/MctpProtocol/Dxe/MctpProtocolDxe.in
> f
> new file mode 100644
> index 00..483fbcc04b
> --- /dev/null
> +++ b/Features/ManageabilityPkg/Universal/MctpProtocol/Dxe/MctpProtocolD
> +++ xe.inf
> @@ -0,0 +1,53 @@
> +## @file
> +# MCTP Protocol DXE Driver.
> +#
> +# Copyright (C) 2023 Advanced Micro Devices, Inc. All rights
> +reserved. # SPDX-License-Identifier: BSD-2-Clause-Patent ##
> +
> +[Defines]
> + INF_VERSION= 0x0001001d
> + BASE_NAME = MctpDxe
> + FILE_GUID = 58AF169A-AA3F-462B-B0F1-25FBE6C97978
> + MODULE_TYPE= DXE_DRIVER
> + VERSION_STRING = 1.0
> + ENTRY_POINT= DxeMctpEntry
> + UNLOAD_IMAGE = MctpUnloadImage
> +
> +#
> +# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64
> +#
> +
> +[Sources]
> + MctpProtocol.c
> + ../Common/MctpProtocolCommon.c
> + ../Common/MctpProtocolCommon.h
> +
> +[Packages]
> + MdePkg/MdePkg.dec
> + MdeModulePkg/MdeModulePkg.dec
> + ManageabilityPkg/ManageabilityPkg.dec
> +
> +[LibraryClasses]
> + BaseMemoryLib
> + DebugLib
> + MemoryAllocationLib
> + ManageabilityTransportHelperLib
> + ManageabilityTransportLib
> + UefiDriverEntryPoint
> + UefiBootServicesTableLib
> +
> +[Guids]
> + gManageabilityProtocolMctpGuid
> +
> +[Protocols]
> + gEdkiiMctpProtocolGuid
> +
> +[FixedPcd]
> + gManageabilityPkgTokenSpaceGuid.PcdMctpKcsMemoryMappedIo
> + gManageabilityPkgTokenSpaceGuid.PcdMctpKcsBaseAddress
> + gManageabilityPkgTokenSpaceGuid.PcdMctpSourceEndpointId
> + gManageabilityPkgTokenSpaceGuid.PcdMctpDestinationEndpointId
> +
> +[Depex]
> + TRUE
> diff --git a/Features/ManageabilityPkg/Include/Protocol/MctpProtocol.h
> b/Features/ManageabilityPkg/Include/Protocol/MctpProtocol.h
> new file mode 100644
> index 00..85e42f157d
> --- /dev/null
> +++ b/Features/ManageabilityPkg/Include/Protocol/MctpProtocol.h
> @@ -0,0 +1,102 @@
> +/** @file
> + Protocol of EDKII MCTP Protocol.
> +
> + Copyright (C) 2023 Advanced Micro Devices, Inc. All rights
> + reserved.
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#ifndef EDKII_MCTP_PROTOCOL_H_
> +#define EDKII_MCTP_PROTOCOL_H_
> +
> +#include
> +
> +typedef struct _EDKII_MCTP_PROTOCOL EDKII_MCTP_PROTOCOL;
> +
> +#define EDKII_MCTP_PROTOCOL_GUID \
> + { \
> +0xE93465C1, 0x9A31, 0x4C96, 0x92, 0x56, 0x22, 0x0A, 0xE1, 0x80,
> +0xB4, 0x1B \
> + }
> +
> +#define EDKII_MCTP_PROTOCOL_VERSION_MAJOR 1 #define
> +EDKII_MCTP_PROTOCOL_VERSION_MINOR 0
> +#define EDKII_MCTP_PROTOCOL_VERSION
> ((EDKII_MCTP_PROTOCOL_VERSION_MAJOR << 8) |\
> +
> +EDKII_MCTP_PROTOCOL_VERSION_MINOR)
> +
> +/**
> + This service enables submitting message via EDKII MCTP