From nobody Thu Mar 28 21:44:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101696+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 167958394355811.947815814401338; Thu, 23 Mar 2023 08:05:43 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id lq9tYY1788612xV13DHuCuEl; Thu, 23 Mar 2023 08:05:43 -0700 X-Received: from NAM12-BN8-obe.outbound.protection.outlook.com (NAM12-BN8-obe.outbound.protection.outlook.com [40.107.237.40]) by mx.groups.io with SMTP id smtpd.web11.74916.1679583941562273483 for ; Thu, 23 Mar 2023 08:05:41 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ClmRghYcQvozZccHEyAdwXNPE37unNWYwiUuRJUGemCEtsEKSchJFcDEeeIAAvMDv0SgvdlbNtxW2W9TB+NTAil+kEuqtsnMIJGsJeiHC9LW2/Ua9nime0MCZ/BQKKCJJ5yqOviEU8l1NTKHxx9Iqm4nXUyHkge1jCo86ZYsIqDit/WlKWOm6//z7ItkYeYp03YNd6TLa/jqNbvvOZdvsWuApxwOvauzxcgZZfQGYRCviz5kABKR8IF7e6qjkENnYYzV8VOI9OAKaniJKWkML9UOLAXAqc0PtNGNOaQcc59j586Tz0Atq0u1ZxaadVUk+nchv61OhI+wBntk+qcTtg== 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=pKrCUQo5TiEgEQGjWSXs6xySsGdOV1vWyeDfhfnjdDQ=; b=l/aHnFj7UVxjRoKMyq5+pXMTzZCtFLwr5Ii1tYch7Txs1Iv8qqdzBSCgfttiJHJ0dKtdEd3p6J6OKy241wOJLag2DHcYFaBPN6yewLeriIkUvSpv+q/6ZDH3sF1Shb8JrJNPgWVL/EVucJgjtQSORrAg23z42174D2A/sML4nHKdGte/CQLUuWrre5POg3y3/0TEfdnkfwoMK2dGpW4ec+188LlyJ0BHUA6tlWqtz8uSRbN736bMKsORBEk8IupwpwMRkZA0GdPFhiJEor6Wp20f6fM6WwJ+UcfQWetEb/32YHE/FAA7WUezec1eiguu2/Xd0Cu7lWILZ7k4p7mzug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none X-Received: from DM6PR07CA0062.namprd07.prod.outlook.com (2603:10b6:5:74::39) by CY5PR12MB6646.namprd12.prod.outlook.com (2603:10b6:930:41::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar 2023 15:05:39 +0000 X-Received: from DS1PEPF0000E649.namprd02.prod.outlook.com (2603:10b6:5:74:cafe::57) by DM6PR07CA0062.outlook.office365.com (2603:10b6:5:74::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38 via Frontend Transport; Thu, 23 Mar 2023 15:05:39 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+101696+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C X-Received: from SATLEXMB04.amd.com (165.204.84.17) by DS1PEPF0000E649.mail.protection.outlook.com (10.167.18.39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6178.30 via Frontend Transport; Thu, 23 Mar 2023 15:05:38 +0000 X-Received: from TPE-L1-ABNCHANG.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 23 Mar 2023 10:05:33 -0500 From: "Chang, Abner via groups.io" To: CC: Michael D Kinney , Liming Gao , Zhiguang Liu , "Nickle Wang" , Igor Kulchytskyy , Isaac Oram , Abdul Lateef Attar Subject: [edk2-devel] [PATCH v3] MdePkg/Include: Add DMTF MCTP definitions Date: Thu, 23 Mar 2023 23:05:17 +0800 Message-ID: <20230323150517.1403-1-abner.chang@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF0000E649:EE_|CY5PR12MB6646:EE_ X-MS-Office365-Filtering-Correlation-Id: 4cdcbb63-937c-4cdd-eaba-08db2bb01042 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: XXg3o5LmJ2MWXKRprqUgLNlJfXfLDXHP+WH17rkP/1WuIoMwaMeDdTB13WumycrEW8FXs1cvIORUFdA9W1E4F9py/71zl7BTnGtIZ28HQB3IQwN/QxkewxO2CzxDjRY8x3MpvVL5MDqZcRONtET7g17KJwtGXgpZctYf9czGo++NvAWCA5//7wnQga3Hx0jQhUQc+u9gl4hQAzFao2Tby6qG/mtt+l8+SzHvDDGsz0pkPVhSdf65VHMwNxXIjCLutpKqF8xxJ47hiF4jMKvBILlKkB/rAPL6THBPeKX1biDRHkU5MkBUzHXqbbiVV/EicLvu2KaZ2Bo/4RPZBtdGVfl4btP2Cl0/44XhT0SbFWXqjboRhwKbUaKZ/siQSMH6F/jjv4Uf65W3hNxr250x9am/CmKsHgRaOIaauQETYCMDHFZFlvArepjR9V+04DFMmx/wMW9jUZ1Mid5XFYtDw9KQurd3QOLykh0YgBK2nUgdZzD/omyaMFS36u6kSnHJAP9yd4uucOsdwnY6ZxBjK9sAaLvhTz0fUxF6DclgC/J6ZLAvjyQkYqTWr5GdD68G2Xjzv1G7ZRvh/buU7iARPdhPRGmchDe425hENcb9wctv3/kWoMHwInlQNZkN//5VCXrVk3uurrBObf0JhGixoWB9/89tA2cXHIAgFZZqlQPbwjlk0z4K0+AWylx7C310sto2+LknkwExZuC1vzypyTE7x7hwEPZ6nCHIuGD92eE= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 15:05:38.9335 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4cdcbb63-937c-4cdd-eaba-08db2bb01042 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS1PEPF0000E649.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6646 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,abner.chang@amd.com X-Gm-Message-State: 21riB3zp6RoLQHh9SQgIWRbSx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1679583943; bh=LFvYnSms1r0yaYMaMb+Ids5WeDtegL9IrMgHlegdGtA=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=N2wKOglbcHbQL4Zc374yFjOykfLyEzL0kyEwn0ou+zYHS++XWhRVX7rHqvlZ/91qpol V9lX+6ZiLCNuSa0/okyNTEwQWiSRU+/RgcAJ5c7HoFzUlAQJ2BPQnSxfFn3VZ4lm1K0D3 V6IPn10qa4hW7DuIWTr3SfpprUsqT9aCzBg= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1679583944480100002 Content-Type: text/plain; charset="utf-8" From: Abner Chang BZ #4355 This change adds definitions for DMTF MCTP base specification. Spec ref: https://www.dmtf.org/sites/default/files/standards/documents/DSP0236_1.3.1.= pdf Signed-off-by: Abner Chang Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Nickle Wang Cc: Igor Kulchytskyy Cc: Isaac Oram Cc: Abdul Lateef Attar Acked-by: Isaac Oram --- MdePkg/Include/IndustryStandard/Mctp.h | 138 +++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 MdePkg/Include/IndustryStandard/Mctp.h diff --git a/MdePkg/Include/IndustryStandard/Mctp.h b/MdePkg/Include/Indust= ryStandard/Mctp.h new file mode 100644 index 00000000000..bfbc843c7f1 --- /dev/null +++ b/MdePkg/Include/IndustryStandard/Mctp.h @@ -0,0 +1,138 @@ +/** @file + + The definitions of DMTF Management Component Transport Protocol (MCTP) + Base Specification. + + Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
+ SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Revision Reference: + DMTF Management Component Transport Protocol (MCTP) Base Specification + Version 1.3.1 + https://www.dmtf.org/sites/default/files/standards/documents/DSP0236_1.3= .1.pdf +**/ + +#ifndef MCTP_H_ +#define MCTP_H_ + +/// +/// Definitions of endpoint ID +/// +#define MCTP_NULL_DESTINATION_ENDPOINT_ID 0 +#define MCTP_NULL_SOURCE_ENDPOINT_ID 0 +#define MCTP_RESERVED_ENDPOINT_START_ID 1 +#define MCTP_RESERVED_ENDPOINT_END_ID 7 +#define MCTP_BROADCAST_ENDPOINT_ID 0xFF + +/// Minimum transmission size is 64 bytes. +/// The value of 64 is defined in MCTP Base Specification. +#define MCTP_BASELINE_MINIMUM_UNIT_TRANSMISSION_SIZE 0x40 + +/// +/// The 32-bit Header of MCTP packet. +/// +typedef union { + struct { + UINT8 HeaderVersion : 4; ///< The version of header. + UINT8 Reserved : 4; ///< Reserved for future definitio= ns. + UINT8 DestinationEndpointId : 8; ///< Destination endpoint Id (EID). + UINT8 SourceEndpointIdId : 8; ///< Source endpoint Id (EID) + UINT8 MessageTag : 3; ///< Check the MCTP Base specifica= tion for the + ///< usages. + UINT8 TagOwner : 1; ///< Tag owner identifies the mess= age was + ///< originated by the source EID = or + ///< destination EID. + UINT8 PacketSequence : 2; ///< Sequence number increments Mo= dulo 4 on + ///< each packet. + UINT8 EndOfMessage : 1; ///< Indicates the last packet of = message. + UINT8 StartOfMessage : 1; ///< Indicates the first packet of= message. + } Bits; + UINT32 Header; +} MCTP_TRANSPORT_HEADER; + +/// +/// The 8-bit Message Header of MCTP packet. +/// +typedef union { + struct { + UINT8 MessageType : 7; + UINT8 ItegrityCheck : 1; + } Bits; + UINT8 MessageHeader; +} MCTP_MESSAGE_HEADER; + +/// +/// MCTP Control Commands +/// +#define MCTP_CONTROL_RESERVED 0x00 +#define MCTP_CONTROL_SET_ENDPOINT_ID 0x01 +#define MCTP_CONTROL_GET_ENDPOINT_ID 0x02 +#define MCTP_CONTROL_GET_ENDPOINT_UUID 0x03 +#define MCTP_CONTROL_GET_MCTP_VERSION_SUPPORT 0x04 +#define MCTP_CONTROL_GET_MESSAGE_TYPE_SUPPORT 0x05 +#define MCTP_CONTROL_GET_VENDOR_DEFINED_MESSAGE_SUPPORT 0x06 +#define MCTP_CONTROL_RESOLVE_ENDPOINT_ID 0x07 +#define MCTP_CONTROL_ALLOCATE_ENDPOINT_IDS 0x08 +#define MCTP_CONTROL_ROUTING_INFORMATION_UPDATE 0x09 +#define MCTP_CONTROL_GET_ROUTINE_TABLE_ENTRIES 0x0A +#define MCTP_CONTROL_PREPARE_FOR_ENDPOINT_DISCOVERY 0x0B +#define MCTP_CONTROL_ENDPOINT_DISCOVERY 0x0C +#define MCTP_CONTROL_DISCOVERY_NOTIFY 0x0D +#define MCTP_CONTROL_GET_NETWORK_ID 0x0E +#define MCTP_CONTROL_QUERY_HOP 0x0F +#define MCTP_CONTROL_RESOLVE_UUID 0x10 +#define MCTP_CONTROL_QUERY_RATE_LIMIT 0x11 +#define MCTP_CONTROL_REQUEST_TX_RATE_LIMIT 0x12 +#define MCTP_CONTROL_UPDATE_RATE_LIMIT 0x13 +#define MCTP_CONTROL_QUERY_SUPPORTED_INTERFACES 0x14 +#define MCTP_CONTROL_TRANSPORT_SPECIFIC_START 0xF0 +#define MCTP_CONTROL_TRANSPORT_SPECIFIC_END 0xFF + +/// +/// MCTP Control Message Completion Codes +/// +#define MCTP_CONTROL_COMPLETION_CODES_SUCCESS 0x00 +#define MCTP_CONTROL_COMPLETION_CODES_ERROR 0x01 +#define MCTP_CONTROL_COMPLETION_CODES_ERROR_INVALID_DATA 0x02 +#define MCTP_CONTROL_COMPLETION_CODES_ERROR_INVALID_LENGTH 0x03 +#define MCTP_CONTROL_COMPLETION_CODES_ERROR_NOT_READY 0x04 +#define MCTP_CONTROL_COMPLETION_CODES_ERROR_UNSUPPORTED_CMD 0x05 +#define MCTP_CONTROL_COMPLETION_CODES_COMMAND_SPECIFIC_START 0x80 +#define MCTP_CONTROL_COMPLETION_CODES_COMMAND_SPECIFIC_END 0xFF + +/// +/// MCTP Control Message Types +/// +#define MCTP_MESSAGE_TYPE_CONTROL 0x00 +#define MCTP_MESSAGE_TYPE_PLDM 0x01 +#define MCTP_MESSAGE_TYPE_NCSI 0x02 +#define MCTP_MESSAGE_TYPE_ETHERNET 0x03 +#define MCTP_MESSAGE_TYPE_NVME 0x04 +#define MCTP_MESSAGE_TYPE_SPDM 0x05 +#define MCTP_MESSAGE_TYPE_SECURE_MESSAGE 0x06 +#define MCTP_MESSAGE_TYPE_CXL_FM_API 0x07 +#define MCTP_MESSAGE_TYPE_CXL_CCI 0x08 +#define MCTP_MESSAGE_TYPE_VENDOR_DEFINED_PCI 0x7E +#define MCTP_MESSAGE_TYPE_VENDOR_DEFINED_IANA 0x7F + +#define MCTP_ENDPOINT_ID_NULL 0 +#define MCTP_ENDPOINT_ID_RESERVED_START 1 +#define MCTP_ENDPOINT_ID_RESERVED_END 7 +#define MCTP_ENDPOINT_ID_BROADCAST 0xff +/// +/// MCTP Control Message Format +/// +typedef struct { + struct { + UINT8 IntegrityCheck : 1; ///< Message integrity check. + UINT8 MessageType : 7; ///< Message type. + UINT8 RequestBit : 1; ///< Request bit. + UINT8 DatagramBit : 1; ///< Datagram bit. + UINT8 Reserved : 1; ///< Reserved bit. + UINT8 InstanceId : 5; ///< Instance ID. + UINT8 CommandCode : 8; ///< Command code of request message. + UINT8 CompletionCode : 8; ///< Completion code in response message. + } Bits; + UINT32 BodyHeader; +} MCTP_CONTROL_MESSAGE; +#endif --=20 2.37.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#101696): https://edk2.groups.io/g/devel/message/101696 Mute This Topic: https://groups.io/mt/97802772/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-