From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web10.73807.1673569773316457812 for ; Thu, 12 Jan 2023 16:29:33 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=OppndJU7; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: isaac.w.oram@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673569773; x=1705105773; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=3M39den31CPGltujGLaCaCAvzj2GxcyTXeozs3nDa64=; b=OppndJU7iD4DtEXBfWYUhXCEuXEbcgerLfEPZHR1LWiMS8Ye4Q0FTq+W x1LUbIjzIWveKXxJubp2dN+0N0ABbH89GjK4V4IhkwwHbYA+rGBjkjQ38 uuOZc+QzIZBiJcV2V3VuRdhAsfnuuCdPqKK73arTOrZIio70BuCgM07sc zZsBHJzUdeU6iZ6RyRhw7tEjzfpbIWRomq5PIlszWxKAfde2gLu3mG9ZY kL30aRPdNbL1EKwJ5TX59F0/8ouB8QE5GwALQadqdPzUxVUX1gPdtW6Kk M73l+ZOJH0FcmyopVU2zxPU11c+TzZTfb8Ai0iXgcG/gfgBeIm+B2dAkW A==; X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="386216160" X-IronPort-AV: E=Sophos;i="5.97,212,1669104000"; d="scan'208";a="386216160" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 16:29:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="800418207" X-IronPort-AV: E=Sophos;i="5.97,212,1669104000"; d="scan'208";a="800418207" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga001.fm.intel.com with ESMTP; 12 Jan 2023 16:29:31 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Thu, 12 Jan 2023 16:29:31 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Thu, 12 Jan 2023 16:29:30 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Thu, 12 Jan 2023 16:29:30 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.175) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Thu, 12 Jan 2023 16:29:29 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CH48m9Ir7S2s2a5uerPzJMkBliZ4QhP0moqqfwLDg4RInkOZYx4PyWjt0OwiHOuQIefUSsHjA0Uv3J7X4nAdnO5dLs2OUgkYEOYm1EObaJZGSNxSKIFS21c6r1XPLJh+9xIhk6ikkILYP76RTlGsNLY4q4tqq/DIc+Dlk7Z3GLi4Ef+IyVlfZhTiaZ27Sh+x4GHIhg8xKXaT8ozOuGGWbrkzuhueNGHmmGpKvmIJkmLpv7rN5wVCGkjQ7GitTmh33rsB++SZWj+UYE1Y4EDas15h+DVPKWEWweSZZga8VEFtI+RTOgaN229XSNUGvTw9le5zVjaCUsAKZkIrSIgE6Q== 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=LlsiQF/QvZ2ttcplvSafkJwCaTxAZXQQ47HU/mCyhsk=; b=hSGFN7gZmSMLovm2vH+sqAZ5MDLVC+WF7i6+Zejw+yAtl3HQtNpgabNOk/dxtCgvGkeLZyb+F41VcOEPyKcMwznYYPgvZWDt5mF1uxiF8yFpUUA3id7AkE7NR59vWhPOYTXTP7vGChbnfj3cISTSEQoMYnUT14yM7PIPzvVrp0wFR9gmWYkm+0IbIH8Suig3Nlm1PXEQyjIHr02E3aDMHPKdI1HKy0ywriF48zN0k7RVnLv+j6/0m4/Rgz4shcaTYWyLSdkrolVmMnNo/W+F0FL34xDEzI6HfzRz36duWxXkTzoeTtIY7bntQD9fdMuvvbLALYk36dFoeW/kIs4WfQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SA1PR11MB5801.namprd11.prod.outlook.com (2603:10b6:806:23d::13) by IA0PR11MB7209.namprd11.prod.outlook.com (2603:10b6:208:441::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18; Fri, 13 Jan 2023 00:29:27 +0000 Received: from SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::7623:38f5:ab31:61a5]) by SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::7623:38f5:ab31:61a5%5]) with mapi id 15.20.5986.019; Fri, 13 Jan 2023 00:29:27 +0000 From: "Isaac Oram" To: "abner.chang@amd.com" , "devel@edk2.groups.io" CC: "Wang, Jian J" , "Gao, Liming" , Nickle Wang , "Igor Kulchytskyy" , "Desimone, Nathaniel L" Subject: Re: [PATCH 2/3] MdeModulePkg/IpmiCommandLib: Add NULL instance library Thread-Topic: [PATCH 2/3] MdeModulePkg/IpmiCommandLib: Add NULL instance library Thread-Index: AQHZGnlinYSOS4hvnEOhH1OXmeTrt66bk0FQ Date: Fri, 13 Jan 2023 00:29:26 +0000 Message-ID: References: <20221228045912.1677-1-abner.chang@amd.com> <20221228045912.1677-3-abner.chang@amd.com> In-Reply-To: <20221228045912.1677-3-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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SA1PR11MB5801:EE_|IA0PR11MB7209:EE_ x-ms-office365-filtering-correlation-id: 2dd18149-f0bb-4efb-4b1f-08daf4fd3a72 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1z5i/BbBWMQEwrvfheLg5oHyZ5pwfZjTW8XdYmQpQQmA0yjKszWWtaV4Lc8QIgtiKhoAywYcdm2XBnQbb2/ZP6p1zEFPDpyqBchuDY899KI0zjExtf827ytAMR1FqV8Niprrf7Pkg9jqCFcB2PWTAx5cVR8MvJzBRSP1nr7PRB9IZSyIJ1FcFHzAQtFz31qoFKZr2CWHCwvyvuE8PMFmq4gRuYA2P+sUOAJBGyKh93udEtF8xLNjZXMRBr2EKsyv2rGTS1L2nOs9vWe9ckW3gYIguq8UeEXDYzZo2dQCFKw3bDn3ttiTtIQq9f1jCvL1ESvl5894e1zOH7UdR4mYJB8OZCSIs7/YSdTYeqgLrT9/M/M6BpE9brBqMmron0lKRd7paxR3Brq2igKbTJpuH9G5pTkFblnCJYMI0E1rQ3yu05OOOWwtxWon1g2MLJDy/60aG56LzkcRfuaPcoC6XCaqI50ODMCudEwr7nuwguw4anBWbD57LIvbrU3hnUWMRv9ik2/oEmyD08hU/Y+kQdS2sO4CZWC+6EbrZVwIXMieMcdHVYeVlgK95x7DbXaWapnOhVav3NmgXJgl4QNKXilXgvctFMtJLDF2faS1X7Z0rbrLv7jZsyMnGobTU+uC0f9nJXQtRtwO1/1sIMACgohmrbC3uzlr1sD/ShpL/uez1G5gKV5m3oPjfLt2URhUPP1+bDDWrCHWeBN2Yc9DEg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB5801.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(39860400002)(366004)(136003)(376002)(346002)(451199015)(478600001)(8676002)(86362001)(66946007)(38100700002)(66446008)(4326008)(110136005)(76116006)(5660300002)(122000001)(66556008)(64756008)(66476007)(38070700005)(52536014)(41300700001)(33656002)(316002)(8936002)(53546011)(83380400001)(7696005)(71200400001)(2906002)(82960400001)(30864003)(26005)(54906003)(6506007)(186003)(9686003)(55016003)(107886003)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Hc0ClrRozIXoVm69OFalz6jRLdaq17BkcmEGJURc9NhMud2p6zIQZ7iq/09/?= =?us-ascii?Q?vuhKqBoTrTC9s8TsfQXE5jzCH3zQ/W3hgoDvac3hUgPgRTxzdwkzOBuwrjRw?= =?us-ascii?Q?i3EtJNgzxSZIwEc/GT7KI5gnfp6g0gqZ/zKSX4fu2Aj/OEM2IaezrqmiUa9S?= =?us-ascii?Q?h3BCfOpO/98cRwPJONrzPftxI0Qwa4mZnF82hWQCyWehySqlEPtNDahXeMRW?= =?us-ascii?Q?I88jHxa3vpuDfGT+7BJqmZHumZ2Bb+3erHsegT2Q+NOThq1htgH+bwN2gpUT?= =?us-ascii?Q?7k8KtJyvacfh/k+nDhH/RTNNNbgEUeRgZYFGF0Ew2VXtd4eg+ec98wYAuEZ6?= =?us-ascii?Q?MMU718uwyuhhPn6d4I74Fy0z5bNu4Y3fNRrKslWRMCvZ4xBMDavBZkQBWPRV?= =?us-ascii?Q?Os5hSQUZHVMrKkQE4H73HdqnKmfZmb0uLEOuuBckZech/DJyYLDFtJgPV7AZ?= =?us-ascii?Q?IAe8eDe9pNeo7/S4KRNIRnG/tKEZ4SESBjz46klf1g4Eah8P6fAYqB4qokyx?= =?us-ascii?Q?aOaLIWDHBnp49Hrp9XVyJ5LLvBmeYxdRlFLjraZNz/2d77D0CnDPHgHPqC/K?= =?us-ascii?Q?5TgXX9Al80UG41ieYovjxVWH7wv5qiGVX1hfSOBwRsTz/7Bj1dMMsv4199b0?= =?us-ascii?Q?hsrSQB/Zy6DJIurv1ZAq+6MHK0G+CubKoskBiBLe2KdnT8usbSvastY+Ed8p?= =?us-ascii?Q?Yjx7+KviYg4oGyjq5rMk/evXinTD5/Nv9i5dTjMGiCciCF1lIu8ERAtb7bq6?= =?us-ascii?Q?i/4/Ji6ph06rVObxAfQArDovLzgg7jLxsa/WVjdlMWfJ0jvd0WJQEy5p05En?= =?us-ascii?Q?gLiHEV82sFZjbK4dLQCNYaHJtAA35aLBsmVC4OTjzQZz9D5nMsBAYw0Zmb73?= =?us-ascii?Q?PokApE47wELjv7js/KfdP+tEsOAAx7Wzo4p8Jsj91UFoIILxw2ED+D+1oqaa?= =?us-ascii?Q?PaBSkieBRGT1AIkJ2YpdDNVha6scfdubJQF1VGZarG8iqrv1YvlwK7VwRlzG?= =?us-ascii?Q?4hkxRWFtJdLi77fnHOCn1ffP3r0CMOiqE70bY1UySTAkbc+8UPRRIH69TIz0?= =?us-ascii?Q?vDepAomf+3C/2jzAzpWbKWtWCRHvXU+gUdf8OfnvoB31NRu9qxMkNHP4B3He?= =?us-ascii?Q?xFTWkBhSNY5ZwT6ORckyJaByaMzCQ6sPwRkBEu4fMyk+qMVuHCW5KD6GXEX5?= =?us-ascii?Q?+tsBEXoAiRKY5nRJ9or9ltUL8Pg9qNLftDHoAWq742w0dzE4xzzpQOfGLRl9?= =?us-ascii?Q?VvkP7QX7jOmR/OcZW1hoCa1xHTCPVyfecOeYtkU8YREhETVNvteZFEjzAzgI?= =?us-ascii?Q?aTSK1Bqaa08K6X8vPePMGzqCRe70ItVLanzOe/ILM3ZRR8USEaeJMGLPhIzV?= =?us-ascii?Q?WyumXrhz79mghRnYYux1YngpyALfK1TicgVyByek517lMRJCyNTlnEUklTv+?= =?us-ascii?Q?tG3uO9NlDh/izZHSi6EGBbQBlogDEQBggVIghlG4GqX+ZevYglfvuQHfEVla?= =?us-ascii?Q?fE6Ay9C3pm+muM+E8j3TWLMBVS9DfuuZjNBe2lm2brs0HaZtUYiJRT8yVAxN?= =?us-ascii?Q?yVqHXqTw0h6or3ctZj8v8vPLo6i9a0cWYVEsH+Fo?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB5801.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2dd18149-f0bb-4efb-4b1f-08daf4fd3a72 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jan 2023 00:29:27.0349 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: MzkByMTFYM87+MKWuwmWdM9p5x9MnX10Ck38zU15vFZYaprHvqoiUE2eAVKl202lMVHr2pYWnLUkGCIwuMn0aQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR11MB7209 Return-Path: isaac.w.oram@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Isaac Oram You could change EFI_UNSUPPORTED to RETURN_UNSUPPORTED. I am not sure why = patchcheck doesn't complain. There are five instances of "exact size" which oddly has two spaces betwee= n the words. Regards, Isaac -----Original Message----- From: abner.chang@amd.com =20 Sent: Tuesday, December 27, 2022 8:59 PM To: devel@edk2.groups.io Cc: Wang, Jian J ; Gao, Liming ; Nickle Wang ; Igor Kulchytskyy ; = Oram, Isaac W ; Desimone, Nathaniel L Subject: [PATCH 2/3] MdeModulePkg/IpmiCommandLib: Add NULL instance library From: Abner Chang The NULL instance of IpmiCommandLib library under MdeModulePkg as the defau= lt IpmiCommandLib instance used by the modules under edk2. Signed-off-by: Abner Chang Cc: Jian J Wang Cc: Liming Gao Cc: Nickle Wang Cc: Igor Kulchytskyy Cc: Isaac Oram Cc: Nate DeSimone --- .../BaseIpmiCommandLibNull.inf | 34 +++ .../IpmiCommandLibNetFnApp.c | 252 ++++++++++++++++++ .../IpmiCommandLibNetFnChassis.c | 123 +++++++++ .../IpmiCommandLibNetFnStorage.c | 248 +++++++++++++++++ .../IpmiCommandLibNetFnTransport.c | 100 +++++++ 5 files changed, 757 insertions(+) create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCom= mandLibNull.inf create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommand= LibNetFnApp.c create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommand= LibNetFnChassis.c create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommand= LibNetFnStorage.c create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommand= LibNetFnTransport.c diff --git a/MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLib= Null.inf b/MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLibNu= ll.inf new file mode 100644 index 00000000000..d486539658f --- /dev/null +++ b/MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLibNull +++ .inf @@ -0,0 +1,34 @@ +## @file +# NULL instance of IpmiCommandLib +# +# Component description file for IPMI Command Library. +# +# Copyright (c) 2018 - 2021, Intel Corporation. All rights=20 +reserved.
# Copyright (C) 2022 Advanced Micro Devices, Inc. All=20 +rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent #=20 +## + +[Defines] + INF_VERSION =3D 0x00010005 + BASE_NAME =3D BaseIpmiCommandLibNull + FILE_GUID =3D 63F06EF8-B78A-4E7E-823E-D11A21059669 + MODULE_TYPE =3D BASE + VERSION_STRING =3D 1.0 + LIBRARY_CLASS =3D IpmiCommandLib + +[sources] + IpmiCommandLibNetFnApp.c + IpmiCommandLibNetFnTransport.c + IpmiCommandLibNetFnChassis.c + IpmiCommandLibNetFnStorage.c + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + +[LibraryClasses] + BaseMemoryLib + DebugLib + diff --git a/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetF= nApp.c b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnApp= .c new file mode 100644 index 00000000000..4f0c49b048c --- /dev/null +++ b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnApp +++ .c @@ -0,0 +1,252 @@ +/** @file + IPMI Command - NetFnApp NULL instance library. + + Copyright (c) 2018 - 2021, Intel Corporation. All rights=20 + reserved.
Copyright (C) 2022 Advanced Micro Devices, Inc. All=20 + rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include =20 +#include + +/** + This function gets the IPMI Device ID. + + @param[out] DeviceId Get device ID response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetDeviceId ( + OUT IPMI_GET_DEVICE_ID_RESPONSE *DeviceId + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets the self-test result. + + @param[out] SelfTestResult Self test command response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetSelfTestResult ( + OUT IPMI_SELF_TEST_RESULT_RESPONSE *SelfTestResult + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function resets watchdog timer. + + @param[out] CompletionCode The command completion code. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiResetWatchdogTimer ( + OUT UINT8 *CompletionCode + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function sets watchdog timer. + + @param[in] SetWatchdogTimer Set watchdog timer request. + @param[out] CompletionCode The command completion code. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiSetWatchdogTimer ( + IN IPMI_SET_WATCHDOG_TIMER_REQUEST *SetWatchdogTimer, + OUT UINT8 *CompletionCode + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets watchdog timer. + + @param[out] GetWatchdogTimer Get watchdog timer response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetWatchdogTimer ( + OUT IPMI_GET_WATCHDOG_TIMER_RESPONSE *GetWatchdogTimer + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function sets BMC global enables. + + @param[in] SetBmcGlobalEnables Set BMC global enables command reques= t. + @param[out] CompletionCode The command completion code. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiSetBmcGlobalEnables ( + IN IPMI_SET_BMC_GLOBAL_ENABLES_REQUEST *SetBmcGlobalEnables, + OUT UINT8 *CompletionCode + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets BMC global enables. + + @param[out] GetBmcGlobalEnables Get BMC global enables command respons= e. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetBmcGlobalEnables ( + OUT IPMI_GET_BMC_GLOBAL_ENABLES_RESPONSE *GetBmcGlobalEnables + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function clears message flag. + + @param[in] ClearMessageFlagsRequest Clear message flags command Requ= est. + @param[out] CompletionCode The command completion code. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiClearMessageFlags ( + IN IPMI_CLEAR_MESSAGE_FLAGS_REQUEST *ClearMessageFlagsRequest, + OUT UINT8 *CompletionCode + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets message flags. + + @param[out] GetMessageFlagsResponse Get message flags response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetMessageFlags ( + OUT IPMI_GET_MESSAGE_FLAGS_RESPONSE *GetMessageFlagsResponse + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets message. + + @param[out] GetMessageResponse Get message command response. + @param[in,out] GetMessageResponseSize The size of get message response= . + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetMessage ( + OUT IPMI_GET_MESSAGE_RESPONSE *GetMessageResponse, + IN OUT UINT32 *GetMessageResponseSize + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function sends message. + + @param[in] SendMessageRequest The send message command reques= t. + @param[in] SendMessageRequestSize The size of the send message co= mmand request. + @param[out] SendMessageResponse The send message command respon= se. + @param[in,out] SendMessageResponseSize The size of the send message co= mmand response. + When input, the expected size o= f response. + When output, the actual size of= response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiSendMessage ( + IN IPMI_SEND_MESSAGE_REQUEST *SendMessageRequest, + IN UINT32 SendMessageRequestSize, + OUT IPMI_SEND_MESSAGE_RESPONSE *SendMessageResponse, + IN OUT UINT32 *SendMessageResponseSize + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets the system UUID. + + @param[out] SystemGuid The pointer to retrieve system UUID. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. +**/ +EFI_STATUS +EFIAPI +IpmiGetSystemUuid ( + OUT EFI_GUID *SystemGuid + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets the channel information. + + @param[in] GetChannelInfoRequest The get channel information r= equest. + @param[out] GetChannelInfoResponse The get channel information r= esponse. + @param[out] GetChannelInfoResponseSize When input, the expected size= of response. + When output, the exact size o= f the returned + response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetChannelInfo ( + IN IPMI_GET_CHANNEL_INFO_REQUEST *GetChannelInfoRequest, + OUT IPMI_GET_CHANNEL_INFO_RESPONSE *GetChannelInfoResponse, + OUT UINT32 *GetChannelInfoResponseSize + ) +{ + return EFI_UNSUPPORTED; +} diff --git a/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetF= nChassis.c b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetF= nChassis.c new file mode 100644 index 00000000000..32126b466bb --- /dev/null +++ b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnCha +++ ssis.c @@ -0,0 +1,123 @@ +/** @file + IPMI Command - NetFnChassis NULL instance library. + + Copyright (c) 2018 - 2021, Intel Corporation. All rights=20 + reserved.
Copyright (C) 2022 Advanced Micro Devices, Inc. All=20 + rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include =20 +#include + +/** + This function gets chassis capability. + + @param[out] GetChassisCapabilitiesResponse Gets chassis capability comm= and response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetChassisCapabilities ( + OUT IPMI_GET_CHASSIS_CAPABILITIES_RESPONSE =20 +*GetChassisCapabilitiesResponse + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets chassis status. + + @param[out] GetChassisStatusResponse The get chassis status command res= ponse. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetChassisStatus ( + OUT IPMI_GET_CHASSIS_STATUS_RESPONSE *GetChassisStatusResponse + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function sends chassis control request. + + @param[in] ChassisControlRequest The chassis control request. + @param[out] CompletionCode The command completion code. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiChassisControl ( + IN IPMI_CHASSIS_CONTROL_REQUEST *ChassisControlRequest, + OUT UINT8 *CompletionCode + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function sets power restore policy. + + @param[in] ChassisControlRequest The set power restore policy contro= l + command request. + @param[out] ChassisControlResponse The response of power restore polic= y. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiSetPowerRestorePolicy ( + IN IPMI_SET_POWER_RESTORE_POLICY_REQUEST *ChassisControlRequest, + OUT IPMI_SET_POWER_RESTORE_POLICY_RESPONSE *ChassisControlResponse + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function sets system boot option. + + @param[in] BootOptionsRequest Set system boot option request. + @param[out] BootOptionsResponse The response of set system boot + option request. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiSetSystemBootOptions ( + IN IPMI_SET_BOOT_OPTIONS_REQUEST *BootOptionsRequest, + OUT IPMI_SET_BOOT_OPTIONS_RESPONSE *BootOptionsResponse + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets system boot option. + + @param[in] BootOptionsRequest Get system boot option request. + @param[out] BootOptionsResponse The response of get system boot + option request. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetSystemBootOptions ( + IN IPMI_GET_BOOT_OPTIONS_REQUEST *BootOptionsRequest, + OUT IPMI_GET_BOOT_OPTIONS_RESPONSE *BootOptionsResponse + ) +{ + return EFI_UNSUPPORTED; +} diff --git a/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetF= nStorage.c b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetF= nStorage.c new file mode 100644 index 00000000000..c94f55fbdaf --- /dev/null +++ b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnSto +++ rage.c @@ -0,0 +1,248 @@ +/** @file + IPMI Command - NetFnStorage NULL instance library. + + Copyright (c) 2018 - 2021, Intel Corporation. All rights=20 + reserved.
Copyright (C) 2022 Advanced Micro Devices, Inc. All=20 + rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include =20 +#include + +/** + This function gets FRU inventory area info. + + @param[in] GetFruInventoryAreaInfoRequest Get FRU inventory area com= mand request. + @param[out] GetFruInventoryAreaInfoResponse get FRU inventory area com= mand response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetFruInventoryAreaInfo ( + IN IPMI_GET_FRU_INVENTORY_AREA_INFO_REQUEST *GetFruInventoryAreaInfoR= equest, + OUT IPMI_GET_FRU_INVENTORY_AREA_INFO_RESPONSE =20 +*GetFruInventoryAreaInfoResponse + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function reads FRU data. + + @param[in] ReadFruDataRequest Read FRU data command request. + @param[out] ReadFruDataResponse Read FRU data command response. + @param[in,out] ReadFruDataResponseSize Size of the read FRU data respo= nse. + When input, the expected size o= f response data. + When out, the exact size of re= sponse data. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiReadFruData ( + IN IPMI_READ_FRU_DATA_REQUEST *ReadFruDataRequest, + OUT IPMI_READ_FRU_DATA_RESPONSE *ReadFruDataResponse, + IN OUT UINT32 *ReadFruDataResponseSize + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets chassis capability. + + @param[in] WriteFruDataRequest Write FRU data command request. + @param[in] WriteFruDataRequestSize Size of the write FRU data comman= d request. + @param[out] WriteFruDataResponse Write FRU data response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiWriteFruData ( + IN IPMI_WRITE_FRU_DATA_REQUEST *WriteFruDataRequest, + IN UINT32 WriteFruDataRequestSize, + OUT IPMI_WRITE_FRU_DATA_RESPONSE *WriteFruDataResponse + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets SEL information. + + @param[out] GetSelInfoResponse Get SEL information command respons= e. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetSelInfo ( + OUT IPMI_GET_SEL_INFO_RESPONSE *GetSelInfoResponse + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets SEL entry. + + @param[in] GetSelEntryRequest Get SEL entry command request. + @param[out] GetSelEntryResponse Get SEL entry command response. + @param[in,out] GetSelEntryResponseSize Size of Get SEL entry request. + When input, the expected size o= f response data. + When out, the exact size of re= sponse data. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetSelEntry ( + IN IPMI_GET_SEL_ENTRY_REQUEST *GetSelEntryRequest, + OUT IPMI_GET_SEL_ENTRY_RESPONSE *GetSelEntryResponse, + IN OUT UINT32 *GetSelEntryResponseSize + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function adds SEL entry. + + @param[in] AddSelEntryRequest Add SEL entry command request. + @param[out] AddSelEntryResponse Add SEL entry command response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiAddSelEntry ( + IN IPMI_ADD_SEL_ENTRY_REQUEST *AddSelEntryRequest, + OUT IPMI_ADD_SEL_ENTRY_RESPONSE *AddSelEntryResponse + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function partially adds SEL entry. + + @param[in] PartialAddSelEntryRequest Partial add SEL entry comma= nd request. + @param[in] PartialAddSelEntryRequestSize Size of partial add SEL ent= ry command request. + @param[out] PartialAddSelEntryResponse Partial add SEL entry comma= nd response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiPartialAddSelEntry ( + IN IPMI_PARTIAL_ADD_SEL_ENTRY_REQUEST *PartialAddSelEntryRequest, + IN UINT32 PartialAddSelEntryRequestSize, + OUT IPMI_PARTIAL_ADD_SEL_ENTRY_RESPONSE *PartialAddSelEntryResponse + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function clears SEL entry. + + @param[in] ClearSelRequest Clear SEL command request. + @param[out] ClearSelResponse Clear SEL command response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiClearSel ( + IN IPMI_CLEAR_SEL_REQUEST *ClearSelRequest, + OUT IPMI_CLEAR_SEL_RESPONSE *ClearSelResponse + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets SEL time. + + @param[out] GetSelTimeResponse Get SEL time command response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetSelTime ( + OUT IPMI_GET_SEL_TIME_RESPONSE *GetSelTimeResponse + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function sets SEL time. + + @param[in] SetSelTimeRequest Set SEL time command request. + @param[out] CompletionCode Command completion code. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiSetSelTime ( + IN IPMI_SET_SEL_TIME_REQUEST *SetSelTimeRequest, + OUT UINT8 *CompletionCode + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets SDR repository information. + + @param[out] GetSdrRepositoryInfoResp Get SDR repository response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetSdrRepositoryInfo ( + OUT IPMI_GET_SDR_REPOSITORY_INFO_RESPONSE *GetSdrRepositoryInfoResp + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets SDR + + @param[in] GetSdrRequest Get SDR resquest. + @param[out] GetSdrResponse Get SDR response. + @param[in,out] GetSdrResponseSize The size of get SDR response. + When input, the expected size of r= esponse data. + When out, the exact size of respo= nse data. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetSdr ( + IN IPMI_GET_SDR_REQUEST *GetSdrRequest, + OUT IPMI_GET_SDR_RESPONSE *GetSdrResponse, + IN OUT UINT32 *GetSdrResponseSize + ) +{ + return EFI_UNSUPPORTED; +} diff --git a/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetF= nTransport.c b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNe= tFnTransport.c new file mode 100644 index 00000000000..219de5bc7da --- /dev/null +++ b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnTra +++ nsport.c @@ -0,0 +1,100 @@ +/** @file + IPMI Command - NetFnTransport NULL instance library. + + Copyright (c) 2018 - 2021, Intel Corporation. All rights=20 + reserved.
Copyright (C) 2022 Advanced Micro Devices, Inc. All=20 + rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include =20 +#include + +/** + This function activates SOL + + @param[in] SolActivatingRequest SOL activating request. + @param[out] CompletionCode The command completion code. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiSolActivating ( + IN IPMI_SOL_ACTIVATING_REQUEST *SolActivatingRequest, + OUT UINT8 *CompletionCode + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function sets SOL configuration parameters. + + @param[in] SetConfigurationParametersRequest Set SOL configura= tion parameters + command request. + @param[in] SetConfigurationParametersRequestSize Size of set SOL c= onfiguration + parameters comman= d request. + @param[out] CompletionCode The command compl= etion code. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiSetSolConfigurationParameters ( + IN IPMI_SET_SOL_CONFIGURATION_PARAMETERS_REQUEST *SetConfigurationPara= metersRequest, + IN UINT32 SetConfigurationParam= etersRequestSize, + OUT UINT8 *CompletionCode + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets SOL configuration parameters. + + @param[in] GetConfigurationParametersRequest Get SOL configu= ration parameters + command request= . + @param[out] GetConfigurationParametersResponse Get SOL configu= ration parameters + response. + @param[in,out] GetConfigurationParametersResponseSize When input, the= size of expect response. + When output, th= e exact size of + expect response= . + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetSolConfigurationParameters ( + IN IPMI_GET_SOL_CONFIGURATION_PARAMETERS_REQUEST *GetConfigurationPar= ametersRequest, + OUT IPMI_GET_SOL_CONFIGURATION_PARAMETERS_RESPONSE *GetConfigurationPar= ametersResponse, + IN OUT UINT32 *GetConfigurationPar= ametersResponseSize + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets the LAN configuration parameter. + + @param[in] GetLanConfigurationParametersRequest Request data + @param[out] GetLanConfigurationParametersResponse Response data + @param[in,out] GetLanConfigurationParametersSize When input, the ex= pected size of response data. + When out, the exac= t size of response data. + + @retval EFI_SUCCESS Lan configuration parameter is returned in = the response. + @retval Others Other errors. + +**/ +EFI_STATUS +EFIAPI +IpmiGetLanConfigurationParameters ( + IN IPMI_GET_LAN_CONFIGURATION_PARAMETERS_REQUEST *GetLanConfiguratio= nParametersRequest, + OUT IPMI_GET_LAN_CONFIGURATION_PARAMETERS_RESPONSE *GetLanConfiguratio= nParametersResponse, + IN OUT UINT32 *GetLanConfiguratio= nParametersSize + ) +{ + return EFI_UNSUPPORTED; +} -- 2.37.1.windows.1