summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Stegmiller <bjs@us.ibm.com>2016-11-17 09:10:49 -0600
committerZane C. Shelley <zshelle@us.ibm.com>2016-11-18 10:28:54 -0500
commit4b3ab4f79c85155f9d136c3ac703021ac39e16c4 (patch)
treee8643d06b4dbdcba7abc40cd5709cfe4bf2aae14
parent9ff084a72d734a5884a107c460def22fc1e8ce5c (diff)
downloadtalos-hostboot-4b3ab4f79c85155f9d136c3ac703021ac39e16c4.tar.gz
talos-hostboot-4b3ab4f79c85155f9d136c3ac703021ac39e16c4.zip
ATTN: Enable of IPL CXX tests
Change-Id: Icc270150ece5f4d767835fd970a38ccd2ed05bbf RTC: 151004 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32772 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
-rw-r--r--src/usr/diag/attn/common/attnprd.C2
-rw-r--r--src/usr/diag/attn/ipl/test/attnfakeipoll.C20
-rw-r--r--src/usr/diag/attn/ipl/test/attnfakeprd.C5
-rw-r--r--src/usr/diag/attn/ipl/test/attntestsvc.H87
-rw-r--r--src/usr/diag/attn/ipl/test/makefile7
5 files changed, 74 insertions, 47 deletions
diff --git a/src/usr/diag/attn/common/attnprd.C b/src/usr/diag/attn/common/attnprd.C
index cf0019b03..65f2fafd9 100644
--- a/src/usr/diag/attn/common/attnprd.C
+++ b/src/usr/diag/attn/common/attnprd.C
@@ -72,6 +72,8 @@ errlHndl_t PrdImpl::callPrd(const AttentionList & i_attentions)
i_attentions.getAttnList(attnList);
+ ATTN_TRACE("callPrd with Attn Count of %d", attnList.size());
+
if(!attnList.empty())
{
// AttentionLists keep themselves sorted by attention type
diff --git a/src/usr/diag/attn/ipl/test/attnfakeipoll.C b/src/usr/diag/attn/ipl/test/attnfakeipoll.C
index a05033d47..c04491ced 100644
--- a/src/usr/diag/attn/ipl/test/attnfakeipoll.C
+++ b/src/usr/diag/attn/ipl/test/attnfakeipoll.C
@@ -187,23 +187,11 @@ FakeIpoll::FakeIpoll(
iv_ipollbits(0),
iv_presenter(&i_presenter)
{
- if(i_type == HOST_ATTN)
- {
- // figure out what bits to monitor
- // in the nest gp1 register, if
- // this instance is monitoring
- // HOST attentions.
-
- GP1::forEach(0xffffffffffffffffull, &iv_gfirbits, &getMask);
- iv_address = GP1::address;
- }
+ GFIR::getAddress(i_type, iv_address);
+ GFIR::getCheckbits(i_type, iv_gfirbits);
- else
- {
- GFIR::getAddress(i_type, iv_address);
- GFIR::getCheckbits(i_type, iv_gfirbits);
- }
IPOLL::getCheckbits(i_type, iv_ipollbits);
}
-}
+
+} // end namespace
diff --git a/src/usr/diag/attn/ipl/test/attnfakeprd.C b/src/usr/diag/attn/ipl/test/attnfakeprd.C
index 5c9bd6340..1ad17a3ae 100644
--- a/src/usr/diag/attn/ipl/test/attnfakeprd.C
+++ b/src/usr/diag/attn/ipl/test/attnfakeprd.C
@@ -79,8 +79,11 @@ errlHndl_t FakePrd::callPrd(const AttentionList & i_attentions)
AttnList l_attnList;
i_attentions.getAttnList(l_attnList);
+
+ ATTN_TRACE("fakeCallPrd with Attn Count of %d", l_attnList.size());
+
// -----------------------------------------------------
- // asdf bjs @TODO: RTC:151004 (this is FAKE code only)
+ // This is FAKE code only.
// If you do the EC/MODEL check, it crashes in CXX testcase.
// Kind of thinking some library missing that is needed when
// adding these calls, For now, I will just leave them out
diff --git a/src/usr/diag/attn/ipl/test/attntestsvc.H b/src/usr/diag/attn/ipl/test/attntestsvc.H
index b8baa664d..707b5ad71 100644
--- a/src/usr/diag/attn/ipl/test/attntestsvc.H
+++ b/src/usr/diag/attn/ipl/test/attntestsvc.H
@@ -36,6 +36,20 @@
#include "attntest.H"
#include <cxxtest/TestSuite.H>
#include "../../common/attntrace.H"
+#include "attnfakepresenter.H"
+#include "attnfakegfir.H"
+#include <prdf/common/prdfMain_common.H>
+#include "attnfakegp1.H"
+#include "attnfakemcs.H"
+#include "attnfakeipoll.H"
+#include "attnvalidate.H"
+#include "attnfaketarget.H"
+#include "attnrandsource.H"
+#include "attnfakeprd.H"
+#include "../../common/attnproc.H"
+#include <sys/time.h>
+
+
using namespace ATTN;
using namespace std;
@@ -65,31 +79,41 @@ class AttnSvcTest: public CxxTest::TestSuite
FakePresenter presenter;
FakeSystem system;
- FakeGfir xstpGfir(CHECK_STOP),
- spclGfir(SPECIAL),
- recGfir(RECOVERABLE);
+ FakeGfir xstpGfir(PRDF::CHECK_STOP),
+ spclGfir(PRDF::SPECIAL),
+ recGfir(PRDF::RECOVERABLE),
+ hostAttnGfir(PRDF::HOST_ATTN),
+ unitCsGfir(PRDF::UNIT_CS);
+
xstpGfir.install(system);
spclGfir.install(system);
recGfir.install(system);
+ hostAttnGfir.install(system);
+ unitCsGfir.install(system);
- FakeMcs rec(RECOVERABLE), xstp(CHECK_STOP), special(SPECIAL);
- FakeGp1 gp1;
+ // @TODO RTC: 164827
+ // When we get CENTAURS, we may need to add host/unit cs
+ // here and install them right below.
+ FakeMcs rec(PRDF::RECOVERABLE),
+ xstp(PRDF::CHECK_STOP),
+ special(PRDF::SPECIAL);
xstp.install(system);
special.install(system);
rec.install(system);
- gp1.install(system);
- FakeIpoll xstpIpoll(CHECK_STOP, presenter),
- spclIpoll(SPECIAL, presenter),
- recIpoll(RECOVERABLE, presenter),
- hostIpoll(HOST_ATTN, presenter);
+ FakeIpoll xstpIpoll(PRDF::CHECK_STOP, presenter),
+ spclIpoll(PRDF::SPECIAL, presenter),
+ recIpoll (PRDF::RECOVERABLE, presenter),
+ unitIpoll(PRDF::UNIT_CS, presenter),
+ hostIpoll(PRDF::HOST_ATTN, presenter);
xstpIpoll.install(system);
spclIpoll.install(system);
recIpoll.install(system);
hostIpoll.install(system);
+ unitIpoll.install(system);
Validator v;
@@ -99,31 +123,34 @@ class AttnSvcTest: public CxxTest::TestSuite
FakeMemTargetService targetSvc(targetPoolSize);
- TargetHandleList membufs, procs;
+ TARGETING::TargetHandleList membufs, procs;
- targetSvc.getAllChips(procs, TYPE_PROC);
- targetSvc.getAllChips(membufs, TYPE_MEMBUF);
+ targetSvc.getAllChips(procs, TARGETING::TYPE_PROC);
+ targetSvc.getAllChips(membufs, TARGETING::TYPE_MEMBUF);
- RandSource procSource(iterations,
+ ATTN::RandSource procSource(iterations,
maxAttnsPerIteration,
system,
&procs[0],
&procs[0] + procs.size());
- RandSource memSource(
+ // @TODO RTC: 164827
+ // We don't have Centaurs yet
+ /* ATTN::RandSource memSource(
iterations,
maxAttnsPerIteration,
system,
&membufs[0],
&membufs[0] + membufs.size());
+ */
targetSvc.installTargetService();
- FakePrd prd(system);
+ ATTN::FakePrd prd(system);
prd.installPrd();
- getProcOps().enable();
+ ATTN::getProcOps().enable();
do
{
@@ -141,11 +168,14 @@ class AttnSvcTest: public CxxTest::TestSuite
break;
}
- if(!memSource.start())
- {
- TS_FAIL("unexpected error starting source");
- break;
- }
+ // @TODO RTC: 164827
+ // We don't have Centaurs yet
+ /* if(!memSource.start())
+ {
+ TS_FAIL("unexpected error starting source");
+ break;
+ }
+ */
if(!procSource.start())
{
@@ -155,11 +185,14 @@ class AttnSvcTest: public CxxTest::TestSuite
// wait for the testcase to finish injecting attentions
- if(!memSource.wait())
- {
- TS_FAIL("unexpected error waiting for source");
- break;
- }
+ // @TODO RTC: 164827
+ // We don't have Centaurs yet on NIMBUS P9
+ /* if(!memSource.wait())
+ {
+ TS_FAIL("unexpected error waiting for source");
+ break;
+ }
+ */
if(!procSource.wait())
{
diff --git a/src/usr/diag/attn/ipl/test/makefile b/src/usr/diag/attn/ipl/test/makefile
index 3826af801..a0d73d4cf 100644
--- a/src/usr/diag/attn/ipl/test/makefile
+++ b/src/usr/diag/attn/ipl/test/makefile
@@ -43,8 +43,9 @@ OBJS += attnmeminject.o
MODULE = testattn
-# asdf bjs @TODO: RTC:151004
-#TESTS = *.H
-TESTS = attntestipl.H attntestproc.H
+# @TODO RTC: 164827
+# attntestmem.H is only for CENTAUR so can't do this yet
+
+TESTS = attntestipl.H attntestproc.H attntestscom.H attntesttrace.H attntesttest.H attntestlist.H attntestops.H attntestsvc.H
include ${ROOTPATH}/config.mk
OpenPOWER on IntegriCloud