summaryrefslogtreecommitdiffstats
path: root/src/usr/ipmi/ipmifru.H
diff options
context:
space:
mode:
authorBrian Horton <brianh@linux.ibm.com>2014-10-31 16:18:55 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-12-13 10:28:12 -0600
commitbdf9a8c834ee8c608f4462e146a2f957c08919c2 (patch)
tree687845f32fe66fd288905649424dfe0f47b24275 /src/usr/ipmi/ipmifru.H
parent6442105c625774bfac33a57fe6b76c18bcb5665b (diff)
downloadtalos-hostboot-bdf9a8c834ee8c608f4462e146a2f957c08919c2.tar.gz
talos-hostboot-bdf9a8c834ee8c608f4462e146a2f957c08919c2.zip
IPMI interface for fru write data command
Change-Id: I3c0c4c7c14521f1b64af37d62e57a5947602ed11 RTC: 116453 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/14393 Reviewed-by: Brian Silver <bsilver@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: WILLIAM G. HOFFA <wghoffa@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/ipmi/ipmifru.H')
-rw-r--r--src/usr/ipmi/ipmifru.H108
1 files changed, 108 insertions, 0 deletions
diff --git a/src/usr/ipmi/ipmifru.H b/src/usr/ipmi/ipmifru.H
new file mode 100644
index 000000000..47e0459da
--- /dev/null
+++ b/src/usr/ipmi/ipmifru.H
@@ -0,0 +1,108 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/ipmi/ipmifru.H $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2014 */
+/* [+] International Business Machines Corp. */
+/* */
+/* */
+/* Licensed under the Apache License, Version 2.0 (the "License"); */
+/* you may not use this file except in compliance with the License. */
+/* You may obtain a copy of the License at */
+/* */
+/* http://www.apache.org/licenses/LICENSE-2.0 */
+/* */
+/* Unless required by applicable law or agreed to in writing, software */
+/* distributed under the License is distributed on an "AS IS" BASIS, */
+/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
+/* implied. See the License for the specific language governing */
+/* permissions and limitations under the License. */
+/* */
+/* IBM_PROLOG_END_TAG */
+
+#ifndef __IPMI_IPMIFRU_H
+#define __IPMI_IMPIFRU_H
+
+/**
+ * @file ipmifru.H
+ * @brief IPMI FRU inventory declariation
+ */
+
+#include <stdint.h>
+#include <ipmi/ipmiif.H>
+#include "ipmibt.H"
+
+/**
+ *
+ *
+ */
+namespace IPMIFRU
+{
+ void writeData(uint8_t i_deviceId, uint8_t *i_data,
+ uint32_t i_dataSize, uint32_t i_offset = 0);
+
+ enum msg_type
+ {
+ MSG_WRITE_FRU_DATA, // async message - no reply
+
+ // Used to check range. Leave as last.
+ MSG_LAST_TYPE = MSG_WRITE_FRU_DATA,
+ };
+}
+
+
+class IpmiFRU
+{
+ public:
+
+ /**
+ * Thread start routine for the resource provider
+ * @param[in] void*, unused
+ */
+ static void* start(void* unused);
+
+ /**
+ * Default constructor
+ */
+ IpmiFRU(void);
+
+ /**
+ * Destructor
+ */
+ ~IpmiFRU(void);
+
+ /**
+ * @brief Get the message queue associated with this FRU
+ * @param[in] void
+ * @return, a msg_q_t which is the message queue
+ */
+ inline msg_q_t msgQueue(void) const
+ { return iv_msgQ; }
+
+ private:
+
+ /**
+ * Entry point for the fru ipmi thread
+ */
+ void execute(void);
+
+ /**
+ * @brief Handle a message with fru inventory data; msg is async
+ * @param[in] i_msg
+ */
+ void sendWriteFruData(msg_t *i_msg);
+
+ /**
+ * ipmi fru msg queue
+ */
+ msg_q_t iv_msgQ;
+
+ // Disallow copying this class.
+ IpmiFRU& operator=(const IpmiFRU&);
+ IpmiFRU(const IpmiFRU&);
+};
+
+#endif
OpenPOWER on IntegriCloud