On Tue, Mar 21, 2023 at 11:21:42 +0800, Chang, Abner via groups.io wrote:
> From: Abner Chang <[email protected]>
>
> The NULL instance of ManageabilityTransportLib
> library.
>
> Signed-off-by: Abner Chang <[email protected]>
> Cc: Liming Gao <[email protected]>
> Cc: Isaac Oram <[email protected]>
> Cc: Nate DeSimone <[email protected]>
> Cc: Nickle Wang <[email protected]>
> Cc: Igor Kulchytskyy <[email protected]>
> Cc: Abdul Lateef Attar <[email protected]>
> Reviewed-by: Nickle Wang <[email protected]>
> ---
> .../ManageabilityPkg/ManageabilityPkg.dec | 9 +
> .../ManageabilityPkg/ManageabilityPkg.dsc | 4 +-
> .../BaseManageabilityTransportNull.inf | 28 ++
> .../Library/ManageabilityTransportIpmiLib.h | 24 ++
> .../Library/ManageabilityTransportLib.h | 336 ++++++++++++++++++
> .../BaseManageabilityTransportNull.c | 64 ++++
> .../BaseManageabilityTransportNull.uni | 13 +
> 7 files changed, 477 insertions(+), 1 deletion(-)
> create mode 100644
> Features/ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.inf
> create mode 100644
> Features/ManageabilityPkg/Include/Library/ManageabilityTransportIpmiLib.h
> create mode 100644
> Features/ManageabilityPkg/Include/Library/ManageabilityTransportLib.h
> create mode 100644
> Features/ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.c
> create mode 100644
> Features/ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.uni
>
> diff --git a/Features/ManageabilityPkg/ManageabilityPkg.dec
> b/Features/ManageabilityPkg/ManageabilityPkg.dec
> index 8a0e28f50b..ebf6e6315e 100644
> --- a/Features/ManageabilityPkg/ManageabilityPkg.dec
> +++ b/Features/ManageabilityPkg/ManageabilityPkg.dec
> @@ -16,3 +16,12 @@
>
> [Includes]
> Include
> +
> +[LibraryClasses]
> + ## @libraryclass Manageability Transport Library
> + # Manageability Transport Library definitions
> + ManageabilityTransportLib|Include/Library/ManageabilityTransportLib.h
> +
> +[Guids]
> + gManageabilityPkgTokenSpaceGuid = { 0xBDEFFF48, 0x1C31, 0x49CD, { 0xA7,
> 0x6D, 0x92, 0x9E, 0x60, 0xDB, 0xB9, 0xF8 } }
> +
> diff --git a/Features/ManageabilityPkg/ManageabilityPkg.dsc
> b/Features/ManageabilityPkg/ManageabilityPkg.dsc
> index 46cc215a0f..0dd0ab41fc 100644
> --- a/Features/ManageabilityPkg/ManageabilityPkg.dsc
> +++ b/Features/ManageabilityPkg/ManageabilityPkg.dsc
> @@ -36,5 +36,7 @@
> !include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
> !include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
>
> -!include Include/Dsc/Manageability.dsc
> +[LibraryClasses]
> +
> ManageabilityTransportLib|ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.inf
>
> +!include Include/Dsc/Manageability.dsc
If we want the include only after the [LibraryClasses] section header,
we should add the header in the preceding patch to avoid making this
hunk confusing.
If not, we shouldn't move it there as part of this patch.
/
Leif
> diff --git
> a/Features/ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.inf
>
> b/Features/ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.inf
> new file mode 100644
> index 0000000000..3cb97afb8b
> --- /dev/null
> +++
> b/Features/ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.inf
> @@ -0,0 +1,28 @@
> +## @file
> +# Null instance of Manageability Transport Library
> +#
> +# Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.<BR>
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +##
> +
> +[Defines]
> + INF_VERSION = 0x0001001B
> + BASE_NAME = BaseManageabilityTransportNull
> + MODULE_UNI_FILE = BaseManageabilityTransportNull.uni
> + FILE_GUID = B63DC070-FB44-44F3-8E9A-DA6CC712EF4F
> + MODULE_TYPE = BASE
> + VERSION_STRING = 1.0
> + LIBRARY_CLASS = ManageabilityTransportLib
> +
> +#
> +# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64
> +#
> +
> +[Sources]
> + BaseManageabilityTransportNull.c
> +
> +[Packages]
> + ManageabilityPkg/ManageabilityPkg.dec
> + MdePkg/MdePkg.dec
> +
> diff --git
> a/Features/ManageabilityPkg/Include/Library/ManageabilityTransportIpmiLib.h
> b/Features/ManageabilityPkg/Include/Library/ManageabilityTransportIpmiLib.h
> new file mode 100644
> index 0000000000..7ca6acf6ef
> --- /dev/null
> +++
> b/Features/ManageabilityPkg/Include/Library/ManageabilityTransportIpmiLib.h
> @@ -0,0 +1,24 @@
> +/** @file
> +
> + This file defines the manageability IPMI protocol specific transport data.
> +
> + Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.<BR>
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef MANAGEABILITY_TRANSPORT_IPMI_LIB_H_
> +#define MANAGEABILITY_TRANSPORT_IPMI_LIB_H_
> +
> +#include <Library/ManageabilityTransportLib.h>
> +
> +///
> +/// The IPMI command header which is apart from
> +/// the payload.
> +///
> +typedef struct {
> + UINT8 NetFn;
> + UINT8 Lun;
> + UINT8 Command;
> +} MANAGEABILITY_IPMI_TRANSPORT_HEADER;
> +
> +#endif
> diff --git
> a/Features/ManageabilityPkg/Include/Library/ManageabilityTransportLib.h
> b/Features/ManageabilityPkg/Include/Library/ManageabilityTransportLib.h
> new file mode 100644
> index 0000000000..c022b4ac5c
> --- /dev/null
> +++ b/Features/ManageabilityPkg/Include/Library/ManageabilityTransportLib.h
> @@ -0,0 +1,336 @@
> +/** @file
> +
> + This file defines the manageability transport interface library and
> functions.
> +
> + Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.<BR>
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef MANAGEABILITY_TRANSPORT_LIB_H_
> +#define MANAGEABILITY_TRANSPORT_LIB_H_
> +
> +#define MANAGEABILITY_TRANSPORT_TOKEN_VERSION_MAJOR 1
> +#define MANAGEABILITY_TRANSPORT_TOKEN_VERSION_MINOR 0
> +#define MANAGEABILITY_TRANSPORT_TOKEN_VERSION
> ((MANAGEABILITY_TRANSPORT_TOKEN_VERSION_MAJOR << 8) |\
> +
> MANAGEABILITY_TRANSPORT_TOKEN_VERSION_MINOR)
> +
> +typedef struct _MANAGEABILITY_TRANSPORT_FUNCTION_V1_0
> MANAGEABILITY_TRANSPORT_FUNCTION_V1_0;
> +typedef struct _MANAGEABILITY_TRANSPORT
> MANAGEABILITY_TRANSPORT;
> +typedef struct _MANAGEABILITY_TRANSPORT_TOKEN
> MANAGEABILITY_TRANSPORT_TOKEN;
> +typedef struct _MANAGEABILITY_TRANSFER_TOKEN
> MANAGEABILITY_TRANSFER_TOKEN;
> +
> +///
> +/// Optional transport header and trailer required
> +/// for the transport interface.
> +///
> +typedef VOID *MANAGEABILITY_TRANSPORT_HEADER;
> +typedef VOID *MANAGEABILITY_TRANSPORT_TRAILER;
> +
> +///
> +/// The transport interface specific hardware information.
> +///
> +
> +typedef union {
> + UINT16 IoAddress16;
> + UINT32 IoAddress32;
> +} MANAGEABILITY_TRANSPORT_HARDWARE_IO;
> +
> +///
> +/// Manageability KCS protocol interface hardware information.
> +///
> +typedef struct {
> + BOOLEAN MemoryMap;
> + MANAGEABILITY_TRANSPORT_HARDWARE_IO IoBaseAddress;
> + MANAGEABILITY_TRANSPORT_HARDWARE_IO IoDataInAddress;
> + MANAGEABILITY_TRANSPORT_HARDWARE_IO IoDataOutAddress;
> + MANAGEABILITY_TRANSPORT_HARDWARE_IO IoCommandAddress;
> + MANAGEABILITY_TRANSPORT_HARDWARE_IO IoStatusAddress;
> +} MANAGEABILITY_TRANSPORT_KCS_HARDWARE_INFO;
> +#define MANAGEABILITY_TRANSPORT_KCS_IO_MAP_IO FALSE
> +#define MANAGEABILITY_TRANSPORT_KCS_MEMORY_MAP_IO TRUE
> +
> +typedef union {
> + VOID *Pointer;
> + MANAGEABILITY_TRANSPORT_KCS_HARDWARE_INFO *Kcs;
> +} MANAGEABILITY_TRANSPORT_HARDWARE_INFORMATION;
> +
> +///
> +/// Additional transport interface status.
> +///
> +typedef UINT32 MANAGEABILITY_TRANSPORT_ADDITIONAL_STATUS;
> +#define MANAGEABILITY_TRANSPORT_ADDITIONAL_STATUS_NO_ERRORS 0x00000000
> +#define MANAGEABILITY_TRANSPORT_ADDITIONAL_STATUS_ERROR 0x00000001
> +#define MANAGEABILITY_TRANSPORT_ADDITIONAL_STATUS_BUSY_IN_READ 0x00000002
> +#define MANAGEABILITY_TRANSPORT_ADDITIONAL_STATUS_BUSY_IN_WRITE 0x00000004
> +#define MANAGEABILITY_TRANSPORT_ADDITIONAL_STATUS_NOT_AVAILABLE 0xffffffff
> +
> +///
> +/// Additional transport interface features.
> +///
> +typedef UINT32 MANAGEABILITY_TRANSPORT_CAPABILITY;
> +#define MANAGEABILITY_TRANSPORT_CAPABILITY_MULTIPLE_TRANSFER_TOKENS
> 0x00000001
> +#define MANAGEABILITY_TRANSPORT_CAPABILITY_ASYNCHRONOUS_TRANSFER
> 0x00000002
> +
> +///
> +/// Definitions of Manageability transport interface functions.
> +/// This is a union that can accommodate the new functions
> +/// introduced to the Manageability transport library in the future.
> +/// The new added function must has its own MANAGEABILITY_TRANSPORT_FUNCTION
> +/// structure with the incremental version number.
> +/// e.g., MANAGEABILITY_TRANSPORT_FUNCTION_V1_1.
> +///
> +/// The new function must be added base on the last version of
> +/// MANAGEABILITY_TRANSPORT_FUNCTION to keep the backward compatability.
> +///
> +typedef union {
> + MANAGEABILITY_TRANSPORT_FUNCTION_V1_0 *Version1_0;
> +} MANAGEABILITY_TRANSPORT_FUNCTION;
> +
> +///
> +/// Manageability specification GUID/Name table structure
> +///
> +typedef struct {
> + EFI_GUID *SpecificationGuid;
> + CHAR16 *SpecificationName;
> +} MANAGEABILITY_SPECIFICATION_NAME;
> +
> +///
> +/// Definitions of Transmit/Receive package
> +///
> +typedef struct {
> + UINT8 *TransmitPayload;
> + UINT32 TransmitSizeInByte;
> + UINT32 TransmitTimeoutInMillisecond;
> +} MANAGEABILITY_TRANSMIT_PACKAGE;
> +
> +typedef struct {
> + UINT8 *ReceiveBuffer;
> + UINT32 ReceiveSizeInByte;
> + UINT32 TransmitTimeoutInMillisecond;
> +} MANAGEABILITY_RECEIVE_PACKAGE;
> +
> +///
> +/// Definitions of Manageability transport interface.
> +///
> +struct _MANAGEABILITY_TRANSPORT {
> + EFI_GUID *ManageabilityTransportSpecification;
> ///< The Manageability Transport Interface spec.
> + UINT16 TransportVersion;
> ///< The version of transport interface
> +
> ///< function that indicates which version
> +
> ///< of MANAGEABILITY_TRANSPORT_FUNCTION
> +
> ///< is unsupported by this library.
> + CHAR16 *TransportName;
> ///< Human readable string of
> +
> ///< this transport interface.
> + MANAGEABILITY_TRANSPORT_FUNCTION Function;
> ///< Transport functions
> +};
> +
> +///
> +/// Definitions of Manageability transport token.
> +///
> +struct _MANAGEABILITY_TRANSPORT_TOKEN {
> + EFI_GUID *ManageabilityProtocolSpecification; ///< The
> Manageability Protocol spec.
> + MANAGEABILITY_TRANSPORT *Transport;
> +};
> +
> +#define MANAGEABILITY_TRANSPORT_NO_TIMEOUT 0
> +
> +///
> +/// The Manageability transport receive token used to receive
> +/// the response from transport interface after transmitting the
> +/// request.
> +///
> +struct _MANAGEABILITY_TRANSFER_TOKEN {
> + EFI_EVENT ReceiveEvent;
> ///< The EFI event is created to
> +
> ///< wait the signal for the readiness
> +
> ///< of response data.
> +
> ///< If NULL, transport library should
> +
> ///< just return the response data in
> +
> ///< ReceiveBuffer then the process returns
> +
> ///< to caller. Otherwise the transport
> +
> ///< library can signal event when the
> +
> ///< response is ready for caller. That
> +
> ///< means the transport library can
> +
> ///< optionally implement the asynchronous
> +
> ///< transfer mechanism or when the multiple
> +
> ///< transport sessions are acquired.
> + MANAGEABILITY_TRANSPORT_HEADER TransmitHeader;
> ///< This is the transport-specific header
> +
> ///< which is sent discretely of payload.
> +
> ///< This field can be NULL if the transport
> +
> ///< doesn't require this.
> + MANAGEABILITY_TRANSPORT_TRAILER TransmitTrailer;
> ///< This is the transport-specific trailer
> +
> ///< which is sent discretely of payload.
> +
> ///< This field can be NULL if the transport
> +
> ///< doesn't require this.
> + MANAGEABILITY_TRANSMIT_PACKAGE TransmitPackage;
> ///< The payload sent to transport interface.
> + MANAGEABILITY_RECEIVE_PACKAGE ReceivePackage;
> ///< The buffer to receive the response.
> + EFI_STATUS TransferStatus;
> ///< The EFI Status of the transfer.
> + MANAGEABILITY_TRANSPORT_ADDITIONAL_STATUS TransportAdditionalStatus;
> ///< The additional status of transport
> +
> ///< interface.
> +};
> +
> +/**
> + This function acquires to create a transport session to transmit
> manageability
> + packet. A transport token is returned to caller for the follow up
> operations.
> +
> + @param [in] ManageabilityProtocolSpec The protocol spec the transport
> interface is acquired for.
> + @param [out] TransportToken The pointer to receive the
> transport token created by
> + the target transport interface
> library.
> + @retval EFI_SUCCESS Token is created successfully.
> + @retval EFI_OUT_OF_RESOURCES Out of resource to create a new
> transport session.
> + @retval EFI_UNSUPPORTED Protocol is not supported on this
> transport interface.
> + @retval Otherwise Other errors.
> +
> +**/
> +EFI_STATUS
> +AcquireTransportSession (
> + IN EFI_GUID *ManageabilityProtocolSpec,
> + OUT MANAGEABILITY_TRANSPORT_TOKEN **TransportToken
> + );
> +
> +/**
> + This function returns the transport capabilities.
> +
> + @param [out] TransportFeature Pointer to receive transport
> capabilities.
> + See the definitions of
> + MANAGEABILITY_TRANSPORT_CAPABILITY.
> +
> +**/
> +VOID
> +GetTransportCapability (
> + OUT MANAGEABILITY_TRANSPORT_CAPABILITY *TransportCapability
> + );
> +
> +/**
> + This function releases the manageability transport session.
> +
> + @param [in] TransportToken The transport token acquired through
> + AcquireTransportSession.
> + @retval EFI_SUCCESS Token is released successfully.
> + @retval EFI_INVALID_PARAMETER Invalid TransportToken.
> + @retval Otherwise Other errors.
> +
> +**/
> +EFI_STATUS
> +ReleaseTransportSession (
> + IN MANAGEABILITY_TRANSPORT_TOKEN *TransportToken
> + );
> +
> +/**
> + This function initializes the transport interface.
> +
> + @param [in] TransportToken The transport token acquired through
> + AcquireTransportSession function.
> + @param [in] HardwareInfo This is the optional hardware
> information
> + assigned to this transport interface.
> +
> + @retval EFI_SUCCESS Transport interface is initialized
> + successfully.
> + @retval EFI_INVALID_PARAMETER The invalid transport token.
> + @retval EFI_NOT_READY The transport interface works fine
> but
> + @retval is not ready.
> + @retval EFI_DEVICE_ERROR The transport interface has problems.
> + @retval EFI_ALREADY_STARTED Teh protocol interface has already
> initialized.
> + @retval Otherwise Other errors.
> +
> +**/
> +typedef
> +EFI_STATUS
> +(EFIAPI *MANAGEABILITY_TRANSPORT_INIT)(
> + IN MANAGEABILITY_TRANSPORT_TOKEN *TransportToken,
> + IN MANAGEABILITY_TRANSPORT_HARDWARE_INFORMATION HardwareInfo OPTIONAL
> + );
> +
> +/**
> + This function returns the transport interface status.
> + The generic EFI_STATUS is returned to caller directly, The additional
> + information of transport interface could be optionally returned in
> + TransportAdditionalStatus to describes the status that can't be
> + described obviously through EFI_STATUS.
> + See the definition of MANAGEABILITY_TRANSPORT_STATUS.
> +
> + @param [in] TransportToken The transport token acquired
> through
> + AcquireTransportSession function.
> + @param [out] TransportAdditionalStatus The additional status of transport
> + interface.
> + NULL means no additional status
> of this
> + transport interface.
> +
> + @retval EFI_SUCCESS Transport interface status is
> returned.
> + @retval EFI_INVALID_PARAMETER The invalid transport token.
> + @retval EFI_DEVICE_ERROR The transport interface has problems
> to return
> + @retval status.
> + Otherwise Other errors.
> +
> +**/
> +typedef
> +EFI_STATUS
> +(EFIAPI *MANAGEABILITY_TRANSPORT_STATUS)(
> + IN MANAGEABILITY_TRANSPORT_TOKEN *TransportToken,
> + OUT MANAGEABILITY_TRANSPORT_ADDITIONAL_STATUS *TransportAdditionalStatus
> OPTIONAL
> + );
> +
> +/**
> + This function resets the transport interface.
> + The generic EFI_STATUS is returned to caller directly after reseting
> transport
> + interface. The additional information of transport interface could be
> optionally
> + returned in TransportAdditionalStatus to describes the status that can't be
> + described obviously through EFI_STATUS.
> + See the definition of MANAGEABILITY_TRANSPORT_ADDITIONAL_STATUS.
> +
> + @param [in] TransportToken The transport token acquired
> through
> + AcquireTransportSession function.
> + @param [out] TransportAdditionalStatus The additional status of specific
> transport
> + interface after the reset.
> + NULL means no additional status
> of this
> + transport interface.
> +
> + @retval EFI_SUCCESS Transport interface status is
> returned.
> + @retval EFI_INVALID_PARAMETER The invalid transport token.
> + @retval EFI_TIMEOUT The reset process is time out.
> + @retval EFI_DEVICE_ERROR The transport interface has problems
> to return
> + status.
> + Otherwise Other errors.
> +
> +**/
> +typedef
> +EFI_STATUS
> +(EFIAPI *MANAGEABILITY_TRANSPORT_RESET)(
> + IN MANAGEABILITY_TRANSPORT_TOKEN *TransportToken,
> + OUT MANAGEABILITY_TRANSPORT_ADDITIONAL_STATUS *TransportAdditionalStatus
> OPTIONAL
> + );
> +
> +/**
> + This function transmit the request over target transport interface.
> + The generic EFI_STATUS is returned to caller directly after reseting
> transport
> + interface. The additional information of transport interface could be
> optionally
> + returned in TransportAdditionalStatus to describes the status that can't be
> + described obviously through EFI_STATUS.
> + See the definition of MANAGEABILITY_TRANSPORT_ADDITIONAL_STATUS.
> +
> + @param [in] TransportToken The transport token acquired through
> + AcquireTransportSession function.
> + @param [in] TransferToken The transfer token, see the
> definition of
> + MANAGEABILITY_TRANSFER_TOKEN.
> +
> + @retval The EFI status is returned in MANAGEABILITY_TRANSFER_TOKEN.
> +
> +**/
> +typedef
> +VOID
> +(EFIAPI *MANAGEABILITY_TRANSPORT_TRANSMIT_RECEIVE)(
> + IN MANAGEABILITY_TRANSPORT_TOKEN *TransportToken,
> + IN MANAGEABILITY_TRANSFER_TOKEN *TransferToken
> + );
> +
> +///
> +/// The first version of Manageability transport interface function.
> +///
> +struct _MANAGEABILITY_TRANSPORT_FUNCTION_V1_0 {
> + MANAGEABILITY_TRANSPORT_INIT TransportInit; ///<
> Initial the transport.
> + MANAGEABILITY_TRANSPORT_STATUS TransportStatus; ///<
> Get the transport status.
> + MANAGEABILITY_TRANSPORT_RESET TransportReset; ///<
> Reset the transport.
> + MANAGEABILITY_TRANSPORT_TRANSMIT_RECEIVE TransportTransmitReceive; ///<
> Transmit the packet over
> + ///<
> transport and get the
> + ///<
> response back.
> +};
> +
> +#endif
> diff --git
> a/Features/ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.c
>
> b/Features/ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.c
> new file mode 100644
> index 0000000000..49fc8c0f71
> --- /dev/null
> +++
> b/Features/ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.c
> @@ -0,0 +1,64 @@
> +/** @file
> + Null instance of Manageability Transport Library
> +
> + Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.<BR>
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#include <Uefi.h>
> +#include <Library/ManageabilityTransportLib.h>
> +
> +/**
> + This function acquires to create a transport session to transmit
> manageability
> + packet. A transport token is returned to caller for the follow up
> operations.
> +
> + @param [in] ManageabilityProtocolSpec The protocol spec the transport
> interface is acquired.
> + @param [out] TransportToken The pointer to receive the
> transport token created by
> + the target transport interface
> library.
> + @retval EFI_SUCCESS Token is created successfully.
> + @retval EFI_OUT_OF_RESOURCES Out of resource to create a new
> transport session.
> + @retval EFI_UNSUPPORTED Protocol is not supported on this
> transport interface.
> + @retval Otherwise Other errors.
> +
> +**/
> +EFI_STATUS
> +AcquireTransportSession (
> + IN EFI_GUID *ManageabilityProtocolSpec,
> + OUT MANAGEABILITY_TRANSPORT_TOKEN **TransportToken
> + )
> +{
> + return EFI_UNSUPPORTED;
> +}
> +
> +/**
> + This function returns the transport capabilities.
> +
> + @param [out] TransportFeature Pointer to receive transport
> capabilities.
> + See the definitions of
> + MANAGEABILITY_TRANSPORT_CAPABILITY.
> +
> +**/
> +VOID
> +GetTransportCapability (
> + OUT MANAGEABILITY_TRANSPORT_CAPABILITY *TransportCapability
> + )
> +{
> + *TransportCapability = 0;
> +}
> +
> +/**
> + This function releases the manageability session.
> +
> + @param [in] TransportToken The transport token acquired through
> + AcquireTransportSession.
> + @retval EFI_SUCCESS Token is released successfully.
> + Otherwise Other errors.
> +
> +**/
> +EFI_STATUS
> +ReleaseTransportSession (
> + IN MANAGEABILITY_TRANSPORT_TOKEN *TransportToken
> + )
> +{
> + return EFI_SUCCESS;
> +}
> diff --git
> a/Features/ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.uni
>
> b/Features/ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.uni
> new file mode 100644
> index 0000000000..2211037072
> --- /dev/null
> +++
> b/Features/ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.uni
> @@ -0,0 +1,13 @@
> +// /** @file
> +// Null instance of Manageability Transport Library
> +//
> +// Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.<BR>
> +//
> +// SPDX-License-Identifier: BSD-2-Clause-Patent
> +//
> +// **/
> +
> +#string STR_MODULE_ABSTRACT #language en-US "Null instance of
> Manageability Transport Library"
> +
> +#string STR_MODULE_DESCRIPTION #language en-US "Manageability
> Transport library implementation for build ManageabilityPkg only."
> +
> --
> 2.37.1.windows.1
>
>
>
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101488): https://edk2.groups.io/g/devel/message/101488
Mute This Topic: https://groups.io/mt/97748157/21656
Group Owner: [email protected]
Unsubscribe:
https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-