diff options
| author | Corey Swenson <cswenson@us.ibm.com> | 2018-03-23 10:49:35 -0500 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-04-02 13:44:41 -0400 |
| commit | b51298075aee402dbcef485088cfa71a6ca61725 (patch) | |
| tree | 21bd59df20830b108f6b3f6dd835915c28691ec7 /src/include/usr/ibscom | |
| parent | 55f0053bc34e10d118e383f782b7be5cb14f59d2 (diff) | |
| download | talos-hostboot-b51298075aee402dbcef485088cfa71a6ca61725.tar.gz talos-hostboot-b51298075aee402dbcef485088cfa71a6ca61725.zip | |
Add ibscom runtime support
- Add ibscom runtime files
- Make ibscom multicast workaround common
- Call from ibscom rt_ibscom
- Make scom sanity check common
- Call from xscom rt_xscom ibscom rt_ibscom
RTC:190144
Change-Id: Ia52feac596ff6b6c8fb9f0db4493f35e4ee837af
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56215
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr/ibscom')
| -rw-r--r-- | src/include/usr/ibscom/ibscomif.H | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/src/include/usr/ibscom/ibscomif.H b/src/include/usr/ibscom/ibscomif.H index f539caf90..41e9f0cdd 100644 --- a/src/include/usr/ibscom/ibscomif.H +++ b/src/include/usr/ibscom/ibscomif.H @@ -5,7 +5,9 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* COPYRIGHT International Business Machines Corp. 2013,2014 */ +/* Contributors Listed Below - COPYRIGHT 2013,2018 */ +/* [+] 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. */ @@ -26,6 +28,7 @@ #include <stdint.h> #include <builtins.h> #include <errl/errlentry.H> +#include <devicefw/driverif.H> namespace IBSCOM { @@ -40,6 +43,45 @@ namespace IBSCOM */ void enableInbandScoms( bool i_disable = IBSCOM_ENABLE ); -} +/** + * @brief Multicast this ibscom address + * + * @param[in] i_opType read/write + * @param[in] i_target target membuf + * @param[inout] io_buffer return data + * @param[inout] io_buflen return data length + * @param[in] i_addr inband scom address + * @param[out] o_didWorkaround return indicator + * + * @return error log on fail + */ +errlHndl_t doIBScomMulticast( DeviceFW::OperationType i_opType, + TARGETING::Target* i_target, + void* io_buffer, + size_t& io_buflen, + uint64_t i_addr, + bool& o_didWorkaround ); + +#ifndef __HOSTBOOT_RUNTIME +/** + * @brief Perform ibscom + * + * @param[in] i_opType read/write + * @param[in] i_target target membuf + * @param[inout] io_buffer return data + * @param[inout] io_buflen return data length + * @param[in] i_addr inband scom address + * @param[in] i_errDataPath generate SUE error + * + * @return error log on fail + */ +errlHndl_t doIBScom(DeviceFW::OperationType i_opType, + TARGETING::Target* i_target, + void* io_buffer, + size_t& io_buflen, + uint64_t i_addr, + bool i_errDataPath); +#endif +} // end namespace IBSCOM #endif |

