1 /** @file
2 IPMI Command - NetFnTransport.
3
4 Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #include <PiPei.h>
10 #include <Library/BaseMemoryLib.h>
11 #include <Library/DebugLib.h>
12 #include <Library/IpmiLib.h>
13
14 #include <IndustryStandard/Ipmi.h>
15
16
17 EFI_STATUS
18 EFIAPI
IpmiSolActivating(IN IPMI_SOL_ACTIVATING_REQUEST * SolActivatingRequest,OUT UINT8 * CompletionCode)19 IpmiSolActivating (
20 IN IPMI_SOL_ACTIVATING_REQUEST *SolActivatingRequest,
21 OUT UINT8 *CompletionCode
22 )
23 {
24 EFI_STATUS Status;
25 UINT32 DataSize;
26
27 DataSize = sizeof(*CompletionCode);
28 Status = IpmiSubmitCommand (
29 IPMI_NETFN_TRANSPORT,
30 IPMI_TRANSPORT_SOL_ACTIVATING,
31 (VOID *)SolActivatingRequest,
32 sizeof(*SolActivatingRequest),
33 (VOID *)CompletionCode,
34 &DataSize
35 );
36 return Status;
37 }
38
39 EFI_STATUS
40 EFIAPI
IpmiSetSolConfigurationParameters(IN IPMI_SET_SOL_CONFIGURATION_PARAMETERS_REQUEST * SetConfigurationParametersRequest,IN UINT32 SetConfigurationParametersRequestSize,OUT UINT8 * CompletionCode)41 IpmiSetSolConfigurationParameters (
42 IN IPMI_SET_SOL_CONFIGURATION_PARAMETERS_REQUEST *SetConfigurationParametersRequest,
43 IN UINT32 SetConfigurationParametersRequestSize,
44 OUT UINT8 *CompletionCode
45 )
46 {
47 EFI_STATUS Status;
48 UINT32 DataSize;
49
50 DataSize = sizeof(*CompletionCode);
51 Status = IpmiSubmitCommand (
52 IPMI_NETFN_TRANSPORT,
53 IPMI_TRANSPORT_SET_SOL_CONFIG_PARAM,
54 (VOID *)SetConfigurationParametersRequest,
55 SetConfigurationParametersRequestSize,
56 (VOID *)CompletionCode,
57 &DataSize
58 );
59 return Status;
60 }
61
62 EFI_STATUS
63 EFIAPI
IpmiGetSolConfigurationParameters(IN IPMI_GET_SOL_CONFIGURATION_PARAMETERS_REQUEST * GetConfigurationParametersRequest,OUT IPMI_GET_SOL_CONFIGURATION_PARAMETERS_RESPONSE * GetConfigurationParametersResponse,IN OUT UINT32 * GetConfigurationParametersResponseSize)64 IpmiGetSolConfigurationParameters (
65 IN IPMI_GET_SOL_CONFIGURATION_PARAMETERS_REQUEST *GetConfigurationParametersRequest,
66 OUT IPMI_GET_SOL_CONFIGURATION_PARAMETERS_RESPONSE *GetConfigurationParametersResponse,
67 IN OUT UINT32 *GetConfigurationParametersResponseSize
68 )
69 {
70 EFI_STATUS Status;
71
72 Status = IpmiSubmitCommand (
73 IPMI_NETFN_TRANSPORT,
74 IPMI_TRANSPORT_GET_SOL_CONFIG_PARAM,
75 (VOID *)GetConfigurationParametersRequest,
76 sizeof(*GetConfigurationParametersRequest),
77 (VOID *)GetConfigurationParametersResponse,
78 GetConfigurationParametersResponseSize
79 );
80 return Status;
81 }
82