summaryrefslogtreecommitdiffstats
path: root/src/usr/intr/test
diff options
context:
space:
mode:
authorBill Hoffa <wghoffa@us.ibm.com>2015-10-15 13:59:58 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-03-30 16:24:17 -0400
commit6b5097872a33a20d4c03f995ca8f1585b9e43e53 (patch)
treeb97d48402b8e54b14d1ce554191bbeb78890d09c /src/usr/intr/test
parent550f30129f455317e65610cd90e9d06b2018e4c1 (diff)
downloadtalos-hostboot-6b5097872a33a20d4c03f995ca8f1585b9e43e53.tar.gz
talos-hostboot-6b5097872a33a20d4c03f995ca8f1585b9e43e53.zip
P9 PSIHB Base Interrupt Support
This change includes the following: - Kernel Updates to handle hypervisor interrupt vector - Interrupt Resource Provider changes to setup and handle LSI Based interrupts - Kernel updates to handle modified interrupt flow for LSI Based interrupts - Attribute updates for Scom BAR Registers Change-Id: If63f246a0090ab8c81c3fa8ac3ab6871a0af2e31 RTC:137561 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/20692 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/intr/test')
-rw-r--r--src/usr/intr/test/intrtest.H33
1 files changed, 28 insertions, 5 deletions
diff --git a/src/usr/intr/test/intrtest.H b/src/usr/intr/test/intrtest.H
index 320f38a12..a1d6ee3bd 100644
--- a/src/usr/intr/test/intrtest.H
+++ b/src/usr/intr/test/intrtest.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2011,2014 */
+/* Contributors Listed Below - COPYRIGHT 2011,2016 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -49,7 +51,7 @@ class IntrTest: public CxxTest::TestSuite
*/
void test_verifyState( void )
{
-
+/* TODO RTC 150260
uint32_t * addr = reinterpret_cast<uint32_t *>(iv_masterAddr);
if(*addr != 0xFF000000) // XIRR ro reg
@@ -95,6 +97,7 @@ class IntrTest: public CxxTest::TestSuite
}
// Potentially could check all link registers on other chips
+**/
}
/**
@@ -103,6 +106,7 @@ class IntrTest: public CxxTest::TestSuite
void test_enableDisable( void )
{
+/* TODO RTC 150260
uint32_t * addr = reinterpret_cast<uint32_t *>(iv_masterAddr);
errlHndl_t err = INTR::disableExternalInterrupts();
@@ -133,6 +137,7 @@ class IntrTest: public CxxTest::TestSuite
{
TS_FAIL("INTR not enabled. Addr %p", addr);
}
+**/
}
// This checks the enablePsiIntr. Even though the master proc
@@ -141,6 +146,7 @@ class IntrTest: public CxxTest::TestSuite
// to test with.
void test_enablePsi( void )
{
+/* TODO RTC 150260
errlHndl_t err = NULL;
if( TARGETING::is_vpo() )
{
@@ -156,10 +162,12 @@ class IntrTest: public CxxTest::TestSuite
TS_FAIL("Errl from INTER::enablePsiIntr");
errlCommit(err,INTR_COMP_ID);
}
+**/
}
void test_mpipl_node_data( void )
{
+/* TODO RTC 150260
errlHndl_t err = NULL;
for(uint64_t hb_node = 0; hb_node < MAX_NODES_PER_SYS; ++hb_node)
{
@@ -221,16 +229,24 @@ class IntrTest: public CxxTest::TestSuite
{
TS_FAIL("INTR Could not map memory of NODE_DATA_AREA");
}
-
+**/
}
IntrTest() : CxxTest::TestSuite()
{
+/* TODO RTC 150260
+ TARGETING::Target* procTarget = NULL;
+ TARGETING::targetService().masterProcChipTargetHandle( procTarget );
+ // Set the Interrupt BAR Scom Registers
+ l_err = setInterruptBARs(procTarget);
+
iv_baseAddr = reinterpret_cast<uint64_t>
(mmio_dev_map(reinterpret_cast<void*>(cv_realAddr),THIRTYTWO_MB));
- TRACDCOMP(g_trac_intr,"IntrTest()> iv_baseAddr=0x%.X",iv_baseAddr);
+ TRACFCOMP(g_trac_intr,"IntrTest()> iv_baseAddr=0x%.X",iv_baseAddr);
+
+
task_affinity_pin(); // pin this task to current cpu
task_affinity_migrate_to_master(); // Move to the master cpu
@@ -238,7 +254,7 @@ class IntrTest: public CxxTest::TestSuite
// Get the master cpu id, thread 0
iv_masterPIR = task_getcpuid();
- TRACDCOMP(g_trac_intr,"IntrTest()> iv_masterPIR=0x%.X",iv_masterPIR);
+ TRACFCOMP(g_trac_intr,"IntrTest()> iv_masterPIR=0x%.X",iv_masterPIR);
iv_masterPIR &= 0xFFFFFFF8;
@@ -246,24 +262,31 @@ class IntrTest: public CxxTest::TestSuite
iv_masterAddr = InterruptMsgHdlr::mmio_offset(iv_masterPIR) + iv_baseAddr;
+**/
};
~IntrTest()
{
+/* TODO RTC 150260
mmio_dev_unmap(reinterpret_cast<void*>(iv_baseAddr));
+**/
};
private:
+/* TODO RTC 150260
uint64_t iv_baseAddr;
uint64_t iv_masterAddr;
cpuid_t iv_masterPIR;
static const uint64_t cv_realAddr;
+**/
};
+/* TODO RTC 150260
//note: this must be changed if the BAR changes
const uint64_t IntrTest::cv_realAddr = 0x3ffff80000000ul;
+**/
OpenPOWER on IntegriCloud