diff options
author | Mike Jones <mjjones@us.ibm.com> | 2013-10-22 13:00:06 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-10-28 12:37:02 -0500 |
commit | f5e1ea44add82f16f94a7f068bc8a4a8e0f3677c (patch) | |
tree | ee35f6a87fa08c208bc3e38ea7fe16f4d393f9ba /src | |
parent | c529c391001736f4a55a71d30ea7a8c9dabfa0ed (diff) | |
download | talos-hostboot-f5e1ea44add82f16f94a7f068bc8a4a8e0f3677c.tar.gz talos-hostboot-f5e1ea44add82f16f94a7f068bc8a4a8e0f3677c.zip |
Remove unit test usage of hardcoded core addresses
Change-Id: I26cca4a3b09cc5486741507be33961ab41986216
RTC: 60769
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/6801
Tested-by: Jenkins Server
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: Donald E. Dahle <dedahle@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/usr/hwpf/hwp/fapiTestHwp.C | 7 | ||||
-rwxr-xr-x | src/usr/hwpf/hwp/initfiles/sample.initfile | 79 | ||||
-rw-r--r-- | src/usr/hwpf/test/hwpftest.H | 91 | ||||
-rw-r--r-- | src/usr/xscom/runtime/test/testxscom_rt.H | 4 | ||||
-rw-r--r-- | src/usr/xscom/test/xscomtest.H | 7 |
5 files changed, 61 insertions, 127 deletions
diff --git a/src/usr/hwpf/hwp/fapiTestHwp.C b/src/usr/hwpf/hwp/fapiTestHwp.C index 4f63e8c02..57f1818dc 100644 --- a/src/usr/hwpf/hwp/fapiTestHwp.C +++ b/src/usr/hwpf/hwp/fapiTestHwp.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2011,2012 */ +/* COPYRIGHT International Business Machines Corp. 2011,2013 */ /* */ /* p1 */ /* */ @@ -72,9 +72,8 @@ fapi::ReturnCode hwpInitialTest(const std::vector<fapi::Target> & i_target) do { - // Use this SCOM register for testing - //@TODO via RTC: 60769 -- base 15XXXXXX addr on master core - const uint64_t l_addr = 0x15010002; + // Use PORE_GPE0_SCRATCH2_0x0006000C Scom register for testing + const uint64_t l_addr = 0x0006000C; ecmdDataBufferBase l_ScomData(64); uint64_t l_originalScomData = 0; diff --git a/src/usr/hwpf/hwp/initfiles/sample.initfile b/src/usr/hwpf/hwp/initfiles/sample.initfile index 124f3e16f..ce1e89294 100755 --- a/src/usr/hwpf/hwp/initfiles/sample.initfile +++ b/src/usr/hwpf/hwp/initfiles/sample.initfile @@ -63,36 +63,32 @@ define def_not_equal_test = (SYS.ATTR_SCRATCH_UINT64_1 != SYS.ATTR_SCRATCH_UINT define MBA0 = TGT1; define MBA1 = TGT2; - -#@TODO via RTC: 60769 -- base 15XXXXXX addr on master core - #--****************************************************************************** -#-- Basic SCOM +#-- Basic SCOM to PORE_GPE0_SCRATCH0_0x0006000A #--****************************************************************************** -scom 0x0000000015010002 { +scom 0x000000000006000A { scom_data ; - 0xAABBC00000000000 ; + 0x0ABBC00000000000 ; } #--****************************************************************************** -#-- SCOM with Address and Data of Array Type, Range of Index, Bit Support +#-- SCOM with Address and Data of Array Type, Range of Index, Bit Support to +#-- PORE_GPE0_SCRATCH1_0x0006000B and PORE_GPE0_SCRATCH2_0x0006000C #-- The following Scom is equivalent to: -#scom 0x000000000006002B { +#scom 0x000000000006000B { # bits, scom_data , expr; # 0:7, SYS.ATTR_SCRATCH_UINT8_ARRAY_1[2], SYS.ATTR_SCRATCH_UINT8_ARRAY_1[2] > SYS.ATTR_SCRATCH_UINT8_1; # 24:31, SYS.ATTR_SCRATCH_UINT8_ARRAY_1[2], SYS.ATTR_SCRATCH_UINT8_1 == SYS.ATTR_SCRATCH_UINT8_ARRAY_1[3]; # 32:39, SYS.ATTR_SCRATCH_UINT8_ARRAY_2[0][1][2], SYS.ATTR_SCRATCH_UINT8_ARRAY_1[0] < SYS.ATTR_SCRATCH_UINT8_ARRAY_1[1]; #} # -#scom 0x000000000006002C { +#scom 0x000000000006000C { # bits, scom_data , expr; # 0:7, SYS.ATTR_SCRATCH_UINT8_ARRAY_1[2], SYS.ATTR_SCRATCH_UINT8_ARRAY_1[31] > SYS.ATTR_SCRATCH_UINT8_1; # 24:31, SYS.ATTR_SCRATCH_UINT8_ARRAY_1[31], SYS.ATTR_SCRATCH_UINT8_1 == SYS.ATTR_SCRATCH_UINT8_ARRAY_1[7]; # 32:39, SYS.ATTR_SCRATCH_UINT8_ARRAY_2[1][2][3], SYS.ATTR_SCRATCH_UINT8_ARRAY_1[17] < SYS.ATTR_SCRATCH_UINT8_ARRAY_1[18]; #} -#--****************************************************************************** - -scom 0x000000000006002(B,C) { +scom 0x000000000006000(B,C) { bits, scom_data , expr; 0:7, SYS.ATTR_SCRATCH_UINT8_ARRAY_1[2], SYS.ATTR_SCRATCH_UINT8_ARRAY_1[2,31] > SYS.ATTR_SCRATCH_UINT8_1; 24:31, SYS.ATTR_SCRATCH_UINT8_ARRAY_1[2,31], SYS.ATTR_SCRATCH_UINT8_1 == SYS.ATTR_SCRATCH_UINT8_ARRAY_1[3,7]; @@ -100,19 +96,17 @@ scom 0x000000000006002(B,C) { } #--****************************************************************************** -#-- Basic SCOM with define used +#-- Basic SCOM with define used to PORE_GPE1_SCRATCH0_0x0006002A #--****************************************************************************** - -scom 0x000000000006800b { +scom 0x000000000006002A { scom_data, expr ; 0x0000000000000184, def_equal_test ; } #--****************************************************************************** -#-- Basic SCOM with a single bit set +#-- Basic SCOM with a single bit set to PORE_GPE1_SCRATCH1_0x0006002B #--****************************************************************************** - -scom 0x000000000006800c { +scom 0x000000000006002B { bits , scom_data ; 23 , 0b1 ; } @@ -121,8 +115,7 @@ scom 0x000000000006800c { #-- Basic SCOM with same address but different bits set & Scom data of Attr type #-- Simple operations on Scom data #--****************************************************************************** - -scom 0x000000000006800c { +scom 0x000000000006002B { bits , scom_data , expr ; 24:31, (MBA1.ATTR_CHIP_UNIT_POS + SYS.ATTR_SCRATCH_UINT8_ARRAY_2[1][2][3]) , (SYS.ATTR_SCRATCH_UINT8_1 | 0b00000001) != 1; 24:31, ((MBA1.ATTR_CHIP_UNIT_POS | SYS.ATTR_SCRATCH_UINT8_ARRAY_2[1][2][3]) + 1) / 2, !(SYS.ATTR_SCRATCH_UINT8_1 == 3); @@ -130,11 +123,11 @@ scom 0x000000000006800c { } #--****************************************************************************** -#-- Basic SCOM with bits +#-- Basic SCOM with bits to PORE_GPE1_SCRATCH2_0x0006002C #--****************************************************************************** -scom 0x0000000015013283 { +scom 0x000000000006002C { bits , scom_data ; - 0:11 , 0b001111001001 ; + 0:11 , 0b000011001001 ; 12 , 0b1 ; 13 , 0x1 ; 14:59, 0x00c190010480 ; @@ -142,12 +135,12 @@ scom 0x0000000015013283 { } #--****************************************************************************** -#-- Complext SCOM with Bit Support, define, and attributes +#-- Complex SCOM with Bit Support, define, and attributes to +#-- PORE_SLW_SCRATCH0_0x0006800A #--****************************************************************************** - -scom 0x0000000015013284 { +scom 0x000000000006800A { bits , scom_data, expr ; - 0:11 , 0b001111001001, ANY ; + 0:11 , 0b000011001001, ANY ; 12 , 0b1, def_equal_test ; 12 , 0b0, def_not_equal_test ; 13 , 0b1, def_uint8_greater_test ; @@ -155,10 +148,10 @@ scom 0x0000000015013284 { } #--****************************************************************************** -#-- Complex SCOM with Bit Support, and logical operators +#-- Complex SCOM with Bit Support, and logical operators to +#-- PORE_SLW_SCRATCH1_0x0006800B #--****************************************************************************** - -scom 0x0000000015013285 { +scom 0x000000000006800B { bits , scom_data, expr ; 12 , 0b1, def_equal_test && def_not_equal_test ; 12 , 0b0, def_equal_test || def_not_equal_test ; @@ -174,40 +167,42 @@ scom 0x0000000015013285 { #--****************************************************************************** #-- SCOM with 'ec' column - Use scratch for now since all attributes work +#-- To PORE_SLW_SCRATCH2_0x0006800C #--****************************************************************************** - -scom 0x0000000015013286 { +scom 0x000000000006800C { scom_data, SYS.ATTR_SCRATCH_UINT32_1, SYS.ATTR_SCRATCH_UINT32_2 ; 0x0000000000000192, != 0, >= ENUM_ATTR_SCRATCH_UINT64_ARRAY_2_VAL_B ; } #--****************************************************************************** -#-- Basic SCOM with an array +#-- Basic SCOM with an array to PORE_SBE_SCRATCH0_0x000E000A #--****************************************************************************** -scom 0x0000000015013287 { +scom 0x00000000000E000A { scom_data, expr ; 0x0000000000000182, SYS.ATTR_SCRATCH_UINT8_ARRAY_1[2] == SYS.ATTR_SCRATCH_UINT8_1 ; } #--****************************************************************************** #-- SCOM with 'ec' & expr column - Use scratch for now since all attributes work +#-- To PORE_SBE_SCRATCH1_0x000E000B #--****************************************************************************** -scom 0x0000000015013288 { +scom 0x00000000000E000B { scom_data, SYS.ATTR_SCRATCH_UINT32_1, expr; 0x0000000000000192, 3, SYS.ATTR_SCRATCH_UINT8_ARRAY_2[1][2][3] == 0x00000000000000BE; } #--****************************************************************************** #-- Complex SCOM with Bit Support, associated attributes and logical operators +#-- To PORE_SBE_SCRATCH2_0x000E000C #--****************************************************************************** # TODO: RTC:Issue 66579 remove this register as it is now being used by dump -#scom 0x0000000015013289 { -# bits, scom_data, MBA1.ATTR_CHIP_UNIT_POS, expr; -# 23, 0b0, 1, MBA0.ATTR_CHIP_UNIT_POS == 1; -# 23, MBA1.ATTR_CHIP_UNIT_POS, 1, MBA0.ATTR_CHIP_UNIT_POS == 0; -# 24:25, 0b10, 0, any; -# 24:25, 0b01, 1, SYS.ATTR_SCRATCH_UINT8_ARRAY_1[2] == SYS.ATTR_SCRATCH_UINT8_1; -#} +scom 0x00000000000E000C { + bits, scom_data, MBA1.ATTR_CHIP_UNIT_POS, expr; + 23, 0b0, 1, MBA0.ATTR_CHIP_UNIT_POS == 1; + 23, MBA1.ATTR_CHIP_UNIT_POS, 1, MBA0.ATTR_CHIP_UNIT_POS == 0; + 24:25, 0b10, 0, any; + 24:25, 0b01, 1, SYS.ATTR_SCRATCH_UINT8_ARRAY_1[2] == SYS.ATTR_SCRATCH_UINT8_1; +} #--****************************************************************************** #-- Basic SCOM with Multiple Arrays/Address Ranges diff --git a/src/usr/hwpf/test/hwpftest.H b/src/usr/hwpf/test/hwpftest.H index c1f2a8157..97a51387b 100644 --- a/src/usr/hwpf/test/hwpftest.H +++ b/src/usr/hwpf/test/hwpftest.H @@ -273,43 +273,26 @@ public: //Note: this data is based on the sample.initfile. //If the initfile changes, this data will also need to be changed. - //@TODO via RTC: 60769 -- base 15XXXXXX addr on master core ifScom_t l_ifScomData[] = { - {0x000000000006002b, 0, 0x0000000000000000 | - (0x00000000000000C4ll << (64 - (32 + 8)))}, - {0x000000000006002c, 0, (0x0000000000000001ll << (64 - 8)) | - (0x0000000000000008ll << (64 - (24 + 8)))}, - {0x000000000006800b, 0, 0}, - {0x000000000006800c, 0, (0x8000000000000000 >> 0x17) | - (0x0000000000000060ll << (64 - (24 + 8))) | - 0x0000000000003000}, - {0x0000000015010002, 0, 0xAABBC00000000000}, - {0x0000000015013283, 0, 0x3c90000000000000 | - (0x8000000000000000 >> 0x0c) | - (0x8000000000000000 >> 0x0d) | - (0x0306400412000000 >> 0x0e) | - 0x000000000000000D}, - {0x0000000015013284, 0, 0x3c90000000000000}, - {0x0000000015013285, 0, (0x8000000000000000 >> 0x0f) | - (0x8000000000000000 >> 0x10) | - (0x8000000000000000 >> 0x13) | - (0x0306400412000000 >> 0x15) }, - {0x0000000015013286, 0, 0x0000000000000192}, - {0x0000000015013287, 0, 0x0000000000000182}, - {0x0000000015013288, 0, 0x0000000000000192}, - // TODO: RTC:Issue 66579 Removed as this register is now being - // used by dump - - /*{0x0000000015013289, 0, (0x8000000000000000 >> 0x17) | - (0x4000000000000000 >> 0x18)}*/ + {/*PORE_GPE0_SCRATCH0_*/0x0006000A, 0, 0x0ABBC00000000000}, + {/*PORE_GPE0_SCRATCH1_*/0x0006000B, 0, 0x00000000C4000000}, + {/*PORE_GPE0_SCRATCH2_*/0x0006000C, 0, 0x0100000800000000}, + {/*PORE_GPE1_SCRATCH0_*/0x0006002A, 0, 0x0000000000000000}, + {/*PORE_GPE1_SCRATCH1_*/0x0006002B, 0, 0x0000016000003000}, + {/*PORE_GPE1_SCRATCH2_*/0x0006002C, 0, 0x0c9c0c190010480d}, + {/*PORE_SLW_SCRATCH0_*/0x0006800A, 0, 0x0c90000000000000}, + {/*PORE_SLW_SCRATCH1_*/0x0006800B, 0, 0x0001901832002090}, + {/*PORE_SLW_SCRATCH2_*/0x0006800C, 0, 0x0000000000000192}, + {/*PORE_SBE_SCRATCH1_*/0x000E000B, 0, 0x0000000000000192}, + {/*PORE_SBE_SCRATCH2_*/0x000E000C, 0, 0x0000014000000000} }; - fapi::ReturnCode l_rc = fapi::FAPI_RC_SUCCESS; + fapi::ReturnCode l_rc; ecmdDataBufferBase l_ScomData(64); do { - // Set up some attributes for testing + // Set up some attributes used by sample.initfile uint8_t l_uint8 = 1; l_rc = FAPI_ATTR_SET(ATTR_SCRATCH_UINT8_1, NULL, l_uint8); if (l_rc != fapi::FAPI_RC_SUCCESS) @@ -387,19 +370,6 @@ public: break; } - // Test ATTR_IS_SIMULATION access through FAPI - uint8_t l_flag; - l_rc = FAPI_ATTR_GET(ATTR_IS_SIMULATION, NULL, l_flag); - if (l_rc != fapi::FAPI_RC_SUCCESS) - { - TS_FAIL("testHwpf5: ATTR_IS_SIMULATION. Error from GET"); - break; - } - else - { - //printk("ATTR_IS_SIMULATION = %d\n", l_flag); - } - //Set the targets std::vector<fapi::Target> l_target; @@ -463,32 +433,6 @@ public: break; } - // Test ATTR_EC attribute access through FAPI - uint8_t l_EC_R = 0xFF; - - l_rc = FAPI_ATTR_GET_PRIVILEGED(ATTR_EC, &l_fapiTarget, l_EC_R); - if (l_rc != fapi::FAPI_RC_SUCCESS) - { - TS_FAIL("testHwpf5: ATTR_EC. Error from GET"); - break; - } - - // Test ATTR_FUNCTIONAL attribute access through FAPI - uint8_t l_functional = 0xff; - l_rc = FAPI_ATTR_GET(ATTR_FUNCTIONAL, &l_fapiTarget, l_functional); - if (l_rc != fapi::FAPI_RC_SUCCESS) - { - TS_FAIL("testHwpf5: ATTR_FUNCTIONAL. Error from GET"); - break; - } - else - { - FAPI_INF("testHwpf5: Master chip ATTR_FUNCTIONAL: %d", l_functional); - } - - //printk("EC = %d\n", l_EC_R); - - /* // Save original scom data to restore at end of test for (uint32_t i = 0; i < sizeof(l_ifScomData)/sizeof(ifScom_t); i++) { @@ -507,7 +451,6 @@ public: { break; } - */ // Set scom data to 0 to start from known state for bit ops l_ScomData.setDoubleWord(0, 0ll); @@ -563,9 +506,8 @@ public: break; } - /* // Restore the original Scom data - //uint32_t l_ecmdRc = ECMD_DBUF_SUCCESS; + uint32_t l_ecmdRc = ECMD_DBUF_SUCCESS; for (uint32_t i = 0; i < sizeof(l_ifScomData)/sizeof(ifScom_t); i++) { l_ecmdRc = l_ScomData.setDoubleWord(0,l_ifScomData[i].origData); @@ -591,7 +533,6 @@ public: { break; } - */ } while (0); @@ -625,15 +566,13 @@ public: l_pTarget->tryGetAttr<TARGETING::ATTR_IS_SIMULATION>(l_vpoMode) && l_vpoMode == 0) { - static const uint32_t NUM_OF_SCOMREGS = 6; + static const uint32_t NUM_OF_SCOMREGS = 4; ifScom_t l_ifScom[NUM_OF_SCOMREGS] = { {0x000000000006002b, 0x0000000000000183}, {0x000000000006002c, 0x0000000000000183}, {0x000000000006800b, 0}, {0x000000000006800c, 0x8000000000000000 >> 0x17}, - {0x0000000015010002, 0xAABBC00000000000}, - {0x0000000015013288, 0x00000CDE00000000}, }; // Get the master processor chip diff --git a/src/usr/xscom/runtime/test/testxscom_rt.H b/src/usr/xscom/runtime/test/testxscom_rt.H index 943d6381e..e451f53d8 100644 --- a/src/usr/xscom/runtime/test/testxscom_rt.H +++ b/src/usr/xscom/runtime/test/testxscom_rt.H @@ -41,8 +41,8 @@ struct testXscomAddrData const testXscomAddrData g_xscomAddrTable[] = { // Write data to be ORed with read value - {0x15013288, 0x0000040000000000}, - {0x15010002, 0xC000000000000000}, + {0x0006000B, 0x0000040000000000}, // PORE_GPE0_SCRATCH1_0x0006000B + {0x0006000C, 0xC000000000000000}, // PORE_GPE0_SCRATCH2_0x0006000C {0x00040001, 0xE000000000000000}, //TP Chiplet // TODO - more tests }; diff --git a/src/usr/xscom/test/xscomtest.H b/src/usr/xscom/test/xscomtest.H index b350c4e41..f18cc331d 100644 --- a/src/usr/xscom/test/xscomtest.H +++ b/src/usr/xscom/test/xscomtest.H @@ -50,9 +50,10 @@ struct testXscomAddrData const testXscomAddrData g_xscomAddrTable[] = { // Write data to be ORed with read value - //@TODO via RTC: 60769 -- base addr on master core - {0x15013288, 0x0000040000000000}, - {0x15010002, 0xC000000000000000}, + // Use PORE_GPE0_SCRATCH1_0x0006000B and PORE_GPE0_SCRATCH2_0x0006000C + // Scom registers for testing + {0x0006000B, 0x0000040000000000}, + {0x0006000C, 0xC000000000000000}, }; const uint32_t g_xscomAddrTableSz = sizeof(g_xscomAddrTable)/sizeof(testXscomAddrData); |