From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (NAM10-DM6-obe.outbound.protection.outlook.com [40.107.93.51]) by mx.groups.io with SMTP id smtpd.web10.8688.1679299201024760761 for ; Mon, 20 Mar 2023 01:00:01 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nvidia.com header.s=selector2 header.b=Xv2YFDpr; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: nvidia.com, ip: 40.107.93.51, mailfrom: nicklew@nvidia.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cFn62Gfcjg1uqwcxOBblpG2AaJsnMt81SB6b7YacaNymYU3ybWC79pOakQD9PPGKVSgVkKdPp1aCjZgzUgzUHWp1QS7NIzfFN2DPdF5+1FXK3VHpXKAktNTAp7z1m+vVMCbOfqzB4rHfyYIcZXypKn6Xi2jkquNvLFiSzIsdWZYpHp7CdOK84bFEsO2VfaT8XA+daHzDqP4RvqJGn/JEwsSm3sQKbzC4cpQXhBj0QQCyge1Vu9lv1vhIL+dfu9hpKVR3zoYSQyKJ1E9yrUlJuNAq9xngrh71lZbMhtyD2cpCNUN3c3hlEN78VGplTuOcz+7dVioyc9WQaDaFuHUH3g== 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=OCugk11HWzphEa8AkCbSx+NwoZTJhIo/OOR2wAtrrtQ=; b=XoVZuHX22aX5dUHTadpDaYog2H7S3/zN1Nxyb1YNVJLC9n3bGMkU9pFhE+pIMNmi7+w3fJon8kxDFdI+uf6oB3M/jtPYpHehlxZvPzc5zGzYd0n/gsDpe297iqezwLTIEOuL2P9D++9/X8LU7foB7wjizhVJtShWh7i6nELGm07MzSRN0INCyIyCdxc1FUqCLBZLC19APMekQcU8c8AaDEYFA6bNu0+NE8noW9Nlz5Fy/2+msXHTf1uwLHzE5v81st884FZKl3CPfhkWNhR3yDT4GKuFivAt8bxlPtAJBBd3xe/wI/2FqH14ujMFqo0iWl4gaIWazv1ZiRAjlZZzxw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OCugk11HWzphEa8AkCbSx+NwoZTJhIo/OOR2wAtrrtQ=; b=Xv2YFDpr45fFCsOadciXfAgDcXxlQ2aIYK9hGRuZNvH3UqQ38jVHBMFl6onYVjWYXpknspy0OXIiEONCfSTcxWrcN+XdcqCYUyJet8cQyxsduVCM90oDL6XYoREbQ1F5kXqjGtNh5dOF5FSInofmiG8d3lJLq3vJMYFDVRxUQSobZzu16NhHqO3kfOcaJ/+6M5LYuPxsp6lh9xFxtUgRK7FflsX6WAgDEeSr4GFk1f9iIiBKhoOOr9q+klHn6svkvh7WFfEWIpPWKDegyBjaouPgJC56qiC7BhEET+Q5L/8tDFQ99xVFbTpHRvFfexYhsegFbWhcC/tpU2J47CTqnQ== Received: from MW4PR12MB7031.namprd12.prod.outlook.com (2603:10b6:303:1ef::6) by IA1PR12MB8080.namprd12.prod.outlook.com (2603:10b6:208:3fd::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar 2023 07:59:56 +0000 Received: from MW4PR12MB7031.namprd12.prod.outlook.com ([fe80::c27a:fa4b:66ea:d266]) by MW4PR12MB7031.namprd12.prod.outlook.com ([fe80::c27a:fa4b:66ea:d266%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023 07:59:52 +0000 From: "Nickle Wang" To: "abner.chang@amd.com" , "devel@edk2.groups.io" CC: Liming Gao , Isaac Oram , Nate DeSimone , Igor Kulchytskyy , Abdul Lateef Attar , Abdul Lateef Attar Subject: Re: [edk2-platforms][PATCH V2 1/8] ManageabilityPkg: Add Readme file Thread-Topic: [edk2-platforms][PATCH V2 1/8] ManageabilityPkg: Add Readme file Thread-Index: AQHZUciz9ilu8906dkaIUpViCtdzYa8DX+UA Date: Mon, 20 Mar 2023 07:59:52 +0000 Message-ID: References: <20230308141647.1318-1-abner.chang@amd.com> <20230308141647.1318-2-abner.chang@amd.com> In-Reply-To: <20230308141647.1318-2-abner.chang@amd.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW4PR12MB7031:EE_|IA1PR12MB8080:EE_ x-ms-office365-filtering-correlation-id: 7c96220e-9a59-4ae4-353c-08db2919162b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: M1JP8rJjt5f2ksJHfxb7/vIbsAnK+ILLGcGOmQ6kpNSSTE91vw36yEJg5IIesnaDiC9ltulnW7oZ6Q5Nf5Urm5QJPGwnAVn9TWOJ6A/ozJ9925OtfwQdVioFSuipujIeWUgWlJnYJAslc4tC3RExR0lDMw6Nu6VBdiEW969u8yhJIopg7V3zKYHnAlV2kGNpLt4m9hk10mtVl1R1Ouu/+BtaEgJ3Ki08XZy2a6pdwym+13emoJyu/xJGoACO8/Ze1dDC/eEntgtaNySiJonVHysf5U65vWeIDHNHsDmVIkMh9enrZbGL+50str4amd362UPu5a5s/wTuUY1DxEAXS6G8JcPGgCA68p8jFMMncXNzF2yWLWRyJCIYRzFGNr/NHg2umRwUSbXNO7pZhVitjMRdVQCEDXXXKpePFEx6ezlCq5Q+zFP/NCi0NlE1Vit83ASO9TI7SuvW6lmgabThheqQN9ODnJsb+Z+mek9CmA1GijIKCdtcDomuWu2RY1ANNTT83W9+GZI+DC8UHHU7Wr/oTnyKq4AoPNAd1zUr5fnqOHDC96H5mahMIU6VdlzF1qZg4WOZT0GbTcHhfsi4Kf2KQ3cIFxQ6hc/D27dq0rDU8aO0DGcFQTbS31+zEQYU4bDQtxcoP85nY01Jh/F4uMLJ1imrR0wfL4+quNvgXy7/+OLxaO7inOWnwOQFTIguFqSDCSaapoj23oenvqPSGy5WPcduZBphDfWrxpimL0o= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR12MB7031.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(346002)(39860400002)(396003)(376002)(136003)(451199018)(7696005)(71200400001)(186003)(45080400002)(478600001)(83380400001)(316002)(110136005)(64756008)(66946007)(66556008)(76116006)(66476007)(66446008)(8676002)(6506007)(26005)(9686003)(54906003)(53546011)(4326008)(52536014)(30864003)(8936002)(5660300002)(41300700001)(122000001)(38100700002)(2906002)(55016003)(86362001)(38070700005)(33656002)(579004)(559001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Y9DOb/thXZSfXq+MIjBZc+WLIawNgAHXCHqbVI1rlJHsYr3mq2/BVYSN7lHN?= =?us-ascii?Q?U6qNO5u3ALQ51fUb3XDsW29pwVEmN7RN3PB8qp48ZVA1w0GqNC3RESsO5WWl?= =?us-ascii?Q?RqVcJ+WVbhUskqf3/+Z6CWMBeQJZo6kKPJ1Xr/HVg6sts+/8GxYCnLWMlLeQ?= =?us-ascii?Q?7ICrR4AjWnvLI4J6As4oV+8ml2GGsdBzjqAyZqlOMMQOFH4RS21CuS5aTzu6?= =?us-ascii?Q?529WBN/8ztgMAWuaLHSVPRx58s1BGkJbV+QujJjFHzCr9/+bp9NKB+SQf2Rf?= =?us-ascii?Q?aumTO2WNNtit903a9lmv4oQT/hw+NGOJTFvHXTFlKoZ9V6CV9F4A8SnM+Heg?= =?us-ascii?Q?DMvFJvqY3zVTlf7lUA+UGzmfOkx7r5Zwff1M2Y0kAsFpFK6TllFrbkVvUNpy?= =?us-ascii?Q?2Y732w+fqaeUBAnk5v1CwRNAgiSIDUAaDF2nOgDluudcPAGD5CjJ/CmSZIFk?= =?us-ascii?Q?TjUs26a1uMdo/ovz/PK5l/XQVb9VGHVLmr2bk58BMevmyJh40oyWBgKH7MXf?= =?us-ascii?Q?jucFA7RKDiDkYKeLsJ8IvKDfjwUY0vbM6ACkSTUt2ke1aOdqUFf5AG5oMA1w?= =?us-ascii?Q?pNjddEy1oJucV8F72oe8reWXJX1PQjMfWCmupp5s45mguQ+l8qlBVRTwYjtw?= =?us-ascii?Q?pqfXtf3W/i6ImY9SoxwkISZJnJs88dnqlSND0Epbjkt2AFPw87/Lr/1PQS9X?= =?us-ascii?Q?KYcqAUIwtEQnMfEQU/gt/dcU3xjH6gfaOoFLQS+yGQWDuCClDiWsQXk8K/Wc?= =?us-ascii?Q?4BQmcuovFCUA33S9tMnFZQCCr8azYTnovA0olj4bDtTZkPiOSrVt4lo+AXPH?= =?us-ascii?Q?nqrmT7zL1Pst74gE6xj9rllKJLoVjAOrYNAlDhYRNacYaokbPDW+cKXPgdQj?= =?us-ascii?Q?CsOW4NPHMIGNCq6aXphONNfraKYfMJv3TSq4/p7xU6wMJ1lv/zdyp9SZmhnm?= =?us-ascii?Q?S67zcIRgZ0kq/HQjkWAlztHpt99rCFculc6rRqNjLGPWf5rRt8kotL2KjEJz?= =?us-ascii?Q?H0PIfqfdUP+SBXjL2CpjUeSD++7BF2gVQP4ue8odXHhubGd6+ugo7TU+/Sek?= =?us-ascii?Q?gaHKUqugO0UpPMe2yVAQQDGXyohChI9Ylm7z7JHp04f7dS8eq6Se0HgCT//U?= =?us-ascii?Q?A/szKI3RI2t2IuGKSuaSij0v5GyySPalxVk55OUn5FU5C1gUj1H1pC9EX8zW?= =?us-ascii?Q?3JHln6cQnX9x6ovnLoSqYCFfEV9b2PjfcXRTQ2tqHnmuf2yao8R3bDQ7Dmkl?= =?us-ascii?Q?kJEYuxL6wbXkcMzvcLoBebZXRLnFrN3LQqR6USJPY8PHWrw5E1B23dlm6mMI?= =?us-ascii?Q?6USWQH9W2RRWTZdYKf5J+bUIRSRGJ3Nkg/wEQWSTx+3+kSoNK9p2zHBXE5Fi?= =?us-ascii?Q?TwQJsmkAEeckGxizf8KxmHvYQncF5/PhY0a9HawL9B365Y5U1p7HxDLGbcl+?= =?us-ascii?Q?Yf3Kl1a90dRYoidI2zxuE0TE/XmRh/j2T0oObWmLKm0qmDorVHtyuFOqM0HQ?= =?us-ascii?Q?r3PeIggfngBZEIl8WZ7y+4hiLD2kKT+h58fn/sh3dtL2/m5xZWIpKwjwTJsU?= =?us-ascii?Q?wFS83bqTn06ixqgFJB+7wdqQGurhHPyDPBOGBmHq?= MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR12MB7031.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c96220e-9a59-4ae4-353c-08db2919162b X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Mar 2023 07:59:52.5440 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: iol8PWiLeRW9LcVobcX7CIEo/e8YGAsqd4pyMpdvXIXb85wQ0VJZ7Na0UEX+IDrdY2/buldurHwX6Y68vB0lgg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8080 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Nickle Wang Regards, Nickle -----Original Message----- From: abner.chang@amd.com =20 Sent: Wednesday, March 8, 2023 10:17 PM To: devel@edk2.groups.io Cc: Liming Gao ; Isaac Oram ; Nate DeSimone ; Nickle Wang ; Igor Kulchytskyy ; Abdul Lateef Attar ; Abdul Lateef Attar Subject: [edk2-platforms][PATCH V2 1/8] ManageabilityPkg: Add Readme file External email: Use caution opening links or attachments From: Abner Chang Add Readme file of edk2 platform ManageabilityPkg. Signed-off-by: Abner Chang Cc: Liming Gao Cc: Isaac Oram Cc: Nate DeSimone Cc: Nickle Wang Cc: Igor Kulchytskyy Cc: Abdul Lateef Attar Reviewed-by: Abdul Lateef Attar --- Features/ManageabilityPkg/Readme.md | 177 +++++ .../Media/ManageabilityDriverStack.svg | 752 ++++++++++++++++++ 2 files changed, 929 insertions(+) create mode 100644 Features/ManageabilityPkg/Readme.md create mode 100644 Features/ManageabilityPkg/Documents/Media/Manageability= DriverStack.svg diff --git a/Features/ManageabilityPkg/Readme.md b/Features/ManageabilityPk= g/Readme.md new file mode 100644 index 0000000000..b56ffb8a86 --- /dev/null +++ b/Features/ManageabilityPkg/Readme.md @@ -0,0 +1,177 @@ +# EDK2 Manageability Package + +edk2 ManageabilityPkg is introduced to provide edk2 drivers and +libraries for industry platform management standards, such as PLDM (Platfo= rm +Level Data Model), MCTP (Management Component Transfer Protocol), IPMI +(Intelligent Platform Management Interface) and others. The framework of +ManageabilityPkg is designed to flexibly support the transport interfaces = for above +industry standards, the transport interfaces such as KCS or I2C for IPMI, = PCI VDM +(Vendor Defined Message), I2C or KCS for MCTP, or the OEM proprietary tran= sports. + +Below figure shows the driver stacks which are abstracted to support dispa= rate +transports for specifications of platform management. +![Manageability Package Driver Stack](https://nam11.safelinks.protection.o= utlook.com/?url=3Dhttps%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-platforms%2Fb= lob%2Fmaster%2FFeatures%2FManageabilityPkg%2FDocuments%2FMedia%2FManageabil= ityDriverStack.svg&data=3D05%7C01%7Cnicklew%40nvidia.com%7C56af996819e1451a= 4db208db1fdfd299%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C6381388184324= 88216%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I= k1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3DnKgfSEJZyF02Dwm0cjZD65KOAROfs= PTViYDMIbUm5os%3D&reserved=3D0) + +## Manageability Transport edk2 Driver Stack +edk2 manageability transport library is designed to incorporated with disp= arate +manageability protocols. In order to flexibly facilitating the transport +functionalities, below functions must be provided by manageability transpo= rt +library to compliant with the framework of ManageabilityPkg design. + +* ### ***AcquireTransportSession()*** + edk2 manageability protocol driver invokes this function to acquire th= e + transport session to transmit manageability packet. The implementation + could reset the transport interface, initial the transport interface + internal structure and the [Manageability Transport Function Structure= ](#manageability-transport-function-structure). + The [Transport Token](#transfer-token) is returned to the caller for f= urther manageability packet + transmit and receive. + + +* ### ***GetTransportCapability()*** + edk2 Manageability protocol driver invokes this function to get the ca= pabilities + of transport interface. The implementation of manageability transport = library + can optionally support advanced features such as multi-sessions on tra= nsport + interface or asynchronous transfer. + +* ### ***ReleaseTransportSession()*** + edk2 manageability protocol driver invokes this function to release th= e transport + session. + + ### **Manageability Transport Function Structure** + + Below is the function structure initiated by the manageability transport= library and + returned in the transport token when caller invokes [AcquireTransportSes= sion](#acquiretransportsession) + function. + + + ***MANAGEABILITY_TRANSPORT_FUNCTION*** is declared as an union to acco= mmodate + different versions of transport function set. This allows the function= added to + support the new functionalities in the future and also keep the backwa= rd compatibility. + Developers can not modify the previous version of function structure, = instead + developers can create a new function structure with the increased vers= ion number + that includes the previous version of function set and new added funct= ions. + +``` + typedef union { + MANAGEABILITY_TRANSPORT_FUNCTION_V1_0 *Version1_0; + } MANAGEABILITY_TRANSPORT_FUNCTION; + + struct _MANAGEABILITY_TRANSPORT_FUNCTION_V1_0 { + MANAGEABILITY_TRANSPORT_INIT TransportInit; + MANAGEABILITY_TRANSPORT_STATUS TransportStatus; + MANAGEABILITY_TRANSPORT_RESET TransportReset; + MANAGEABILITY_TRANSPORT_TRANSMIT_RECEIVE TransportTransmitReceive; + }; +``` +* ***TransportInit()*** + + Manageability protocol driver invokes this function to initial the tra= nsport + interface with the optional hardware configuration of the transport in= terface. + Whether the transport interface requires initialization or not depends= on the + transport interface characteristics. The hardware information is optio= nal passed to + this function if the manageability protocol driver would like to use t= he different + hardware configuration of transport interface. For example, the differ= ent I/O + address of KCS interface, or the memory mapped I/O KCS interface. The = structure + format of hardware information is created according to the hardware de= sign of + transport interface. + +* ***TransportStatus()*** + + Manageability protocol driver invokes this function to get the status = of transport + interface. How does this function report the status depends on the tra= nsport + interface characteristics and the implementation of this function. + +* ***TransportReset()*** + + Manageability protocol driver can invoke this function to reset and re= cover the + transport interface in case the error status is reported by the transp= ort + interface. Whether the transport interface can be reset or not depends= on the + transport interface characteristics and the implementation of this fun= ction. + +* ***TransportTransmitReceive()*** + Manageability protocol driver invokes this function to transmit and/or= receive the + packet. Caller has to setup the [Transfer Token](#transfer-token) when= invoke to + this function. + + ### **Transfer Token** + +``` + struct _MANAGEABILITY_TRANSFER_TOKEN { + EFI_EVENT ReceiveEvent; + MANAGEABILITY_TRANSPORT_HEADER TransmitHeader; + MANAGEABILITY_TRANSPORT_TRAILER TransmitTrailer; + MANAGEABILITY_TRANSMIT_PACKAGE TransmitPackage; + MANAGEABILITY_RECEIVE_PACKAGE ReceivePackage; + EFI_STATUS TransferStatus; + MANAGEABILITY_TRANSPORT_ADDITIONAL_STATUS TransportAdditionalStatus= ; +}; +``` + +* ***ReceiveEvent*** + + The optional EFI event is created to wait for the signal of response d= ata + readiness. The parameter is valid only if the transport interface supp= orts + asynchronous transfer. MANAGEABILITY_TRANSPORT_CAPABILITY_ASYNCHRONOUS= _TRANSFER bit + must be set in the returned *TransportCapability* parameter in + [GetTransportCapability()](#gettransportcapability) to indicate the + transport interface is capable for asynchronous transfer. + +* ***TransmitHeader*** + + The transmit header is different according to the disparate transport = interfaces + for the manageability protocol. For example, the transmit header is di= fferent when + MCTP packet is transmitted over I2C and KCS. Having this header abstra= cted from + manageability transport library to make the transport implementation a= gnostic to the + manageability protocol specification. + +* ***TransmitTrailer*** + + The transmit trailer may be different according to the disparate trans= port + interface for the manageability protocol. Having this header abstracte= d from + manageability transport library to make the transport implementation a= gnostic to the + manageability protocol specification. + +* ***TransmitPackage*** + + The buffer of packet to transmit, this could be a value of NULL if the= manageability + protocol is going to harvest the datagram sent by the management entit= y. + +* ***ReceivePackage*** + + The receive buffer, this could be a value of NULL if the manageability + protocol is going to send the request to management endpoint which has= no response + required. + +* ***TransferStatus*** + + In order to support both synchronous and asynchronous transfer with a = unified + function, ***TransportTransmitReceive()*** is designed as a + non return value function. Instead, the status of transmit/receive is = returned + in the transfer token. When the asynchronous transfer, manageability t= ransport + library has to set the status in transfer token before signal ***Recei= veEvent***. + +* ***TransportAdditionalStatus*** + + The additional transport status after the transfer. + +## Industry Standard Manageability Protocol edk2 Driver Stack +The edk2 implementation of industry manageability standards such as IpmiPr= otocol and +MctpProtocol abstract the command layer and provide the unified protocol i= nterface to +build up the manageability packet for subordinate specifications. edk2 man= ageability +protocol driver is linked with desired manageability transport library bas= e on the +platform design. + +## Transport Implementation + + The manageability transport library could have the implementation in li= brary or + invoke the existing edk2 protocol which is defined in UEFI or PI specif= ications. + This is the implementation decision made by the developer when introduc= e a new + manageability transport library. + +## Build the Manageability Package +In order to use the modules provided by ManageabilityPkg, **PACKAGES_PATH*= * must +contains the path to point to [edk2-platform Features](https://nam11.safel= inks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgithub.com%2Ftianocore%2Fe= dk2-platforms%2Ftree%2Fmaster%2FFeatures&data=3D05%7C01%7Cnicklew%40nvidia.= com%7C56af996819e1451a4db208db1fdfd299%7C43083d15727340c1b7db39efd9ccc17a%7= C0%7C0%7C638138818432488216%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJ= QIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3Dz3s%2FV= KAdqLDskI7R38ULwSKps68jHiriqyVK3DOQwNY%3D&reserved=3D0): + +``` +$ export PACKAGES_PATH=3D$PWD/edk2:$PWD/edk2-platforms:$PWD/edk2-platforms= /Features +``` diff --git a/Features/ManageabilityPkg/Documents/Media/ManageabilityDriverS= tack.svg b/Features/ManageabilityPkg/Documents/Media/ManageabilityDriverSta= ck.svg new file mode 100644 index 0000000000..423dfaa34f --- /dev/null +++ b/Features/ManageabilityPkg/Documents/Media/ManageabilityDriverStack.sv= g @@ -0,0 +1,752 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KCS Manageability Transport = Library Insta= nce + + + + + + + + I2C Manageability Transport = Library Insta= nce + + + + + + + + I3C Manageability Transport Library I= nstance + + + + + + + + USB Manageability Transport Library I= nstance + + + + + + + + PCI VDM <= tspan class=3D"TextPosition" x=3D"17165" y=3D"11472">Manageability Transport = Libr= ary Instance + + + + + + + + Others: MMBI, Block transfer,= RMII= , etc. + + + + + + + + KCS Protocol Driver + + + + + + + + SMBus Protocol = Driver + + + + + + + + PCI Protocol Driver + + + + + + + + USB Protocol Driver + + + + + + + + I3C Protocol = Driver + + + + + + + + + + + + + + PLDM Protocol + + + + + + + + MCTP Protocol + + + + + + + Transport <= tspan class=3D"TextPosition" x=3D"9728" y=3D"10248">Library + + + + + + + + IPMI Protocol + + + + + + + Transport = Library + + + + + + + + PLDM BCC<= /text> + + + + + + + + PLDM SMBIOS + + + + + + + + PLDM FRU= + + + + + + + + PLDM PMC= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PLDM + + + + + + + + NVMe Management + + + + + + + + + + + + + + + + + + + + + + IPMI NetFn + + + + + + + + + + + + + + + Redfish HI NetFn + + + + + + + + + + + + + + + + + + + + + + CXL Device CCI + + + + + + + + + + + + + + + + + + + + + + Redfish Credential NetFn + + + + + + + + + + + + + + + + + + + + + + + + + Platform = Replaceable = Library + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The gray box is the optio= nal Implementation that supports:Multiple transfe= r tokens<= tspan id=3D"id83.bp" class=3D"BulletPlaceholder"/>Asynchronous Transfer= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KCS Manageability Transport = Protocol Driv= er + + + + + + + + I2C Manageability Transport = Protocol Driv= er + + + + + + + + PCI VDM <= tspan class=3D"TextPosition" x=3D"23343" y=3D"10670">Manageability Transport = Prot= ocol Driver + + + + + + + + USB Manageability Transport Protocol = Driver + + + + + + + + I3C Manageability Transport Protocol = Driver + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Implementation can call to= the protocol + + + + + + Implementation can call to= the protocol + + + + + + Implementation can call t= o the protocol + + + + + + Implementation can call t= o the protocol + + + + + + Implementation can call t= o the protocol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Industry Standard Manageabi= lity P= rotocol Driver Stack + + + + + + Manageability Transport Driver = Stack + + + + + + Transport = Implementation + + + + + + + + + + + + + + + -- 2.37.1.windows.1