From 826713fa254a1255a42c4c4a8968b3ae3b7d0ea9 Mon Sep 17 00:00:00 2001 From: Brian Stegmiller Date: Wed, 31 May 2017 14:53:18 -0500 Subject: ATTN: Return IPOLL bits being used to HOST OS Change-Id: I74d84208c1f24d156739b8bb4c912f8a1bd11ee3 RTC: 174196 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41179 Reviewed-by: Zane C. Shelley Tested-by: Jenkins Server Tested-by: FSP CI Jenkins --- src/usr/diag/attn/runtime/attn_rt.C | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) (limited to 'src/usr/diag/attn/runtime/attn_rt.C') 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 #include #include @@ -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; } }; -- cgit v1.2.1