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.41]) by mx.groups.io with SMTP id smtpd.web10.34170.1679453302093144096 for ; Tue, 21 Mar 2023 19:48:22 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@amd.com header.s=selector1 header.b=iCC3mWRY; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.93.41, mailfrom: abner.chang@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M1mMJZPr3WVRvgGHL9HOeLZqIUZ7XMGH4x4nlh8LbswqDotS6FF7XZos8vjVfYr+BHIJ1dJzKddkXni1A2YEG8itE3/dV5c6CBFE9ngLmw5B4XjyMF520e4/k9J+rgEGi0e0++KzPzHEnUzAipPUn8b6GpH9a8IWpa9ZleZQoFc5rcws+Y0Io2alli+CPpP9U+b/+G3PG+EvrFR58oUs2W20S+ZzQQe5KjbgwKo5DQlrOChw8Y3FQYkGMBMIZ8cazCpET9fL52Ehy5GZH404qwpnZ94Rmsqx4xO+QTPccOIyxJZ9Hino872F7Fqc0uvBN7w1Uek7dcuKVQeV3zHbHw== 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=TRy+ry62w+dtRqZ46UhgTKZwvVNicPbg9LfTuT6m/5w=; b=WP2HdP/Y75+vAjy4ioCCiRhpT81+5kf1GNKcdBPRmvzOFcTTOPPtAcB7gjQfk0447o1rhgGIv/c53DRTQ8rBnJ3eJUrtza4ttx1IMIvjHyKEXaTQoVSuinFnzxklF6LrNZTo5tm/UZtBVI5U+lk0icQ+V/ALYtXH4MwzYkfPR2YkvXbbmrx8Zrdb4JnoJbCK6IZbLMQ00NYBRbyfmYdBvGZz8XjBz6k3uG5f1rMStoW9uiYhLacBnU7gwp3y5HqGcfkvGx6uK7PWO4nUtj+Gf2pgOc15zE8xsj3SSh9sU5xTYY+EpcHF9IirAnxfgmZreDciiOlNhMWxaaCbTAUg6Q== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TRy+ry62w+dtRqZ46UhgTKZwvVNicPbg9LfTuT6m/5w=; b=iCC3mWRYjsphafCuehcQdcBO6PWgoFQXcWxKLaIYBKwjd33DD1RdAvvVYeVbJtoEPt7X0NB/umJ7ZidQYiPMB1VKGeuIlyQoFF0hkgu6aX8vSvcddm9Yb5PEQZBQ5ZMV0ZGIDMZ5Qn1LWUq/LaACfC6GuRdSvZjoGzacJTFgF8U= Received: from DS7PR03CA0107.namprd03.prod.outlook.com (2603:10b6:5:3b7::22) by MW6PR12MB9019.namprd12.prod.outlook.com (2603:10b6:303:23f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar 2023 02:48:20 +0000 Received: from DS1PEPF0000E653.namprd02.prod.outlook.com (2603:10b6:5:3b7:cafe::39) by DS7PR03CA0107.outlook.office365.com (2603:10b6:5:3b7::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend Transport; Wed, 22 Mar 2023 02:48:19 +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 (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 Received: from SATLEXMB04.amd.com (165.204.84.17) by DS1PEPF0000E653.mail.protection.outlook.com (10.167.18.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6178.30 via Frontend Transport; Wed, 22 Mar 2023 02:48:19 +0000 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; Tue, 21 Mar 2023 21:48:17 -0500 From: "Chang, Abner" To: CC: Abdul Lateef Attar , Leif Lindholm , Michael D Kinney , Liming Gao , Isaac Oram , Nickle Wang Subject: [PATCH v4 0/9] Introduce ManageabilityPkg Date: Wed, 22 Mar 2023 10:47:56 +0800 Message-ID: <20230322024756.1592-1-abner.chang@amd.com> X-Mailer: git-send-email 2.37.1.windows.1 MIME-Version: 1.0 Return-Path: Abner.Chang@amd.com 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: DS1PEPF0000E653:EE_|MW6PR12MB9019:EE_ X-MS-Office365-Filtering-Correlation-Id: 74617dfb-2ed3-42bc-2c60-08db2a7fe525 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GF/uMHl4Iw2KPYSdtnRI9RVe+lDDtH2yW8a2/8/jdWxZTxEt6nTAHy6n74KD9/sxT6jvk+SfToe3Jk1nyTlVz8IM1rH+Ixx7dziopbGARldLFB96TrM/zmy0OXfDMIkfrLqx98Kgb2cHwDVVuRAsLPjK0bCy7rGvU6cM10p5ZhGGz/SLJNXXZvxg0M8ziRV2MchkYOw7DRTnO8/x2PaXcXo+BL6uao7Kv93FO6Ro3/HOiqtP2gRyH8zcTnGCsN5myJ03V0XpBcpEeY1BgLhK7oINUcsKIy3B63mtWByqfJ2X6I0vuwgHruXgUsfesIr2ZijlieUw3UinxX4hNG0xHcMykYfJeJUNsZ7cUQrLJlM696eF6xoXxcaY+vzGpRSS+r0XI9qKOoBJkOkjJCrDd/j9ymHxIuksVxL4gY4HswrLC4A5HAFKCgQD1TmuplqaDHEU6euiqOOnsrFSHw/ak1G1u6I1vRGWFHot+BeZToUNkU2wOH73tCqPYHptSO9Ol2MvACNhJKVbKAzLX65GOZQoIZHlaB+b8b/U+OKZ+LpqgmyjfT5nQa0VaNEKfn+kiun7HqPN1xZebdmm9o4n9k7GP7+uJB1QIE1+uASdMQpo8RgSjKcpxn6m/TUW5dC44gzmsGd20EX6BrdmgLXLAY762MpXlFmJpukv0kyiwKSIO9Aoyk1r8RUHJcrfFOocteCqAXmki48BZZNZ4fneMHm7GKzV5V5DxsHlLVlLCSo= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230025)(4636009)(376002)(39860400002)(346002)(136003)(396003)(451199018)(36840700001)(46966006)(40470700004)(478600001)(47076005)(426003)(40460700003)(6916009)(70586007)(5660300002)(4326008)(70206006)(8676002)(54906003)(6666004)(41300700001)(8936002)(1076003)(336012)(36860700001)(26005)(186003)(2616005)(16526019)(7696005)(83380400001)(36756003)(82310400005)(40480700001)(966005)(316002)(86362001)(2906002)(81166007)(82740400003)(2876002)(356005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 02:48:19.5907 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 74617dfb-2ed3-42bc-2c60-08db2a7fe525 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: DS1PEPF0000E653.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB9019 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain From: Abner Chang edk2 ManageabilityPkg is introduced to provide edk2 drivers and libraries for industry platform management standards, such as PLDM (Platform 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 transports. Please check the Readme file for the design guidance: https://github.com/changab/edk2-platforms/blob/Manageability_IPMI_upstream/= Features/ManageabilityPkg/Readme.md In V4: 1. Address Leif's comments on V3. 2. Reorganize patch 4/9, separate header file to preceding patch (3/= 9). In V3: 1. Address reviewers commnets on V2. 2. Revise IpmiPpi driver to not using global vriable. In V2: Fix some issues on below files, 1. Features/ManageabilityPkg/Library/Common/KcsCommon.c 2. Features/ManageabilityPkg/Library/Dxe/ManageabilityTransportKcs.c 3. Features/ManageabilityPkg/Universal/IpmiProtocol/Common/IpmiprotocolCo= mmon.c In V1, we had implemented, - KCS manageability transport library - Manageability library helper library - IPMI PEI/DXE/SMM protocol implementations Next upstream would be edk2 MCTP_PROTOCOL implementation that also consumes the manageability transport libraries. Signed-off-by: Abner Chang Cc: Abdul Lateef Attar Cc: Leif Lindholm Cc: Michael D Kinney Cc: Liming Gao Cc: Isaac Oram Cc: Nickle Wang Abner Chang (9): ManageabilityPkg: Add Readme file ManageabilityPkg: Initial package ManageabilityPkg: Add ManageabilityTransportLib header file ManageabilityPkg: Add NULL ManageabilityTransportLib ManageabilityPkg: Add ManageabilityTransportHelperLib ManageabilityPkg/ManageabilityTransportKcsLib ManageabilityPkg: Implement Ipmi Protocol/Ppi ManageabilityPkg: Add IpmiProtocol to Manageability Package edk2-platforms: Maintainers.txt .../ManageabilityPkg/ManageabilityPkg.dec | 48 ++ .../Include/Dsc/Manageability.dsc | 25 + .../ManageabilityPkg/ManageabilityPkg.dsc | 44 + .../BaseManageabilityTransportHelper.inf | 41 + .../BaseManageabilityTransportNull.inf | 28 + .../Dxe/DxeManageabilityTransportKcs.inf | 44 + .../IpmiProtocol/Dxe/IpmiProtocolDxe.inf | 50 ++ .../Universal/IpmiProtocol/Pei/IpmiPpiPei.inf | 53 ++ .../IpmiProtocol/Smm/IpmiProtocolSmm.inf | 52 ++ .../Library/ManageabilityTransportHelperLib.h | 93 +++ .../Library/ManageabilityTransportIpmiLib.h | 24 + .../Library/ManageabilityTransportLib.h | 336 ++++++++ .../Common/ManageabilityTransportKcs.h | 105 +++ .../IpmiProtocol/Common/IpmiProtocolCommon.h | 108 +++ .../IpmiProtocol/Pei/IpmiPpiInternal.h | 25 + .../BaseManageabilityTransportHelper.c | 261 ++++++ .../BaseManageabilityTransportNull.c | 64 ++ .../Common/KcsCommon.c | 502 ++++++++++++ .../Dxe/ManageabilityTransportKcs.c | 389 +++++++++ .../IpmiProtocol/Common/IpmiProtocolCommon.c | 252 ++++++ .../Universal/IpmiProtocol/Dxe/IpmiProtocol.c | 177 +++++ .../Universal/IpmiProtocol/Pei/IpmiPpi.c | 159 ++++ .../Universal/IpmiProtocol/Smm/IpmiProtocol.c | 147 ++++ Features/ManageabilityPkg/Readme.md | 177 +++++ .../Media/ManageabilityDriverStack.svg | 752 ++++++++++++++++++ .../BaseManageabilityTransportHelper.uni | 13 + .../BaseManageabilityTransportNull.uni | 13 + .../Dxe/ManageabilityTransportKcs.uni | 13 + Maintainers.txt | 7 + 29 files changed, 4002 insertions(+) create mode 100644 Features/ManageabilityPkg/ManageabilityPkg.dec create mode 100644 Features/ManageabilityPkg/Include/Dsc/Manageability.dsc create mode 100644 Features/ManageabilityPkg/ManageabilityPkg.dsc create mode 100644 Features/ManageabilityPkg/Library/BaseManageabilityTran= sportHelperLib/BaseManageabilityTransportHelper.inf create mode 100644 Features/ManageabilityPkg/Library/BaseManageabilityTran= sportNullLib/BaseManageabilityTransportNull.inf create mode 100644 Features/ManageabilityPkg/Library/ManageabilityTranspor= tKcsLib/Dxe/DxeManageabilityTransportKcs.inf create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Dxe/Ip= miProtocolDxe.inf create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Pei/Ip= miPpiPei.inf create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Smm/Ip= miProtocolSmm.inf create mode 100644 Features/ManageabilityPkg/Include/Library/Manageability= TransportHelperLib.h create mode 100644 Features/ManageabilityPkg/Include/Library/Manageability= TransportIpmiLib.h create mode 100644 Features/ManageabilityPkg/Include/Library/Manageability= TransportLib.h create mode 100644 Features/ManageabilityPkg/Library/ManageabilityTranspor= tKcsLib/Common/ManageabilityTransportKcs.h create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Common= /IpmiProtocolCommon.h create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Pei/Ip= miPpiInternal.h create mode 100644 Features/ManageabilityPkg/Library/BaseManageabilityTran= sportHelperLib/BaseManageabilityTransportHelper.c create mode 100644 Features/ManageabilityPkg/Library/BaseManageabilityTran= sportNullLib/BaseManageabilityTransportNull.c create mode 100644 Features/ManageabilityPkg/Library/ManageabilityTranspor= tKcsLib/Common/KcsCommon.c create mode 100644 Features/ManageabilityPkg/Library/ManageabilityTranspor= tKcsLib/Dxe/ManageabilityTransportKcs.c create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Common= /IpmiProtocolCommon.c create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Dxe/Ip= miProtocol.c create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Pei/Ip= miPpi.c create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Smm/Ip= miProtocol.c create mode 100644 Features/ManageabilityPkg/Readme.md create mode 100644 Features/ManageabilityPkg/Documents/Media/Manageability= DriverStack.svg create mode 100644 Features/ManageabilityPkg/Library/BaseManageabilityTran= sportHelperLib/BaseManageabilityTransportHelper.uni create mode 100644 Features/ManageabilityPkg/Library/BaseManageabilityTran= sportNullLib/BaseManageabilityTransportNull.uni create mode 100644 Features/ManageabilityPkg/Library/ManageabilityTranspor= tKcsLib/Dxe/ManageabilityTransportKcs.uni --=20 2.37.1.windows.1