OPAL_IPMI_SEND

#define OPAL_IPMI_SEND                          107

enum {
             OPAL_IPMI_MSG_FORMAT_VERSION_1 = 1,
};

struct opal_ipmi_msg {
             uint8_t version;
             uint8_t netfn;
             uint8_t cmd;
             uint8_t data[];
};

int64_t opal_ipmi_send(uint64_t interface,
                       struct opal_ipmi_msg *opal_ipmi_msg, uint64_t msg_len);

OPAL_IPMI_SEND call will send an IPMI message to the service processor.

Parameters

interface
interface parameter is the value from the ipmi interface node ibm,ipmi-interface-id
opal_ipmi_msg
opal_ipmi_msg is the pointer to a struct opal_ipmi_msg (see above)
msg_len
ipmi message request size

Return Values

OPAL_SUCCESS
msg queued successfully
OPAL_PARAMETER
invalid ipmi message request length msg_len
OPAL_HARDWARE
backend support is not present as block transfer/service processor ipmi routines are not initialized which are used for communication
OPAL_UNSUPPORTED
in-correct opal ipmi message format version opal_ipmi_msg->version
OPAL_RESOURCE
insufficient resources to create ipmi_msg structure

OPAL_IPMI_RECV

#define OPAL_IPMI_RECV                          108

enum {
             OPAL_IPMI_MSG_FORMAT_VERSION_1 = 1,
};

struct opal_ipmi_msg {
             uint8_t version;
             uint8_t netfn;
             uint8_t cmd;
             uint8_t data[];
};

int64_t opal_ipmi_recv(uint64_t interface,
                       struct opal_ipmi_msg *opal_ipmi_msg, uint64_t *msg_len)

OPAL_IPMI_RECV call reads an ipmi message of type ipmi_msg from ipmi message queue msgq into host OS structure opal_ipmi_msg.

Parameters

interface
interface parameter is the value from the ipmi interface node ibm,ipmi-interface-id
opal_ipmi_msg
opal_ipmi_msg is the pointer to a struct opal_ipmi_msg (see above)
msg_len
msg_len is the pointer to ipmi message response size

Return Values

OPAL_SUCCESS
ipmi message dequeued from msgq queue and memory taken by it got released successfully
OPAL_EMPTY
msgq list is empty
ref:OPAL_PARAMETER
invalid ipmi interface value
OPAL_UNSUPPORTED
incorrect opal ipmi message format version opal_ipmi_msg->version