summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/fapiTestHwp.C
diff options
context:
space:
mode:
authorCamVan Nguyen <ctnguyen@us.ibm.com>2011-11-02 10:25:41 -0500
committerAndrew J. Geissler <andrewg@us.ibm.com>2011-11-02 10:53:51 -0500
commitb72ee9b1f333be7847d694bfa2c5fbafa2e4c487 (patch)
tree14868c0c6d98653b6669961fba660f2238609969 /src/usr/hwpf/hwp/fapiTestHwp.C
parenta9546cd1f115920da46cc485762e643f93c1fffc (diff)
downloadtalos-hostboot-b72ee9b1f333be7847d694bfa2c5fbafa2e4c487.tar.gz
talos-hostboot-b72ee9b1f333be7847d694bfa2c5fbafa2e4c487.zip
Updated hwpExecInitFile test case in hwpInitialTest
Added unit test for hwpExecInitFile Trace initfile version Change-Id: I5ff2ba7d5977a157a47f5f59252b52e17bf69d2f Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/476 Tested-by: Jenkins Server Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp/fapiTestHwp.C')
-rw-r--r--src/usr/hwpf/hwp/fapiTestHwp.C198
1 files changed, 3 insertions, 195 deletions
diff --git a/src/usr/hwpf/hwp/fapiTestHwp.C b/src/usr/hwpf/hwp/fapiTestHwp.C
index 3a340f9fa..bedec2702 100644
--- a/src/usr/hwpf/hwp/fapiTestHwp.C
+++ b/src/usr/hwpf/hwp/fapiTestHwp.C
@@ -274,208 +274,16 @@ fapi::ReturnCode hwpInitialTest(const fapi::Target & i_chip)
// 9. hwpExecInitFile test
// --------------------------------------------------------
- l_rc = testExecInitFile(i_chip);
- if (l_rc != fapi::FAPI_RC_SUCCESS)
- {
- FAPI_ERR("hwpInitialTest: Error from testExecInitFile");
- break;
- }
- else
- {
- FAPI_INF("hwpInitialTest: Test testExecInitFile passed");
- }
-
- } while (0);
-
- return l_rc;
-}
-
-
-//******************************************************************************
-// testExecInitFile function - function to test sample initfile
-//******************************************************************************
-fapi::ReturnCode testExecInitFile(const fapi::Target & i_chip)
-{
- typedef struct ifScom {
- uint64_t addr;
- uint64_t origData;
- uint64_t writtenData;
- }ifScom_t;
-
- //Note: this data is based on the sample.initfile.
- //If the initfile changes, this data will also need to be changed.
- ifScom_t l_ifScomData[] =
- {
- {0x000000000006002b, 0, 0x0000000000000183},
- {0x000000000006002c, 0, 0x0000000000000183},
- {0x000000000006800b, 0, 0},
- {0x000000000006800c, 0, 0x8000000000000000 >> 0x17},
- {0x0000000013010002, 0, 0x0000000000000181},
- {0x0000000013013283, 0, 0x3c90000000000000 |
- 0x8000000000000000 >> 0x0c |
- 0x8000000000000000 >> 0x0d |
- 0x0306400412000000 >> 0x0e},
- {0x0000000013013284, 0, 0x3c90000000000000},
- {0x0000000013013285, 0, 0x8000000000000000 >> 0x0f |
- 0x8000000000000000 >> 0x10 |
- 0x8000000000000000 >> 0x13 |
- 0x0306400412000000 >> 0x15 },
- {0x0000000013013286, 0, 0},
- {0x0000000013013287, 0, 0x0000000000000182},
- {0x0000000013013288, 0, 0x0000000000000192},
- {0x0000000013013289, 0, 0x8000000000000000 >> 0x17},
- {0x0000000013030007, 0, 0x0000000000000182}
- };
-
- fapi::ReturnCode l_rc = fapi::FAPI_RC_SUCCESS;
- uint32_t l_ecmdRc = ECMD_DBUF_SUCCESS;
- ecmdDataBufferBase l_ScomData(64);
-
- do {
- // Set up some attributes for testing
- uint8_t l_uint8 = 1;
- l_rc = FAPI_ATTR_SET(ATTR_SCRATCH_UINT8_1, NULL, l_uint8);
- if (l_rc != fapi::FAPI_RC_SUCCESS)
- {
- FAPI_ERR("hwpInitialTest: testExecInitFile: "
- "ATTR_SCRATCH_UINT8_1. Error from SET");
- break;
- }
-
- l_rc = FAPI_ATTR_SET(ATTR_SCRATCH_UINT8_2, NULL, l_uint8);
- if (l_rc != fapi::FAPI_RC_SUCCESS)
- {
- FAPI_ERR("hwpInitialTest: testExecInitFile: "
- "ATTR_SCRATCH_UINT8_2. Error from SET");
- break;
- }
-
- uint32_t l_uint32 = 3;
- l_rc = FAPI_ATTR_SET(ATTR_SCRATCH_UINT32_1, NULL, l_uint32);
- if (l_rc != fapi::FAPI_RC_SUCCESS)
- {
- FAPI_ERR("hwpInitialTest: testExecInitFile: "
- "ATTR_SCRATCH_UINT32_1. Error from SET");
- break;
- }
-
- uint64_t l_uint64 = 2;
- l_rc = FAPI_ATTR_SET(ATTR_SCRATCH_UINT64_1, NULL, l_uint64);
- if (l_rc != fapi::FAPI_RC_SUCCESS)
- {
- FAPI_ERR("hwpInitialTest: testExecInitFile: "
- "ATTR_SCRATCH_UINT64_1. Error from SET");
- break;
- }
-
- uint8_t l_uint8array1[32];
- l_uint8array1[2] = 1;
- l_rc = FAPI_ATTR_SET(ATTR_SCRATCH_UINT8_ARRAY_1, NULL, l_uint8array1);
- if (l_rc != fapi::FAPI_RC_SUCCESS)
- {
- FAPI_ERR("hwpInitialTest: testExecInitFile: "
- "ATTR_SCRATCH_UINT8_ARRAY_1. Error from SET");
- break;
- }
-
- // Save original scom data to restore at end of test
- for (uint32_t i = 0; i < sizeof(l_ifScomData)/sizeof(ifScom_t); i++)
- {
- l_rc = fapiGetScom(i_chip, l_ifScomData[i].addr, l_ScomData);
- if (l_rc != fapi::FAPI_RC_SUCCESS)
- {
- FAPI_ERR("hwpInitialTest: testExecInitFile: Error from "
- "fapiGetScom");
- break;
- }
-
- l_ifScomData[i].origData = l_ScomData.getDoubleWord(0);
- }
-
- if (l_rc != fapi::FAPI_RC_SUCCESS)
- {
- break;
- }
-
- // Set scom data to 0 to start from known state for bit ops
- l_ScomData.setDoubleWord(0, 0ll);
- for (uint32_t i = 0; i < sizeof(l_ifScomData)/sizeof(ifScom_t); i++)
- {
- l_rc = fapiPutScom(i_chip, l_ifScomData[i].addr, l_ScomData);
- if (l_rc != fapi::FAPI_RC_SUCCESS)
- {
- FAPI_ERR("hwpInitialTest: testExecInitFile: Error from "
- "fapiPutScom");
- break;
- }
- }
-
- if (l_rc != fapi::FAPI_RC_SUCCESS)
- {
- break;
- }
-
- //Call Hwp to execute the initfile
+ //Call Hwp to execute the sample initfile
FAPI_EXEC_HWP(l_rc, hwpExecInitFile, i_chip, "sample.if");
-
if (l_rc != fapi::FAPI_RC_SUCCESS)
{
FAPI_ERR("hwpInitialTest: Error from hwpExecInitFile");
break;
}
-
- //Verify the data written
- for (uint32_t i = 0; i < sizeof(l_ifScomData)/sizeof(ifScom_t); i++)
- {
- l_rc = fapiGetScom(i_chip, l_ifScomData[i].addr, l_ScomData);
- if (l_rc != fapi::FAPI_RC_SUCCESS)
- {
- FAPI_ERR("hwpInitialTest: testExecInitFile: Error from "
- "fapiGetScom");
- break;
- }
-
- if (l_ScomData.getDoubleWord(0) != l_ifScomData[i].writtenData)
- {
- FAPI_ERR("hwpInitialTest: testExecInitFile: GetScom addr "
- "0x%.16llX data read 0x%.16llX data expected 0x%.16llX",
- l_ifScomData[i].addr, l_ScomData.getDoubleWord(0),
- l_ifScomData[i].writtenData);
- l_rc = fapi::RC_HWP_EXEC_INITFILE_TEST_FAILED;
- break;
- }
- }
-
- if (l_rc != fapi::FAPI_RC_SUCCESS)
- {
- break;
- }
-
- // Restore the original Scom data
- for (uint32_t i = 0; i < sizeof(l_ifScomData)/sizeof(ifScom_t); i++)
- {
- l_ecmdRc = l_ScomData.setDoubleWord(0, l_ifScomData[i].origData);
- if (l_ecmdRc != ECMD_DBUF_SUCCESS)
- {
- FAPI_ERR("hwpInitialTest: testExecInitFile: fapiPutScom to "
- "restore, error from ecmdDataBuffer setDoubleWord() - "
- "rc 0x%.8X", l_ecmdRc);
- l_rc = l_ecmdRc;
- break;
- }
-
- l_rc = fapiPutScom(i_chip, l_ifScomData[i].addr, l_ScomData);
- if (l_rc != fapi::FAPI_RC_SUCCESS)
- {
- FAPI_ERR("hwpInitialTest: testExecInitFile: Error from "
- "fapiGetScom");
- break;
- }
- }
-
- if (l_rc != fapi::FAPI_RC_SUCCESS)
+ else
{
- break;
+ FAPI_INF("hwpInitialTest: hwpExecInitFile passed");
}
} while (0);
OpenPOWER on IntegriCloud