From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (NAM12-DM6-obe.outbound.protection.outlook.com [40.107.243.91]) by mx.groups.io with SMTP id smtpd.web12.10365.1614942400804443363 for ; Fri, 05 Mar 2021 03:06:41 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@os.amperecomputing.com header.s=selector2 header.b=sgHKuv22; spf=pass (domain: os.amperecomputing.com, ip: 40.107.243.91, mailfrom: nhi@os.amperecomputing.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QINLicrL8hm08OTWhSIaRyIIll6QUmKZ1y0NUGzBuGrjyTpDR0Ibvw6ZjfMcT4OwH3Ep7M3Qpm+73HTRF5ag54yo+3wkmezVlG7jV0/3jomsttty3bZAAIYpfaUEEWoXCOp3+ECtaAMgSMyTaitcq3hDqvpXCxagZFVoV37OhY8UZn2YOeV8FWZdt/vLlU59OXPzafeUUaAWdVkyxSBzPtv1Ya3P9q/aLZGFT6CkZoVLQfdm0SbbaPGwBsgEqd2Rf/o7zgB8MFc8dEF1+tUucoQg+qM/k9ifoD1OxdRsmqnD8uHag0uCCS14skp0KK1ju3qWkeYQOk+gki57t+fPqg== 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-SenderADCheck; bh=45bVa9wUpBjkBN+Sy5wYt75oy6Gx4qZzxaOjyE9Cv10=; b=ela4FwaKH1y2uyvB8fKa4z1oOcYF9nGhN796tz+o3EvgTuXkpw82niZ+T90ReuHziY+g8vvJirJHWKEvf2ILUwbAtBVg3nG+rprFJblqF+JWcWaJRjZj8m/xVfkDSKk0c+ByZcdUp77XK0CPSPaA9+P5IifZzxe7KgpQokIotsxCp/KIb1qtOvTDQaMInn/GVEdFZVrErlGqgVXNihI7k6aRMnI8Poro2GJ+DhlkDv1hUDnUWFvDW06Jy9uTy/yRCw38QBYYfd+Tk7bbI+4LWGmqf/ttmBbtGXfGhvhWHv9V74tF29sM0tLh091HGHEmfPYzI8Wr3qkqeGQ5JqtqSQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=45bVa9wUpBjkBN+Sy5wYt75oy6Gx4qZzxaOjyE9Cv10=; b=sgHKuv22YrOQuPw9cRLR/TO/U1E650vyVTiEXcFqi43b3LfW8OiHjoDydcMJYiJNObTIT9WaIsK1sbKKE3ObXuc75HuNfGpEKWt12yWTEi0X956zAI6h1JixC0xXWNEbhsevYTq3+AVOiezlwSwwU4YPSBfPPJZMTdXJSyrWTg0= Authentication-Results: amperecomputing.com; dkim=none (message not signed) header.d=none;amperecomputing.com; dmarc=none action=none header.from=os.amperecomputing.com; Received: from DM6PR01MB5849.prod.exchangelabs.com (2603:10b6:5:205::20) by DM6PR01MB3948.prod.exchangelabs.com (2603:10b6:5:8b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.23; Fri, 5 Mar 2021 11:06:38 +0000 Received: from DM6PR01MB5849.prod.exchangelabs.com ([fe80::e4f9:7adc:3321:af6e]) by DM6PR01MB5849.prod.exchangelabs.com ([fe80::e4f9:7adc:3321:af6e%7]) with mapi id 15.20.3912.021; Fri, 5 Mar 2021 11:06:38 +0000 Subject: Re: [edk2-devel] [edk2-platforms] [PATCH v1 0/9] IpmiFeaturePkg: Add IPMI transport drivers To: devel@edk2.groups.io, isaac.w.oram@intel.com, "mikuback@linux.microsoft.com" , "Desimone, Nathaniel L" CC: "Chaganty, Rangasai V" , Liming Gao , Michael Kubacki , Phong Vo , Chuong Le Anh Tran , Vu Hoang Nguyen , Thang Nguyen References: <20210302022804.8641-1-nathaniel.l.desimone@intel.com> From: "Nhi Pham" Message-ID: <08e6a6e6-5f52-4c04-4894-e19b51d0ef29@os.amperecomputing.com> Date: Fri, 5 Mar 2021 18:06:28 +0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 In-Reply-To: X-Originating-IP: [118.69.219.201] X-ClientProxiedBy: HK2P15301CA0022.APCP153.PROD.OUTLOOK.COM (2603:1096:202:1::32) To DM6PR01MB5849.prod.exchangelabs.com (2603:10b6:5:205::20) Return-Path: nhi@os.amperecomputing.com MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [10.38.33.11] (118.69.219.201) by HK2P15301CA0022.APCP153.PROD.OUTLOOK.COM (2603:1096:202:1::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3933.8 via Frontend Transport; Fri, 5 Mar 2021 11:06:34 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9277da56-8e78-4702-6fdd-08d8dfc6bf71 X-MS-TrafficTypeDiagnostic: DM6PR01MB3948: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZZQ85e8LRJ6EImhWnTlsDRwOqWnchczA4BG/IGg5kX2qo8L5IO8qSLWev+W096jan4mspnV3wj7zGnn41AA0ZYREJ0XNGDbWQv9ifyah47goozeqWYkVcOeeGZDbyQ4rs/n3HRzbq4sTDjONpn9qUoEbDMzla4tDQo5j7Zw3OdGr6x4rYsSd8fBTLbNpUh3DbbYnX68sIEXCmnU82j/MCgq7G8fQvHyYGUn0sISygQbu4ehVk2qNrPiMjEECHQ3n5iK0lfsZ6bvLPC/lsmW90NMThuv8Kx1cRyVJqKfb9IGdJ88psKa0H73wiVQR41eIVrjCemlbfAbbLG5u64GuwzVezhhtCnKwYNP8fsgpAd28zupGCUlOOaBujTeUndPjceWaR5NeRxny7oolO/mRXLW3nMHMLeRP6t35BWKyxZIh02jC/cWDvhP8gWXt5cdDqGUKGY/MdXYb14FyOhJhJQSgFP6OlLJrJo/zNPlkMWXGbjxPER8TOuRXY2Z7Lvgi05ok4z5vpzb88ZS5cGlZCibuleMe2lpOKFWpzuYwaJKEzMakXSrn9uxLneBVZlsdDOSGKcSRcou38HH3oaOUzUSFWbcxRgnh8S3rVYzce3GhiJQLGYiuLLMaMPfeWYHELLYnnEIdPCOztqWbQomKEg4dI+X0iLo8IAz+MLg359tfKqPI2qwVxxiZ1tBCke3n X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR01MB5849.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(39850400004)(346002)(376002)(136003)(366004)(186003)(16526019)(30864003)(53546011)(26005)(83380400001)(8936002)(107886003)(6486002)(4326008)(110136005)(6666004)(54906003)(31686004)(956004)(2616005)(316002)(2906002)(66556008)(66946007)(16576012)(966005)(5660300002)(8676002)(66476007)(86362001)(45080400002)(31696002)(478600001)(52116002)(45980500001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?1/lTxpmR9fm4KyXIcgSqhYq5X5aAPmp1XLC2NnwUaWkM+eAng1DUOYF2b+KW?= =?us-ascii?Q?ow/tB6e037iHjJn7Qb48CY8ae2hNCVzeIoLvUFGdvcrDC+PdkKkdbYePWozT?= =?us-ascii?Q?AtqHhVV3dEv2941ozdcmrxSiVW2QeYbNutJMg/MbtQbYL7iy6FgUY+r9idTZ?= =?us-ascii?Q?U6GkDwQWMeAcyGCXIceLzdIb+ezapIAz77OhWG47/6/QIfFAveRE+lv9VVt+?= =?us-ascii?Q?UDwOImIhz84e5p09SyoeevjnaKrkjyC3soEkvKG/Nm/ojNeDxaNmzOmzRXiN?= =?us-ascii?Q?LrYZNc3U4r2ih/ojZJp8ge5nW+qe4EwnjaIk58DCfHvKxaQNZ8yqnM+1CK8l?= =?us-ascii?Q?Gzl+Ryru/lK2d7ipucgJpdV0n1Ztga7di4Mi5SLEU64oEK6K0eW/nPeOB/tN?= =?us-ascii?Q?COnJJ61+RCm9TRYbyeOEXqAGR4easAp6Ecy5ph7qrpOakHjr9j/9T5d62LZP?= =?us-ascii?Q?use8/MMPJwNMVnoq3cWKhvfPMpHy3a1kUlzQsP2zvoeoCn1yv+Kzihi77vrs?= =?us-ascii?Q?7VzcAtH/jEOPS0eXXhe3JyqRrslN93k9+QoCr1lYU2z1hWranlgVZGutIcUT?= =?us-ascii?Q?/+uAnKzBw2MjcrtuiXUrcxbaLSTgqrXDrolhzZMVWh0KvrbM4aRNqPRBW4kY?= =?us-ascii?Q?p2jSU1HlYnZjzMG1W/XFrK7YGf32y3ldQMUkdLuLoAB3au/7S94bKawFcyGr?= =?us-ascii?Q?WAwtde654RQyK461l71FmtbHabHgGwOZ6DjH1ofOzjeVEHA9NDo0C0467BzU?= =?us-ascii?Q?liMG81ByfkGESGUJpXR6e+s1K7zX6paaU0MTCvcgOgXckjteRT1sDHMCtLEh?= =?us-ascii?Q?QLPdfbaMOvWNEWxshWS6FS8A+V+5poBlGSLlPOvev1B9YUqi41q7HSqDe00l?= =?us-ascii?Q?FBFn2cgaNxzVQeNXgQPtCPrz6hJ7+m4VHCzPqbv4S+hfkhHXCDfHVSw6jTc0?= =?us-ascii?Q?tWOvuf/vWCN2Gg8SMIE5UX8+qAnvM5oQSD3vOa6Uo9T4Ie9EpvDNVwKAzcIB?= =?us-ascii?Q?GCOvHUxw1dxIW6H96Pbnn7EHcFknU3sif7JMqWLYkpbQ4P2JQhG0q0+TtVD6?= =?us-ascii?Q?q0LiiDdkAqzMgtsnAl3wvqb27DPEsvWvBbBwCxtBfcfE0hltPheCS79UXTFE?= =?us-ascii?Q?8WrBWczduZ6ZVBQDPonccbaYF/sUJZNKXMa4WCyJdTksqpWTxo9cL875e884?= =?us-ascii?Q?qFzGuf+ELSTQM5CfkNBwtyb+3L1iLpcNztlGulFuqy9KyPln/LLSuykKCNWs?= =?us-ascii?Q?UYo2rpqz0AF0oNzj6NqGtSexU5YX6Hs95ipJ/9z/Sn9EJOA48AZwFdDJcEnt?= =?us-ascii?Q?NsGejAz4OF3bgA9c/o+hsHX0?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9277da56-8e78-4702-6fdd-08d8dfc6bf71 X-MS-Exchange-CrossTenant-AuthSource: DM6PR01MB5849.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Mar 2021 11:06:38.4254 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Gauq/+SREyZK1NhZyNHS9isASkp6RBQCG61xc8Pcg7XYviT42VqaXYkjVk+G2nOtejZUWj4Vg6DXt2/1eXuMh9k7Hk8fvX+WBrExyyVqMHg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR01MB3948 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Content-Language: en-US Hi Isaac, We - Ampere Computing=C2=A0 are implementing IPMI over SSIF transport (per= = =20 IPMI 2.0 spec). We also have this ready for submission, soon. However, in light of this review, we would be interested in co-work with= =20 Intel so the same design can be used on non-KCS platform, instead of=20 keeping each implementation proprietary. Thanks, Nhi On 3/5/21 06:33, Oram, Isaac W via groups.io wrote: > Michael, > > Thanks for the feedback. > > I was torn between aligning with the proprietary version and cleaning it= up. > My concern is if we do too much cleanup, it will delay adoption. > > I did the minimum that we know is required for ECC tool to pass coding s= tyle tool and avoid EFI prefixes. > > I would like delay refactoring and cleaning up until it is in the open w= here people can easily follow the code evolution from proprietary to open s= ource. I am looking to develop some maintainers for this feature package, = and the cleanup would be a good way to ramp them into active open participa= tion and put them on the path to becoming maintainers. > > Anyway, your feedback is noted and I will put those on the to do list fo= r completing this. > > Regards, > Isaac > > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Michael K= ubacki > Sent: Wednesday, March 3, 2021 11:23 AM > To: devel@edk2.groups.io; Desimone, Nathaniel L > Cc: Oram, Isaac W ; Chaganty, Rangasai V ; Liming Gao ; Michael Ku= backi > Subject: Re: [edk2-devel] [edk2-platforms] [PATCH v1 0/9] IpmiFeaturePkg= : Add IPMI transport drivers > > Looked over the series at a high-level and the feature structure looks f= ine. For the series: > Acked-by: Michael Kubacki > > I didn't look closely at implementation but there's a few things I notic= ed. > > There's a few typos. I'd suggest running a spell check to clean those up= . Some quick examples: > > ServerManagement.h: > > "Generic Definations for Server Management Header File." > > typedef struct { > LINERIZATION_TYPE Linearization; // L > > IpmiTransportPei.h: > > "IPMI Ttransport PPI Header File." > > There was a mix of function documentation styles though that might be so= mething to clean up later. > > I saw some globals that did not appear necessary. For example, mIpmiTran= sport in SmmIpmiBaseLib.c seems to be located before every access. > > Thanks, > Michael > > On 3/1/2021 6:27 PM, Nate DeSimone wrote: >> From: Isaac Oram >> >> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3242 >> >> Implement an open source generic IPMI transport driver. >> Provides the ability to communicate with a BMC over IPMI in >> MinPlatform board packages. >> >> New changes: >> 1. Added GenericIpmi >> 2. Added IPMI base libs >> 3. Added transport PPI and protocol >> 4. Updated IPMI command request and response data size from >> UINT8 to UINT32 in IPMI transport layer to be compatible >> with EDK2 industry standard IPMI commands. >> 6. Added the completion code in the first byte of all IPMI >> response data to be compatible with EDK2 industry standard >> IPMI commands. >> >> Cc: Sai Chaganty >> Cc: Liming Gao >> Cc: Michael Kubacki >> Signed-off-by: Isaac Oram >> Co-authored-by: Nate DeSimone >> >> Isaac Oram (9): >> IpmiFeaturePkg: Add IPMI driver Include headers >> IpmiFeaturePkg: Add IpmiBaseLib and IpmiCommandLib >> IpmiFeaturePkg: Add IpmiInit drivers >> IpmiFeaturePkg: Add GenericIpmi driver common code >> IpmiFeaturePkg: Add GenericIpmi PEIM >> IpmiFeaturePkg: Add GenericIpmi DXE Driver >> IpmiFeaturePkg: Add GenericIpmi SMM Driver >> IpmiFeaturePkg: Add IPMI driver build files >> Maintainers.txt: Add IpmiFeaturePkg maintainers >> >> .../GenericIpmi/Common/IpmiBmc.c | 297 +++++++++++ >> .../GenericIpmi/Common/IpmiBmc.h | 44 ++ >> .../GenericIpmi/Common/IpmiBmcCommon.h | 179 +++++++ >> .../GenericIpmi/Common/IpmiHooks.c | 96 ++++ >> .../GenericIpmi/Common/IpmiHooks.h | 81 +++ >> .../GenericIpmi/Common/IpmiPhysicalLayer.h | 29 ++ >> .../GenericIpmi/Common/KcsBmc.c | 483 ++++++++++++++++= ++ >> .../GenericIpmi/Common/KcsBmc.h | 236 +++++++++ >> .../GenericIpmi/Dxe/GenericIpmi.c | 46 ++ >> .../GenericIpmi/Dxe/GenericIpmi.inf | 66 +++ >> .../IpmiFeaturePkg/GenericIpmi/Dxe/IpmiInit.c | 452 ++++++++++++++++ >> .../GenericIpmi/Pei/PeiGenericIpmi.c | 362 +++++++++++++ >> .../GenericIpmi/Pei/PeiGenericIpmi.h | 138 +++++ >> .../GenericIpmi/Pei/PeiGenericIpmi.inf | 58 +++ >> .../GenericIpmi/Pei/PeiIpmiBmc.c | 277 ++++++++++ >> .../GenericIpmi/Pei/PeiIpmiBmc.h | 38 ++ >> .../GenericIpmi/Pei/PeiIpmiBmcDef.h | 156 ++++++ >> .../GenericIpmi/Smm/SmmGenericIpmi.c | 208 ++++++++ >> .../GenericIpmi/Smm/SmmGenericIpmi.inf | 53 ++ >> .../IpmiFeaturePkg/Include/IpmiFeature.dsc | 9 +- >> .../Include/Library/IpmiBaseLib.h | 50 ++ >> .../Include/Library/IpmiCommandLib.h | 19 +- >> .../Include/Ppi/IpmiTransportPpi.h | 68 +++ >> .../Include/Protocol/IpmiTransportProtocol.h | 75 +++ >> .../IpmiFeaturePkg/Include/ServerManagement.h | 337 ++++++++++++ >> .../IpmiFeaturePkg/Include/SmStatusCodes.h | 98 ++++ >> .../IpmiFeaturePkg/IpmiFeaturePkg.dec | 22 +- >> .../IpmiFeaturePkg/IpmiInit/DxeIpmiInit.c | 4 +- >> .../IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf | 6 +- >> .../IpmiFeaturePkg/IpmiInit/PeiIpmiInit.c | 4 +- >> .../IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf | 4 +- >> .../Library/IpmiBaseLib/IpmiBaseLib.c | 155 ++++++ >> .../Library/IpmiBaseLib/IpmiBaseLib.inf | 28 + >> .../Library/IpmiBaseLibNull/IpmiBaseLibNull.c | 76 +++ >> .../IpmiBaseLibNull/IpmiBaseLibNull.inf | 36 ++ >> .../Library/IpmiCommandLib/IpmiCommandLib.inf | 4 +- >> .../IpmiCommandLib/IpmiCommandLibNetFnApp.c | 7 +- >> .../IpmiCommandLibNetFnChassis.c | 51 +- >> .../IpmiCommandLibNetFnStorage.c | 7 +- >> .../IpmiCommandLibNetFnTransport.c | 7 +- >> .../Library/PeiIpmiBaseLib/PeiIpmiBaseLib.c | 111 ++++ >> .../Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf | 30 ++ >> .../Library/SmmIpmiBaseLib/SmmIpmiBaseLib.c | 180 +++++++ >> .../Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf | 29 ++ >> .../IpmiFeaturePkg/Readme.md | 4 +- >> Maintainers.txt | 6 + >> 46 files changed, 4694 insertions(+), 32 deletions(-) >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Common/IpmiBmc.c >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Common/IpmiBmc.h >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Common/IpmiBmcCommon.h >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Common/IpmiHooks.c >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Common/IpmiHooks.h >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Common/IpmiPhysicalLayer.h >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Common/KcsBmc.c >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Common/KcsBmc.h >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Dxe/GenericIpmi.c >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Dxe/GenericIpmi.inf >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Dxe/IpmiInit.c >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Pei/PeiGenericIpmi.c >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Pei/PeiGenericIpmi.h >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Pei/PeiGenericIpmi.inf >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Pei/PeiIpmiBmc.c >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Pei/PeiIpmiBmc.h >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Pei/PeiIpmiBmcDef.h >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Smm/SmmGenericIpmi.c >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /GenericIpmi/Smm/SmmGenericIpmi.inf >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /Include/Library/IpmiBaseLib.h >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /Include/Ppi/IpmiTransportPpi.h >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /Include/Protocol/IpmiTransportProtocol.h >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /Include/ServerManagement.h >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /Include/SmStatusCodes.h >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /Library/IpmiBaseLib/IpmiBaseLib.c >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /Library/IpmiBaseLib/IpmiBaseLib.inf >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /Library/IpmiBaseLibNull/IpmiBaseLibNull.c >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /Library/IpmiBaseLibNull/IpmiBaseLibNull.inf >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /Library/PeiIpmiBaseLib/PeiIpmiBaseLib.c >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf >> create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg= /Library/SmmIpmiBaseLib/SmmIpmiBaseLib.c >> create mode 100644 >> Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseL >> ib/SmmIpmiBaseLib.inf >> > > > > > > >=20 > >