summaryrefslogtreecommitdiffstats
path: root/src/usr/testcore
diff options
context:
space:
mode:
authorBrian Horton <brianh@linux.ibm.com>2015-02-11 17:25:44 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-02-23 13:34:44 -0600
commit07bb80e9281ed8aafbd283d5ab2c0f777e347b73 (patch)
treeb5970f8cc38dbddf3af745b2f492ff2f0e983a68 /src/usr/testcore
parenta6fa07dacc102c62067e20f69a4c956ac6d1f625 (diff)
downloadtalos-hostboot-07bb80e9281ed8aafbd283d5ab2c0f777e347b73.tar.gz
talos-hostboot-07bb80e9281ed8aafbd283d5ab2c0f777e347b73.zip
enable IPMI interface for hostboot runtime (hbrt)
This will be used by the errlog code to send committed logs to the BMC, and by sensor code for read and writes. Change-Id: Ie1f8013dddea99af14bfe166d45e7a74f0806efe RTC: 120094 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15674 Tested-by: Jenkins Server Reviewed-by: Brian Silver <bsilver@us.ibm.com> Reviewed-by: STEPHEN M. CPREK <smcprek@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/testcore')
-rw-r--r--src/usr/testcore/rtloader/loader.H29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/usr/testcore/rtloader/loader.H b/src/usr/testcore/rtloader/loader.H
index 041337118..9ac9c5ebc 100644
--- a/src/usr/testcore/rtloader/loader.H
+++ b/src/usr/testcore/rtloader/loader.H
@@ -41,6 +41,7 @@
#include <string.h>
#include <devicefw/userif.H>
#include <pnor/ecc.H>
+#include <ipmi/ipmiif.H>
trace_desc_t* g_trac_hbrt = NULL;
TRAC_INIT(&g_trac_hbrt, "HBRT_TEST", 2*KILOBYTE);
@@ -122,6 +123,7 @@ class RuntimeLoaderTest : public CxxTest::TestSuite
intf->get_reserved_mem = rt_get_reserved_mem;
intf->pnor_read = rt_pnor_read;
intf->pnor_write= rt_pnor_write;
+ intf->ipmi_msg= rt_ipmi_msg;
// Call init.
runtimeInterfaces_t* rtInterface =
@@ -518,6 +520,33 @@ class RuntimeLoaderTest : public CxxTest::TestSuite
return cv_targ_addr;
}
+ static int rt_ipmi_msg(uint8_t netfn, uint8_t cmd,
+ void *tx_buf, size_t tx_size,
+ void *rx_buf, size_t *rx_size)
+ {
+ TRACFCOMP(g_trac_hbrt, ENTER_MRK
+ "rt_ipmi_msg: tx_buf:%x/%x, size:%d, rx_buf:%p, size:%d",
+ netfn, cmd, tx_size,
+ rx_buf, *rx_size);
+
+ errlHndl_t l_err = NULL;
+ do {
+ ((uint8_t*)rx_buf)[0] = IPMI::CC_OK;
+ rx_size = 0;
+ } while (0);
+
+ //commit the error
+ uint32_t l_plid = 0;
+ if (l_err)
+ {
+ l_plid = l_err->plid();
+ errlCommit (l_err, CXXTEST_COMP_ID);
+ }
+ TRACFCOMP(g_trac_hbrt, EXIT_MRK"rt_ipmi_msg");
+ return l_plid;
+ }
+
+
static uint64_t cv_vpd_addr;
static uint64_t cv_vpd_phys_addr;
static uint64_t cv_targ_addr;
OpenPOWER on IntegriCloud