[Skiboot] [PATCH 2/2] doc/opal-api: Documentation for opal-ipmi-send-recv
ppaidipe at linux.vnet.ibm.com
ppaidipe at linux.vnet.ibm.com
Thu Aug 11 19:29:17 AEST 2016
From: Pridhiviraj Paidipeddi <ppaidipe at linux.vnet.ibm.com>
This patch adds documentation for OPAL_IPMI_SEND and OPAL_IPMI_RECV
Changes in V2:
- Changes as per Mukesh's comment on V1
- Combined opal_ipmi_send and opal_ipmi_recv into one file
- Removed the api names
- Replaced Arguments with Parameters
- Added :: before ``opal_ipmi_msg`` structure
Signed-off-by: Pridhiviraj Paidipeddi <ppaidipe at linux.vnet.ibm.com>
---
doc/opal-api/opal-ipmi-send-recv-107-108.rst | 105 +++++++++++++++++++++++++++
1 file changed, 105 insertions(+)
create mode 100644 doc/opal-api/opal-ipmi-send-recv-107-108.rst
diff --git a/doc/opal-api/opal-ipmi-send-recv-107-108.rst b/doc/opal-api/opal-ipmi-send-recv-107-108.rst
new file mode 100644
index 0000000..64b7589
--- /dev/null
+++ b/doc/opal-api/opal-ipmi-send-recv-107-108.rst
@@ -0,0 +1,105 @@
+OPAL_IPMI_SEND
+==============
+::
+
+ #define OPAL_IPMI_SEND 107
+
+``OPAL_IPMI_SEND`` call converts host OS structure ``opal_ipmi_msg`` to an
+ipmi message structure ``ipmi_msg`` and it will send the ``msg`` into
+ipmi message list/queue which will be queued to service processor/management
+controller to parse and execute those ipmi commands.
+
+Parameters
+----------
+::
+
+ uint64_t interface
+ struct opal_ipmi_msg *opal_ipmi_msg
+ uint64_t msg_len
+
+``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 below structure ``opal_ipmi_msg``
+
+::
+
+ struct opal_ipmi_msg {
+ uint8_t version;
+ uint8_t netfn;
+ uint8_t cmd;
+ uint8_t data[];
+ };
+
+``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
+
+``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
+----------
+::
+
+ uint64_t interface
+ struct opal_ipmi_msg *opal_ipmi_msg
+ uint64_t *msg_len
+
+``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 below structure ``opal_ipmi_msg``
+
+::
+
+ struct opal_ipmi_msg {
+ uint8_t version;
+ uint8_t netfn;
+ uint8_t cmd;
+ uint8_t data[];
+ };
+
+``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
+
+``OPAL_PARAMETER``
+ invalid ipmi ``interface`` value
+
+``OPAL_UNSUPPORTED``
+ in-correct opal ipmi message format version ``opal_ipmi_msg->version``
--
2.7.4
More information about the Skiboot
mailing list