summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/attn/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/diag/attn/runtime')
-rw-r--r--src/usr/diag/attn/runtime/attn_rt.C37
-rw-r--r--src/usr/diag/attn/runtime/test/attntest_rt.H13
2 files changed, 45 insertions, 5 deletions
diff --git a/src/usr/diag/attn/runtime/attn_rt.C b/src/usr/diag/attn/runtime/attn_rt.C
index 15b7b6b9e..5dd165b19 100644
--- a/src/usr/diag/attn/runtime/attn_rt.C
+++ b/src/usr/diag/attn/runtime/attn_rt.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2016 */
+/* Contributors Listed Below - COPYRIGHT 2014,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -26,6 +26,7 @@
#include "runtime/attnsvc.H"
#include "common/attntrace.H"
#include "common/attnmem.H"
+#include "common/attnbits.H"
#include <runtime/interface.h>
#include <runtime/rt_targeting.H>
#include <targeting/common/target.H>
@@ -158,6 +159,33 @@ namespace ATTN_RT
return rc;
}
+
+ /** brief getIpollEvents
+ *
+ * Bits that are *set* in this bitmask represent events that will be
+ * allowed to flow to the HOST or Service Processor.
+ *
+ * @return Value indicating which attention events should
+ * be enabled in the IPOLL mask register.
+ */
+
+ uint64_t getIpollEvents( void )
+ {
+ uint64_t l_ipollEvents = 0;
+
+ // Host side should allow 'Recov', 'UnitCs' and 'HostInt'
+ // SP side should allow 'Chkstop', 'Recov', 'Special'
+ // and maybe the mystery bit (route to SP).
+ l_ipollEvents = IPOLL_RECOVERABLE | IPOLL_UNIT_CS |
+ IPOLL_HOST_ATTN | IPOLL_SP_CHECK_STOP |
+ IPOLL_SP_RECOVERABLE | IPOLL_SP_SPECIAL |
+ IPOLL_ROUTE_TO_SP ;
+
+ return(l_ipollEvents);
+
+ } // end getIpollEvents
+
+
// register runtimeInterfaces
struct registerAttn
{
@@ -169,9 +197,10 @@ namespace ATTN_RT
return;
}
- rt_intf->enable_attns = &enableAttns;
- rt_intf->disable_attns = &disableAttns;
- rt_intf->handle_attns = &handleAttns;
+ rt_intf->enable_attns = &enableAttns;
+ rt_intf->disable_attns = &disableAttns;
+ rt_intf->handle_attns = &handleAttns;
+ rt_intf->get_ipoll_events = &getIpollEvents;
}
};
diff --git a/src/usr/diag/attn/runtime/test/attntest_rt.H b/src/usr/diag/attn/runtime/test/attntest_rt.H
index 84731ec22..b86c0a0a7 100644
--- a/src/usr/diag/attn/runtime/test/attntest_rt.H
+++ b/src/usr/diag/attn/runtime/test/attntest_rt.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2014 */
+/* Contributors Listed Below - COPYRIGHT 2014,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -76,6 +76,17 @@ class AttnTestRT: public CxxTest::TestSuite
ATTN_SLOW("handle_attns returned rc: %d", rc);
}
+ if (NULL == rt_intf->get_ipoll_events)
+ {
+ TS_FAIL("AttnTestRT: get_ipoll_events not set");
+ }
+ else
+ {
+ // just pass in some params for now
+ uint64_t l_bits = rt_intf->get_ipoll_events();
+ ATTN_SLOW("get_ipoll_events returned: %llx", l_bits);
+ }
+
ATTN_SLOW(EXIT_MRK"AttnTestRT::testAttnRtIntf");
}
OpenPOWER on IntegriCloud