diff options
author | Brian Horton <brianh@linux.ibm.com> | 2015-02-11 17:25:44 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-02-23 13:34:44 -0600 |
commit | 07bb80e9281ed8aafbd283d5ab2c0f777e347b73 (patch) | |
tree | b5970f8cc38dbddf3af745b2f492ff2f0e983a68 /src/usr/testcore | |
parent | a6fa07dacc102c62067e20f69a4c956ac6d1f625 (diff) | |
download | talos-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.H | 29 |
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; |