summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/attn
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@us.ibm.com>2013-01-22 15:42:58 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-02-13 16:53:32 -0600
commit5f5ecb46d1838847dedd33791d4da86d3df39638 (patch)
treefd8976c312278d45cbdb6c6d47ce4712c9b04a70 /src/usr/diag/attn
parent0ce339b741e724400f6c36790d9d878068fe5fc7 (diff)
downloadtalos-hostboot-5f5ecb46d1838847dedd33791d4da86d3df39638.tar.gz
talos-hostboot-5f5ecb46d1838847dedd33791d4da86d3df39638.zip
ATTN: Revert most of 3147572991fa9eff4be6095b08b0299421e596b5
It was correct in the first place. Change-Id: I72a9ae0eaeae41825e1a4bea4cc93e599ea3f037 RTC: 59222 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2981 Tested-by: Jenkins Server Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/diag/attn')
-rw-r--r--src/usr/diag/attn/attn.C4
-rw-r--r--src/usr/diag/attn/attnmem.C6
-rw-r--r--src/usr/diag/attn/attnproc.C6
-rw-r--r--src/usr/diag/attn/attnsvc.C8
-rw-r--r--src/usr/diag/attn/test/attnfakeipoll.C51
-rw-r--r--src/usr/diag/attn/test/attntestmem.H57
-rw-r--r--src/usr/diag/attn/test/attntestproc.H63
-rw-r--r--src/usr/diag/attn/test/attnvalidate.C51
8 files changed, 121 insertions, 125 deletions
diff --git a/src/usr/diag/attn/attn.C b/src/usr/diag/attn/attn.C
index ce0d52dee..eb59e1b52 100644
--- a/src/usr/diag/attn/attn.C
+++ b/src/usr/diag/attn/attn.C
@@ -98,7 +98,7 @@ errlHndl_t checkForIplAttentions()
// query the proc resolver for active attentions
- err = procOps.resolve(*tit, ~0, attentions);
+ err = procOps.resolve(*tit, 0, attentions);
if(err)
{
@@ -107,7 +107,7 @@ errlHndl_t checkForIplAttentions()
// query the mem resolver for active attentions
- err = memOps.resolve(*tit, ~0, attentions);
+ err = memOps.resolve(*tit, 0, attentions);
if(err)
{
diff --git a/src/usr/diag/attn/attnmem.C b/src/usr/diag/attn/attnmem.C
index 2e26c0712..3ac1b7d60 100644
--- a/src/usr/diag/attn/attnmem.C
+++ b/src/usr/diag/attn/attnmem.C
@@ -63,7 +63,7 @@ errlHndl_t MemOps::mask(const AttnData & i_data)
IPOLL::getCheckbits(HOST, ipollMaskWriteBits);
err = modifyScom(proc, IPOLL::address,
- ~ipollMaskWriteBits, SCOM_AND);
+ ipollMaskWriteBits, SCOM_OR);
if(err)
{
@@ -105,7 +105,7 @@ errlHndl_t MemOps::unmask(const AttnData & i_data)
IPOLL::getCheckbits(HOST, ipollMaskWriteBits);
err = modifyScom(proc, IPOLL::address,
- ipollMaskWriteBits, SCOM_OR);
+ ~ipollMaskWriteBits, SCOM_AND);
if(err)
{
@@ -230,7 +230,7 @@ errlHndl_t MemOps::resolve(
do {
- if(hostMask & ~i_typeMask)
+ if(hostMask & i_typeMask)
{
// host attentions are masked....
diff --git a/src/usr/diag/attn/attnproc.C b/src/usr/diag/attn/attnproc.C
index 681326e28..fca10e312 100644
--- a/src/usr/diag/attn/attnproc.C
+++ b/src/usr/diag/attn/attnproc.C
@@ -48,7 +48,7 @@ errlHndl_t ProcOps::mask(const AttnData & i_data)
IPOLL::getCheckbits(i_data.attnType, ipollMaskWriteBits);
err = modifyScom(i_data.targetHndl, IPOLL::address,
- ~ipollMaskWriteBits, SCOM_AND);
+ ipollMaskWriteBits, SCOM_OR);
return err;
}
@@ -62,7 +62,7 @@ errlHndl_t ProcOps::unmask(const AttnData & i_data)
IPOLL::getCheckbits(i_data.attnType, ipollMaskWriteBits);
err = modifyScom(i_data.targetHndl, IPOLL::address,
- ipollMaskWriteBits, SCOM_OR);
+ ~ipollMaskWriteBits, SCOM_AND);
return err;
}
@@ -127,7 +127,7 @@ errlHndl_t ProcOps::resolve(
IPOLL::getCheckbits(type, mask);
- if(mask & ~i_typeMask)
+ if(!(mask & ~i_typeMask))
{
// this attention type is masked
diff --git a/src/usr/diag/attn/attnsvc.C b/src/usr/diag/attn/attnsvc.C
index 8ee253a5f..4fa19e846 100644
--- a/src/usr/diag/attn/attnsvc.C
+++ b/src/usr/diag/attn/attnsvc.C
@@ -143,10 +143,10 @@ errlHndl_t Service::configureInterrupts(
IPOLL::forEach(~0, &mask, &getMask);
err = modifyScom(
- *it,
- IPOLL::address,
- i_mode == UP ? mask : ~mask,
- i_mode == UP ? SCOM_OR : SCOM_AND);
+ *it,
+ IPOLL::address,
+ i_mode == UP ? ~mask : mask,
+ i_mode == UP ? SCOM_AND : SCOM_OR);
if(err)
{
diff --git a/src/usr/diag/attn/test/attnfakeipoll.C b/src/usr/diag/attn/test/attnfakeipoll.C
index a84747c05..4c63db25e 100644
--- a/src/usr/diag/attn/test/attnfakeipoll.C
+++ b/src/usr/diag/attn/test/attnfakeipoll.C
@@ -1,26 +1,25 @@
-/* IBM_PROLOG_BEGIN_TAG
- * This is an automatically generated prolog.
- *
- * $Source: src/usr/diag/attn/test/attnfakeipoll.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/test/attnfakeipoll.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 attnfakeipoll.C
*
@@ -65,11 +64,11 @@ errlHndl_t FakeIpoll::processPutReg(
? i_new
: i_sys.getReg(i_target, iv_address);
- bool masked = (~ipollContent & iv_ipollbits);
+ bool masked = (ipollContent & iv_ipollbits);
bool hi = (content & iv_gfirbits);
bool unmasked = i_address == IPOLL::address
- ? ipollContent & ~i_old & iv_ipollbits
+ ? ~ipollContent & i_old & iv_ipollbits
: false;
bool set = i_address == IPOLL::address
@@ -96,7 +95,7 @@ void FakeIpoll::processEoi(
uint64_t ipollContent = i_sys.getReg(i_source, IPOLL::address);
uint64_t content = i_sys.getReg(i_source, iv_address);
- bool masked = ~ipollContent & iv_ipollbits;
+ bool masked = ipollContent & iv_ipollbits;
bool high = content & iv_gfirbits;
if(high && !masked)
diff --git a/src/usr/diag/attn/test/attntestmem.H b/src/usr/diag/attn/test/attntestmem.H
index 48e10a558..2d804d48b 100644
--- a/src/usr/diag/attn/test/attntestmem.H
+++ b/src/usr/diag/attn/test/attntestmem.H
@@ -1,26 +1,25 @@
-/* IBM_PROLOG_BEGIN_TAG
- * This is an automatically generated prolog.
- *
- * $Source: src/usr/diag/attn/test/attntestmem.H $
- *
- * 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/test/attntestmem.H $ */
+/* */
+/* 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 */
#ifndef __TEST_ATTNTESTMEM_H
#define __TEST_ATTNTESTMEM_H
@@ -101,7 +100,7 @@ class AttnMemTest: public CxxTest::TestSuite
break;
}
- randomData = randomData | maskbits;
+ randomData = randomData & ~maskbits;
err = putScom(
proc,
@@ -132,13 +131,13 @@ class AttnMemTest: public CxxTest::TestSuite
// verify that the attn was masked, and that
// other bits weren't touched
- if(!(~data & maskbits))
+ if(!(data & maskbits))
{
TS_FAIL("attention not masked");
break;
}
- if((data | maskbits) != randomData)
+ if((data & ~maskbits) != randomData)
{
TS_FAIL("unexpected data in mask register");
break;
@@ -212,7 +211,7 @@ class AttnMemTest: public CxxTest::TestSuite
break;
}
- randomData = randomData & ~maskbits;
+ randomData = randomData | maskbits;
err = putScom(proc, IPOLL::address, randomData);
if(err)
@@ -240,13 +239,13 @@ class AttnMemTest: public CxxTest::TestSuite
// verify that the attn was masked, and that
// other bits weren't touched
- if(!(data & maskbits))
+ if(!(~data & maskbits))
{
TS_FAIL("attention not unmasked");
break;
}
- if((data & ~maskbits) != randomData)
+ if((data | maskbits) != randomData)
{
TS_FAIL("unexpected data in mask register");
break;
diff --git a/src/usr/diag/attn/test/attntestproc.H b/src/usr/diag/attn/test/attntestproc.H
index 218f97036..6ac062ff9 100644
--- a/src/usr/diag/attn/test/attntestproc.H
+++ b/src/usr/diag/attn/test/attntestproc.H
@@ -1,26 +1,25 @@
-/* IBM_PROLOG_BEGIN_TAG
- * This is an automatically generated prolog.
- *
- * $Source: src/usr/diag/attn/test/attntestproc.H $
- *
- * 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/test/attntestproc.H $ */
+/* */
+/* 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 */
#ifndef __TEST_ATTNTESTPROC_H
#define __TEST_ATTNTESTPROC_H
@@ -96,7 +95,7 @@ class AttnProcTest: public CxxTest::TestSuite
break;
}
- randomData = randomData | maskbits;
+ randomData = randomData & ~maskbits;
err = putScom(
d.targetHndl,
@@ -127,13 +126,13 @@ class AttnProcTest: public CxxTest::TestSuite
// verify that the attn was masked, and that
// other bits weren't touched
- if(!(~data & maskbits))
+ if(!(data & maskbits))
{
- TS_FAIL("attention unmasked");
+ TS_FAIL("attention not masked");
break;
}
- if((data | maskbits) != randomData)
+ if((data & ~maskbits) != randomData)
{
TS_FAIL("unexpected data in mask register");
break;
@@ -204,7 +203,7 @@ class AttnProcTest: public CxxTest::TestSuite
break;
}
- randomData = randomData & ~maskbits;
+ randomData = randomData | maskbits;
err = putScom(d.targetHndl, IPOLL::address, randomData);
if(err)
@@ -217,7 +216,7 @@ class AttnProcTest: public CxxTest::TestSuite
if(err)
{
- TS_FAIL("unexpected error unmasking attention");
+ TS_FAIL("unexpected error masking attention");
break;
}
@@ -232,13 +231,13 @@ class AttnProcTest: public CxxTest::TestSuite
// verify that the attn was unmasked, and that
// other bits weren't touched
- if(!(data & maskbits))
+ if(!(~data & maskbits))
{
- TS_FAIL("attention masked");
+ TS_FAIL("attention not unmasked");
break;
}
- if((data & ~maskbits) != randomData)
+ if((data | maskbits) != randomData)
{
TS_FAIL("unexpected data in mask register");
break;
diff --git a/src/usr/diag/attn/test/attnvalidate.C b/src/usr/diag/attn/test/attnvalidate.C
index 1897f2f6c..6d37a426c 100644
--- a/src/usr/diag/attn/test/attnvalidate.C
+++ b/src/usr/diag/attn/test/attnvalidate.C
@@ -1,26 +1,25 @@
-/* IBM_PROLOG_BEGIN_TAG
- * This is an automatically generated prolog.
- *
- * $Source: src/usr/diag/attn/test/attnvalidate.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/test/attnvalidate.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 attnvalidate.C
*
@@ -68,7 +67,7 @@ errlHndl_t Validator::processPutAttention(
target = getTargetService().getProc(i_attention.targetHndl);
}
- bool masked = ~i_sys.getReg(target, IPOLL::address) & ipollCheckbits;
+ bool masked = i_sys.getReg(target, IPOLL::address) & ipollCheckbits;
if(!masked)
{
@@ -217,7 +216,7 @@ errlHndl_t Validator::processPutReg(
// these bits turned off
- IPOLL::forEach(i_new & ~i_old, &args, &appendOuterLoop);
+ IPOLL::forEach(i_old & ~i_new, &args, &appendOuterLoop);
AttnList::iterator it = args.list.begin();
@@ -231,7 +230,7 @@ errlHndl_t Validator::processPutReg(
// these bits turned on
- IPOLL::forEach(i_old & ~i_new, &args, &appendOuterLoop);
+ IPOLL::forEach(i_new & ~i_old, &args, &appendOuterLoop);
it = args.list.begin();
OpenPOWER on IntegriCloud