summaryrefslogtreecommitdiffstats
path: root/src/usr/scom/test
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2012-05-01 15:14:05 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-05-24 10:35:41 -0500
commitfc433c65ca76105816ffe39bffc7f5d23345104b (patch)
treef6530d518b4223b07dd14e5ddc6fc48b83db3258 /src/usr/scom/test
parent5e0ff967b230bb2de22a7ea855931586f60bcf89 (diff)
downloadtalos-hostboot-fc433c65ca76105816ffe39bffc7f5d23345104b.tar.gz
talos-hostboot-fc433c65ca76105816ffe39bffc7f5d23345104b.zip
Pick up Simics FSI fixes for multiple chips
Updating the Simics level to get FSI fixes to allow multiple chips to work. This also allows us to remove some previous workarounds. The new Simics build pulled in a different PNOR so needed to disable some of the tests. The new Simics build also modified some of the L3 objects so changes were required to some debug tools. Had to update the VENICE config since Ched rewired it to look like MURANO/Tuleta. Testing: Verified 2-proc, 4-centaur MURANO config Verified 2-proc, 4-centaur VENICE config Change-Id: I6aaaf8aad2f82dbfffb8ade551d545bedaa3e048 RTC: 41305 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1066 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/scom/test')
-rw-r--r--src/usr/scom/test/scomtest.H67
1 files changed, 63 insertions, 4 deletions
diff --git a/src/usr/scom/test/scomtest.H b/src/usr/scom/test/scomtest.H
index 7d92c0a7b..e30770326 100644
--- a/src/usr/scom/test/scomtest.H
+++ b/src/usr/scom/test/scomtest.H
@@ -203,7 +203,15 @@ public:
// Setup some targets to use
enum {
CENTAUR0, //local
+ CENTAUR1, //local
+ CENTAUR2, //local
+ CENTAUR3, //local
+ CENTAUR4, //local
+ CENTAUR5, //local
+ CENTAUR6, //local
+ CENTAUR7, //local
CENTAUR8, //remote (off PROC1)
+ CENTAUR9, //remote (off PROC1)
NUM_TARGETS
};
TARGETING::Target* scom_targets[NUM_TARGETS];
@@ -224,6 +232,31 @@ public:
epath.addLast(TARGETING::TYPE_MEMBUF,8);
scom_targets[CENTAUR8] = TARGETING::targetService().toTarget(epath);
+ epath.removeLast();
+ epath.addLast(TARGETING::TYPE_MEMBUF,1);
+ scom_targets[CENTAUR1] = TARGETING::targetService().toTarget(epath);
+ epath.removeLast();
+ epath.addLast(TARGETING::TYPE_MEMBUF,2);
+ scom_targets[CENTAUR2] = TARGETING::targetService().toTarget(epath);
+ epath.removeLast();
+ epath.addLast(TARGETING::TYPE_MEMBUF,3);
+ scom_targets[CENTAUR3] = TARGETING::targetService().toTarget(epath);
+ epath.removeLast();
+ epath.addLast(TARGETING::TYPE_MEMBUF,4);
+ scom_targets[CENTAUR4] = TARGETING::targetService().toTarget(epath);
+ epath.removeLast();
+ epath.addLast(TARGETING::TYPE_MEMBUF,5);
+ scom_targets[CENTAUR5] = TARGETING::targetService().toTarget(epath);
+ epath.removeLast();
+ epath.addLast(TARGETING::TYPE_MEMBUF,6);
+ scom_targets[CENTAUR6] = TARGETING::targetService().toTarget(epath);
+ epath.removeLast();
+ epath.addLast(TARGETING::TYPE_MEMBUF,7);
+ scom_targets[CENTAUR7] = TARGETING::targetService().toTarget(epath);
+ epath.removeLast();
+ epath.addLast(TARGETING::TYPE_MEMBUF,9);
+ scom_targets[CENTAUR9] = TARGETING::targetService().toTarget(epath);
+
for( uint64_t x = 0; x < NUM_TARGETS; x++ )
{
//only run if the target exists and has FSI enabled.
@@ -261,6 +294,17 @@ public:
{ scom_targets[CENTAUR0], 0x02011403 , 0x1234567800000000 },
{ scom_targets[CENTAUR0], 0x02011672 , 0x1122334455667788 },
{ scom_targets[CENTAUR8], 0x02011672 , 0x9E9E9E9E9E9E9E9E },
+
+ { scom_targets[CENTAUR0], 0x02011404 , 0x00000000f0f0f0f0 },
+ { scom_targets[CENTAUR1], 0x02011404 , 0x1111111100000000 },
+ { scom_targets[CENTAUR2], 0x02011404 , 0x2222222200000000 },
+ { scom_targets[CENTAUR3], 0x02011404 , 0x3333333300000000 },
+ { scom_targets[CENTAUR4], 0x02011404 , 0x4444444400000000 },
+ { scom_targets[CENTAUR5], 0x02011404 , 0x5555555500000000 },
+ { scom_targets[CENTAUR6], 0x02011404 , 0x6666666600000000 },
+ { scom_targets[CENTAUR7], 0x02011404 , 0x7777777700000000 },
+ { scom_targets[CENTAUR8], 0x02011404 , 0x8888888800000000 },
+ { scom_targets[CENTAUR9], 0x02011404 , 0x9999999900000000 },
};
const uint64_t NUM_ADDRS = sizeof(test_data)/sizeof(test_data[0]);
@@ -1165,6 +1209,12 @@ public:
{
continue;
}
+ // check to see if the target is functional.. if not.. skip this target
+ else if (test_data[x].target->getAttr<TARGETING::ATTR_HWAS_STATE>().functional != true)
+ {
+ TRACDCOMP( g_trac_scom, "ScomTest::test_translate_scom_MBA_MBS> Target %d is not functional", x );
+ continue;
+ }
op_size = sizeof(uint64_t);
@@ -1352,6 +1402,12 @@ public:
{
continue;
}
+ // check to see if the target is functional.. if not.. skip this target
+ else if (test_data[x].target->getAttr<TARGETING::ATTR_HWAS_STATE>().functional != true)
+ {
+ TRACDCOMP( g_trac_scom, "ScomTest::test_translate_scom_ABUS> Target %d is not functional", x );
+ continue;
+ }
op_size = sizeof(uint64_t);
@@ -1493,7 +1549,7 @@ public:
{
continue;
}
- // check to see if the target is functional.. if not.. skip this target
+ // check to see if the target is functional.. if not.. skip this target
else if (test_data[x].target->getAttr<TARGETING::ATTR_HWAS_STATE>().functional != true)
{
TRACDCOMP( g_trac_scom, "ScomTest::test_translate_scom_XBUS> Target %d is not functional", x );
@@ -1538,6 +1594,12 @@ public:
{
continue;
}
+ // check to see if the target is functional.. if not.. skip this target
+ else if (test_data[x].target->getAttr<TARGETING::ATTR_HWAS_STATE>().functional != true)
+ {
+ TRACDCOMP( g_trac_scom, "ScomTest::test_translate_scom_XBUS> Target %d is not functional", x );
+ continue;
+ }
op_size = sizeof(uint64_t);
@@ -1572,9 +1634,6 @@ public:
//@todo - write error path testcase for FSI scom using bad address
-
- //@todo - address translation
-
};
#endif
OpenPOWER on IntegriCloud