From f6b05b2ec7cc68eb02d639ef33a04a8c31353e57 Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Thu, 10 Jan 2013 15:39:53 -0500 Subject: Ignore attentions from non-functional Centaurs. Change-Id: I67c55bb124f35421f819bde5bccb36d84ccb3277 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2912 Tested-by: Jenkins Server Reviewed-by: Brian J. Stegmiller Reviewed-by: Zane Shelley Reviewed-by: A. Patrick Williams III --- src/usr/diag/attn/attnmem.C | 55 +++++++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 24 deletions(-) (limited to 'src/usr/diag/attn') diff --git a/src/usr/diag/attn/attnmem.C b/src/usr/diag/attn/attnmem.C index 53af72c94..e33a05772 100644 --- a/src/usr/diag/attn/attnmem.C +++ b/src/usr/diag/attn/attnmem.C @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/usr/diag/attn/attnmem.C $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2012 - * - * p1 - * - * Object Code Only (OCO) source materials - * Licensed Internal Code Source Materials - * IBM HostBoot Licensed Internal Code - * - * The source code for this program is not published or other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/diag/attn/attnmem.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2012,2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ /** * @file attnmem.C * @@ -128,7 +127,7 @@ errlHndl_t MemOps::query(const AttnData & i_attnToCheck, bool & o_active) do { - TargetHandle_t mcs = getTargetService().getMcs(mem); + TargetHandle_t mcs = getTargetService().getMcs(mem); MCI::getCheckbits(i_attnToCheck.attnType, checkbits); @@ -200,6 +199,14 @@ void resolveMcs(uint64_t i_mcs, void * i_data) AttnData d; d.targetHndl = getTargetService().getMembuf(mcs); + if(!d.targetHndl) + { + // this membuf not functional + // or nothing is attached to this MCS + + break; + } + d.attnType = static_cast(type); args->list->add(Attention(d, args->ops)); -- cgit v1.2.1