From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web10.12563.1684466207980707137 for ; Thu, 18 May 2023 20:16:48 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=FkqNJpJM; spf=pass (domain: intel.com, ip: 134.134.136.100, 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=1684466206; x=1716002206; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=PbUalwaOmG3nSoQJ1dph0RtMBoCc7AE1UclN5urjs/w=; b=FkqNJpJMdLz9SB/eUKrq7jnAMlfqGgl/uKrtV6JsjG+nLyFeZBLDPYir pBzRQAuOFi4ClFPyIpDKiwp9ZSXTXPWVNaf6KUi0oIvXE/8tCAu4uxVrl XSnPoGUWY0dXULs7lzk4pdgjJaik33yArBnW4jVVQ5nZfElFqpq0bHa54 /gZIpc+H9wjboPOYJPvNLcTWjY0G6jejOjYfr9rqP3liY0a9oQRHFQIZE ubn0oLzFMWsQEtFi4wRncqNEA/NBnFePBQOp37Z0HXFLlE7xWnVSmCMlg UUo9B/qeOsONgd0zgKTgt9QIyMCbxLj3qfw14/tmJzf/eqhr37XlXvrSc w==; X-IronPort-AV: E=McAfee;i="6600,9927,10714"; a="417957481" X-IronPort-AV: E=Sophos;i="6.00,175,1681196400"; d="scan'208";a="417957481" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 May 2023 20:16:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10714"; a="705431094" X-IronPort-AV: E=Sophos;i="6.00,175,1681196400"; d="scan'208";a="705431094" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga007.fm.intel.com with ESMTP; 18 May 2023 20:16:47 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Thu, 18 May 2023 20:16:46 -0700 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.23 via Frontend Transport; Thu, 18 May 2023 20:16:46 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.108) 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.23; Thu, 18 May 2023 20:16:46 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CMkfycnqeFVnvAnWM1Qj5PJ1TB5WbiaKIy8XAL90rnR6WsJ+tbzHFuHBJkE1gvFmAEL+TbQdk+gbFtRP9u51Z2rf22W2i4Rd/AW7oFBx1LWmnv4p15kwXxynhhUb90jApyi/5aK64+5txFt9l1wF+DFH+b4LbUCsxZZ9gJikaNDKsZ0QXC3BP/BuIAUx5GC1S90c29QIQ2u/oBkjlP4Ot6Moy7dpLBHK/t6WG/+EFtNJrk7yg8bfMUrKk1UEeSMGcQqeGdyZhe38l9r/SSjV8N0h4q+7RDho8I9gASC9eDDt7KTtIqvOIV6bckE3cHURCsbJQ3hv/75X9chtrS5rVA== 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=XWY5IQOS40V5/ldCgunOLjk8J/VrlFIONlEiJUdQTRM=; b=keI9Ij6z+sUaHs73fxyc+E3UuXc3d9qbAe/xHkjLYkPXW2n127rd1K1lLLkj8wpBnGKOqksyX+hif4+oMy3rNMoaMSKTJb/Fk037DTNpZi8ajGo8iBAAJ9rpVwbUYEOW4gAVmsqo17QuIMxHRCPC8kaJKC7fDVEpXAFGZ9eN94kjODw3ywNAvPiTV311XoI40JaDDmf6RWJ/ANy0rDsZyteLps/S9sYNodsEfYpiIY6uKruK7VJJfrNGoHuHthPMN6FBvgpcGlFV+h9a38rjcCi4iZPItnHhXOxVYpXDwteIhY4ihfqEihs9oC/uyfHeH9GCCjtM4W+q2A0iTt1FkQ== 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 MN0PR11MB5988.namprd11.prod.outlook.com (2603:10b6:208:373::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.17; Fri, 19 May 2023 03:16:43 +0000 Received: from SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::6979:a90f:e224:41c5]) by SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::6979:a90f:e224:41c5%4]) with mapi id 15.20.6387.030; Fri, 19 May 2023 03:16:43 +0000 From: "Isaac Oram" To: "devel@edk2.groups.io" , "abner.chang@amd.com" CC: Abdul Lateef Attar , Nickle Wang , Tinh Nguyen Subject: Re: [edk2-devel] [edk2-platforms][PATCH 1/2] ManageabilityPkg/IpmiSolStatus: IPMI Serail over Lan Driver Thread-Topic: [edk2-devel] [edk2-platforms][PATCH 1/2] ManageabilityPkg/IpmiSolStatus: IPMI Serail over Lan Driver Thread-Index: AQHZhKOF80bMIXjwxkWuGRnsvBbn4q9g92Fw Date: Fri, 19 May 2023 03:16:43 +0000 Message-ID: References: <20230512072907.1459-1-abner.chang@amd.com> In-Reply-To: <20230512072907.1459-1-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_|MN0PR11MB5988:EE_ x-ms-office365-filtering-correlation-id: 450296c2-ffd7-4771-b91f-08db581778b6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: u/dCFSuP1PdV6kOeKQYGhgatWjpZsVgMjEFAMAmWgNeF4abWtJJZa4UcjyhUEE8VxzVq/v9IRHqL8b7+zppzZ/05WbfMvBDzuyBWwVkjn9wplc5PH9lltU49j8MKJypST9bcx7oAYQ1kX677qC8Wy8aZVUJC758D8aj8VSQ5zo73nNKeuc6ahPumuwlJ+1psaVawMewXtRXjLJNfA/KNnhOQVxt15m/+JbuIqBOpLPdCdJExBUdGWi3ye4hYJzxzifOQi1WS7GY3J3O8/NSZ8H7OIjAyQG+C7ZEpTh9/aRNJSrh4H4XBX/6izf+pRAIjMmxsGHWGxM6iFTgmeOwEDpDZGgNuve0D5hp6eN8x1ANvxtXNixirO4LvE8ORo7lTEkjOZ91GdlmHTPt71DMLjEJ70uFwjTs0wjQKPFMMHh70+/gbsutgYkoBOJLAD1UdO8424oWotf3Eoc6F6hhoKmbVWl4INmU0NSlQT+P7iuAlwWgGirI13eof+0faZcTg8rjl9VO2yMS6+KD374YfadlB5R1TYPl9XdWj+soytBYjbjfmCTd9xb3br9yWuuyv/47jaS8umQnvmd6vjc7+gjWv/AxB3Ol1AUWDcPzQmD9je33LbYJmBOXfGi5kaY0JIIKlap+tvBON33sd5R8Whg== 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:(13230028)(136003)(396003)(376002)(346002)(39860400002)(366004)(451199021)(7696005)(83380400001)(186003)(966005)(19627235002)(71200400001)(66446008)(110136005)(54906003)(478600001)(9686003)(6506007)(26005)(53546011)(8936002)(52536014)(5660300002)(82960400001)(122000001)(33656002)(38100700002)(41300700001)(66556008)(66946007)(8676002)(66476007)(64756008)(55016003)(76116006)(4326008)(2906002)(316002)(38070700005)(86362001)(66899021);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?+03tsXWh0HARpGTQ5HOPoc4w4IcW8ftDy7SqRyGbqpxIEuvNY8+UiY9g3Oq8?= =?us-ascii?Q?DzR806R7iv7kGwthu6AU2Os7p1U6Ji6oIcCkLaH2aT3RPg5iGbboP5Cq4NtX?= =?us-ascii?Q?8zi7mnmUfbzGnehszmOMrJ9wEbRf7KyLOkDhrt4julYAOZxJKefPh7O4hfsZ?= =?us-ascii?Q?u2g/tYqS/bqeNBm2MwEDdOe1RAaGMr2W53FKN7d5/KhO1RCLlQIVrkakIo/o?= =?us-ascii?Q?rjW/RLBoPs4e4dKrnut488a7PP9ggsOdMT2uzcbKY7dpZEdF/rB29hxDjG1b?= =?us-ascii?Q?StWTsvnf6EzjSanpcZ9dMC7KM0pAcbTgzrocM8X4+i8OtJdtqkoNa6cfX9L5?= =?us-ascii?Q?pvvZFkXaPjlHacC6orir7h361y0lLyKhBnEjEGZdDQ9aP4skbm6g2ljlZI6s?= =?us-ascii?Q?+REhc/+O8DMcVYnfYOQmdzQ0+auUzFraTv6M5ZweLnPGYp7LPpKmvA9uEzoa?= =?us-ascii?Q?pkajqgccJVK2HdusWoqOQmCfrDsTZEpWVZcid3NGqnFQkq3MoDaB/MQSE5he?= =?us-ascii?Q?Vs0HWaf1DIJaqFNx0Kz1vwc79RrGPne/Q5vYEeIkouqIUqMdlvvW/avZWXu1?= =?us-ascii?Q?HFRwPixV2pamZFI0SaPo4LsZMvlEN0bX93vV8WTAIg1+V51M+IgK8SEGmi4A?= =?us-ascii?Q?vHsmYTfedcyCP+NAVzhGjkN8ePTf0Aaf4iRgtQwwXxgL13po1U+LFruxs979?= =?us-ascii?Q?G2gzD9MGRdr7SMhnwVjkb84q4PPKV7Gk554sq8D+DIad9jjXDu4iOnsyOIyU?= =?us-ascii?Q?Ay/xQNNiPoYCrhIkqEZnKaJaMFVGqCxsvHDiXdGEWYaZFhkCh3M+gmHpKjPy?= =?us-ascii?Q?bF1JQHIFp0PZciBaHSS2Cqf4eeucGOu84wxDR6UCvhSmwTIoFVMZbyl/h52n?= =?us-ascii?Q?4P3UP9FhB2KM0UxU2gqV7bYUnlCacP3GnOx88kGSSMOMXBwdqskcZSvhsa+l?= =?us-ascii?Q?vaCs9ifQsKTjGDPbXA4/IcMS0maW+F6j4wnBFejSnx5fozR9YevShE6ivswQ?= =?us-ascii?Q?RhJioaVNzIi4JKGi1BJkUbVH/C0mwJYbhIV2U+ILRbVun79yTKwQSzXCBtuP?= =?us-ascii?Q?1ro8o7FGbnxeUrY5ZctsLk5Nk/M2SkHo2mAD5ZNMDXU1r8IsJuzZYvUUDVI4?= =?us-ascii?Q?jjr84Tx/c/KFyAA3twDeXSFv2pS+0PjUkDI6I3Jrkb9srUOq0H2Q6UxZ+6y9?= =?us-ascii?Q?UP4QzGkZozS2vR0Tw19OXHAnoo9fB1KKwhpViDGyjk4Mg1o120e8Y+5ESA8k?= =?us-ascii?Q?6/rpkKnP7dXPQkXquLCOsGLgloZ0cS8fm3TimYGmApAiCqmNPsCYGOCr+aRt?= =?us-ascii?Q?HT4fpfIfyt+lRmbaRM7I5/Mytml0+SaozKAMwA9JzfbEFUnEZFnjtuhaNn+u?= =?us-ascii?Q?avPJ7sC/kq8sglm1LTYow8ZIW0hrWVyAaF0kZkrBX1durKPY9BkDg5AZThAk?= =?us-ascii?Q?V7ck/FBb9W1ZNOfOHJwGjGnXAZJqOAM3HERX/ECsAa7d/8Ry//SDH5xylnUZ?= =?us-ascii?Q?BhWl/kFNtAQ3uPGTCRfTdN0sxo/2PTTav3JopbzHVep++osdocbNyQ4oX28S?= =?us-ascii?Q?ITbEPDpvz5+WEICtHaV1NbwBMT3p6x94PNTH2sN4?= 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: 450296c2-ffd7-4771-b91f-08db581778b6 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 May 2023 03:16:43.5367 (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: mcwnqvWg4Kv9LKcxgPVlvJp6D+DhHArJBeQnrqghxKLupLK8ZTC7DsGktx5g7Z4r4/Gog8k70RlMNY/hhqtAnQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR11MB5988 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 -----Original Message----- From: devel@edk2.groups.io On Behalf Of Chang, Abner= via groups.io Sent: Friday, May 12, 2023 12:29 AM To: devel@edk2.groups.io Cc: Oram, Isaac W ; Abdul Lateef Attar ; Nickle Wang ; Tinh Nguyen Subject: [edk2-devel] [edk2-platforms][PATCH 1/2] ManageabilityPkg/IpmiSolS= tatus: IPMI Serail over Lan Driver From: Abner Chang IpmiSolStatus is cloned from edk2-platforms/Features/Intel/OutOfBandManagement/ IpmiFeaturePkg/SolStatus in order to consolidate edk2 system manageability support in one place. Uncustify is applied to C files and no functionalities are changed in this = patch. We will still keep the one under IpmiFeaturePkg/SolStatus until the referen= ce to this instance are removed from platforms. Signed-off-by: Abner Chang Cc: Isaac Oram Cc: Abdul Lateef Attar Cc: Nickle Wang Cc: Tinh Nguyen --- .../ManageabilityPkg/ManageabilityPkg.dec | 4 + .../Universal/IpmiSolStatus/SolStatus.inf | 37 ++++ .../Universal/IpmiSolStatus/SolStatus.c | 164 ++++++++++++++++++ 3 files changed, 205 insertions(+) create mode 100644 Features/ManageabilityPkg/Universal/IpmiSolStatus/SolSt= atus.inf create mode 100644 Features/ManageabilityPkg/Universal/IpmiSolStatus/SolSt= atus.c diff --git a/Features/ManageabilityPkg/ManageabilityPkg.dec b/Features/Mana= geabilityPkg/ManageabilityPkg.dec index 38813c5f48..c11bf5d0df 100644 --- a/Features/ManageabilityPkg/ManageabilityPkg.dec +++ b/Features/ManageabilityPkg/ManageabilityPkg.dec @@ -72,6 +72,10 @@ # @Prompt MCTP KCS (Memory mapped) I/O base address gManageabilityPkgTokenSpaceGuid.PcdMctpKcsBaseAddress|0xca2|UINT32|0x000= 00004 =20 + ## This is the value of SOL channels supported on platform. + # @Prompt SOL channel number + gManageabilityPkgTokenSpaceGuid.PcdMaxSolChannels|3|UINT8|0x00000100 + [PcdsFeatureFlag] gManageabilityPkgTokenSpaceGuid.PcdManageabilityDxeIpmiEnable|FALSE|BOOL= EAN|0x10000001 gManageabilityPkgTokenSpaceGuid.PcdManageabilitySmmIpmiEnable|FALSE|BOOL= EAN|0x10000002 diff --git a/Features/ManageabilityPkg/Universal/IpmiSolStatus/SolStatus.in= f b/Features/ManageabilityPkg/Universal/IpmiSolStatus/SolStatus.inf new file mode 100644 index 0000000000..1d7cbf1a08 --- /dev/null +++ b/Features/ManageabilityPkg/Universal/IpmiSolStatus/SolStatus.inf @@ -0,0 +1,37 @@ +### @file +# Component description file for IPMI Serial Over LAN (SOL) driver. +# +# Copyright (c) 2018 - 2019, Intel Corporation. All rights=20 +reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # ### + +[Defines] + INF_VERSION =3D 0x00010005 + BASE_NAME =3D SolStatus + FILE_GUID =3D 1AF7E6C4-7678-4A6D-9240-E8BA17C3B772 + MODULE_TYPE =3D DXE_DRIVER + PI_SPECIFICATION_VERSION =3D 0x0001000A + VERSION_STRING =3D 1.0 + ENTRY_POINT =3D SolStatusEntryPoint + +[Sources] + SolStatus.c + +[Packages] + ManageabilityPkg/ManageabilityPkg.dec + MdePkg/MdePkg.dec + +[Pcd] + gManageabilityPkgTokenSpaceGuid.PcdMaxSolChannels + +[LibraryClasses] + DebugLib + IpmiCommandLib + PcdLib + UefiBootServicesTableLib + UefiDriverEntryPoint + +[Depex] + TRUE diff --git a/Features/ManageabilityPkg/Universal/IpmiSolStatus/SolStatus.c = b/Features/ManageabilityPkg/Universal/IpmiSolStatus/SolStatus.c new file mode 100644 index 0000000000..996386372e --- /dev/null +++ b/Features/ManageabilityPkg/Universal/IpmiSolStatus/SolStatus.c @@ -0,0 +1,164 @@ +/** @file + IPMI Serial Over Lan Driver. + +Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.
+SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include +#include +#include +#include +#include #include=20 + +#include +#include +#include + +#define SOL_CMD_RETRY_COUNT 10 + +/*++ + +Routine Description: + + This routine gets the SOL payload status or settings for a specific ch= annel. + +Arguments: + Channel - LAN channel naumber. + ParamSel - Configuration parameter selection. + Data - Information returned from BMC. +Returns: + EFI_SUCCESS - SOL configuration parameters are successfully read f= rom BMC. + Others - SOL configuration parameters could not be read from = BMC. + +--*/ +EFI_STATUS +GetSolStatus ( + IN UINT8 Channel, + IN UINT8 ParamSel, + IN OUT UINT8 *Data + ) +{ + EFI_STATUS Status =3D EFI_SUCCESS; + IPMI_GET_SOL_CONFIGURATION_PARAMETERS_REQUEST GetConfigurationParamete= rsRequest; + IPMI_GET_SOL_CONFIGURATION_PARAMETERS_RESPONSE GetConfigurationParamete= rsResponse; + UINT32 DataSize; + UINT8 RetryCount; + + for (RetryCount =3D 0; RetryCount < SOL_CMD_RETRY_COUNT; RetryCount++) { + ZeroMem (&GetConfigurationParametersRequest, sizeof (GetConfigurationP= arametersRequest)); + GetConfigurationParametersRequest.ChannelNumber.Bits.ChannelNumber =3D= Channel; + GetConfigurationParametersRequest.ParameterSelector =3D= ParamSel; + + ZeroMem (&GetConfigurationParametersResponse, sizeof=20 + (GetConfigurationParametersResponse)); + + DataSize =3D sizeof (GetConfigurationParametersResponse); + Status =3D IpmiGetSolConfigurationParameters ( + &GetConfigurationParametersRequest, + &GetConfigurationParametersResponse, + &DataSize + ); + + if (Status =3D=3D EFI_SUCCESS) { + break; + } else { + gBS->Stall (100000); + } + } + + if (Status =3D=3D EFI_SUCCESS) { + *Data =3D GetConfigurationParametersResponse.ParameterData[0]; + } + + return Status; +} + +/*++ + +Routine Description: + + This routine sets the SOL payload configuration parameters for a speci= fic channel. + +Arguments: + Channel - LAN channel naumber. + ParamSel - Configuration parameter selection. + Data - Configuration parameter values. +Returns: + EFI_SUCCESS - SOL configuration parameters are sent to BMC. + Others - SOL configuration parameters could not be sent to BM= C. + +--*/ +EFI_STATUS +SetSolParams ( + IN UINT8 Channel, + IN UINT8 ParamSel, + IN UINT8 Data + ) +{ + EFI_STATUS Status =3D EFI_SUCCESS; + IPMI_SET_SOL_CONFIGURATION_PARAMETERS_REQUEST SetConfigurationParameter= sRequest; + UINT8 CompletionCode; + UINT8 RetryCount; + + for (RetryCount =3D 0; RetryCount < SOL_CMD_RETRY_COUNT; RetryCount++) { + ZeroMem (&SetConfigurationParametersRequest, sizeof (SetConfigurationP= arametersRequest)); + SetConfigurationParametersRequest.ChannelNumber.Bits.ChannelNumber =3D= Channel; + SetConfigurationParametersRequest.ParameterSelector =3D= ParamSel; + SetConfigurationParametersRequest.ParameterData[0] =3D= Data; + + CompletionCode =3D 0; + + Status =3D IpmiSetSolConfigurationParameters ( + &SetConfigurationParametersRequest, + sizeof (SetConfigurationParametersRequest), + &CompletionCode + ); + + if (Status =3D=3D EFI_SUCCESS) { + break; + } else { + gBS->Stall (100000); + } + } + + return Status; +} + +/*++ + + Routine Description: + This is the standard EFI driver point. This function initializes + the private data required for creating SOL Status Driver. + + Arguments: + ImageHandle - Handle for the image of this driver + SystemTable - Pointer to the EFI System Table + + Returns: + EFI_SUCCESS - Protocol successfully installed + EFI_UNSUPPORTED - Protocol can't be installed. + +--*/ +EFI_STATUS +EFIAPI +SolStatusEntryPoint ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status =3D EFI_SUCCESS; + UINT8 Channel; + BOOLEAN SolEnabled =3D FALSE; + + for (Channel =3D 1; Channel <=3D PcdGet8 (PcdMaxSolChannels); Channel++)= { + Status =3D GetSolStatus (Channel, IPMI_SOL_CONFIGURATION_PARAMETER_SOL= _ENABLE, &SolEnabled); + if (Status =3D=3D EFI_SUCCESS) { + DEBUG ((DEBUG_ERROR, "SOL enabling status for channel %x is %x\n", C= hannel, SolEnabled)); + } else { + DEBUG ((DEBUG_ERROR, "Failed to get channel %x SOL status from BMC!,= status is %x\n", Channel, Status)); + } + } + + return Status; +} -- 2.37.1.windows.1