diff options
| -rwxr-xr-x | src/usr/diag/prdf/test/makefile | 8 | ||||
| -rwxr-xr-x | src/usr/diag/prdf/test/prdfTest.H | 120 | ||||
| -rw-r--r-- | src/usr/diag/prdf/test/prdfTest_ABus.H | 86 | ||||
| -rw-r--r-- | src/usr/diag/prdf/test/prdfTest_Ex.H | 86 | ||||
| -rw-r--r-- | src/usr/diag/prdf/test/prdfTest_Mba.H | 107 | ||||
| -rw-r--r-- | src/usr/diag/prdf/test/prdfTest_Mcs.H | 109 | ||||
| -rw-r--r-- | src/usr/diag/prdf/test/prdfTest_Proc.H | 88 | ||||
| -rw-r--r-- | src/usr/diag/prdf/test/prdfTest_XBus.H | 87 | ||||
| -rwxr-xr-x | src/usr/diag/prdf/test/prdfsimMacros.H | 2 | ||||
| -rwxr-xr-x | src/usr/diag/prdf/test/prdfsimServices.C | 16 | ||||
| -rwxr-xr-x | src/usr/diag/prdf/test/prdfsimServices.H | 6 | ||||
| -rwxr-xr-x | src/usr/diag/prdf/test/prdsimSignatureParser.C | 5 | ||||
| -rwxr-xr-x | src/usr/diag/prdf/test/prdsimSignatureParser.H | 2 | 
13 files changed, 589 insertions, 133 deletions
diff --git a/src/usr/diag/prdf/test/makefile b/src/usr/diag/prdf/test/makefile index fff6b4852..53e894b1b 100755 --- a/src/usr/diag/prdf/test/makefile +++ b/src/usr/diag/prdf/test/makefile @@ -58,8 +58,14 @@ EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/hwp  OBJS = prdfsimHomRegisterAccess.o  prdfsim_ras_services.o  prdfsimScrDataSet.o  prdfsimScrDB.o  prdfsimServices.o  prdsimSignatureParser.o prdfsimUtil.o +TESTS = prdfTest_ABus.H \ +        prdfTest_Ex.H  \ +        prdfTest.H  \ +        prdfTest_Mba.H  \ +        prdfTest_Mcs.H  \ +        prdfTest_Proc.H  \ +        prdfTest_XBus.H -TESTS = *.H  include ${ROOTPATH}/config.mk diff --git a/src/usr/diag/prdf/test/prdfTest.H b/src/usr/diag/prdf/test/prdfTest.H index c2011df58..ad0dc01c5 100755 --- a/src/usr/diag/prdf/test/prdfTest.H +++ b/src/usr/diag/prdf/test/prdfTest.H @@ -43,131 +43,13 @@  #include <prdfTrace.H>  #include <prdfMain.H>  #include "prdfsimMacros.H" -#include <targeting/common/targetservice.H> -#include <prdfPlatServices.H>  class prdfTest: public CxxTest::TestSuite  {    public: -    void testPrdMain(void) -    { -        using namespace PRDF; -        TS_TRACE(ENTER_MRK "testPrdMain()"); -        PRDF_ENTER( "testPrdMain()" ); - -        // --------------------------------- -/* -        PRDS_BEGIN("Maintenance Command Complete Special Attention"); - -        PRDS_ERROR_ENTRY("NODE{0}:MEMBUF{0}", SPECIAL); - -        // ( 0x9e8b0000, "MBASPA[0]", "MBSPAQ_COMMAND_COMPLETE_WO_ENA_ERR_ATTN" ) -//        PRDS_EXPECTED_SIGNATURE("NODE{0}:PROC{0}:MCS{4}:MEMBUF{0}:MBS{0}:MBA{0}", 0x9e8b0000); -        PRDS_EXPECTED_SIGNATURE("NODE{0}:MEMBUF{0}:MBS{0}:MBA{0}", 0x9e8b0000); -//        PRDS_EXPECTED_CALLOUT(NONE); - -        // GLOBAL_SPA -        PRDS_SCR_WRITE("NODE{0}:MEMBUF{0}", 0x570F001A, 0x1000000000000000); - -        // MEM_CHIPLET_SPA -        PRDS_SCR_WRITE("NODE{0}:MEMBUF{0}", 0x03040004, 0x8000000000000000); - -        // MBASPA -        PRDS_SCR_WRITE("NODE{0}:MEMBUF{0}:MBS{0}:MBA{0}", 0x03010611, 0x8000000000000000); - -        PRDS_START_SIM(); - -        PRDS_END(); -*/ -        // --------------------------------- -/* -        PRDS_BEGIN("PB Centaur Overflow Special attention"); - -        PRDS_ERROR_ENTRY("NODE{0}:PROC{0}", SPECIAL); - -        // ( 0x42410001, "PBCENTFIR[1]", "PB_CENT_OVERFLOW_ERROR" ) -        PRDS_EXPECTED_SIGNATURE("NODE{0}:PROC{0}", 0x42410001); -//        PRDS_EXPECTED_CALLOUT(NONE); - -        // GLOBAL_SPA -        PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x570F001A, 0x2000000000000000); - -        // PB_CHIPLET_SPA -        PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x02040004, 0x8000000000000000); - -        // PBCENTFIR -        PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x02010c40, 0x4000000000000000); - -        // PBCENTFIR_ACT0 -        PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x02010c46, 0xFFFFFFFFFFFFFFFF); - -        PRDS_START_SIM(); - -        PRDS_END(); -*/ - -        // --------------------------------- - -        PRDS_BEGIN("OCC FW2 recoverable attention"); - -        PRDS_ERROR_ENTRY("NODE{0}:PROC{0}", RECOVERABLE); - -        // ( 0x6c290002, "OCCFIR[2]", "OCC_SCOM_OCCFIR_OCC_FW2" ) -        PRDS_EXPECTED_SIGNATURE("NODE{0}:PROC{0}", 0x6c290002); -//        PRDS_EXPECTED_CALLOUT(NONE); - -        // GLOBAL_RE_FIR -        PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x570F001B, 0x4000000000000000); - -        // TP_CHIPLET_RE_FIR -        PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x01040001, 0x2000000000000000); - -        // OCCFIR -        PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x01010800, 0x2000000000000000); - -        // OCCFIR_ACT1 -        PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x01010807, 0xFFFFFFFFFFFFFFFF); - -        PRDS_START_SIM(); - -        PRDS_END(); - -        // --------------------------------- -/* -        PRDS_BEGIN("MCSI recoverable attention"); - -        PRDS_ERROR_ENTRY("NODE{0}:PROC{0}", RECOVERABLE); - -        //( 0xde310007, "MCIFIR[7]", "MCIFIRQ_MCI_CHINIT_STATE_MACHINE_TIMEOUT" ) -        PRDS_EXPECTED_SIGNATURE("NODE{0}:PROC{0}:MCS{4}", 0xde310007); -//        PRDS_EXPECTED_CALLOUT(NONE); - -        // GLOBAL_RE_FIR -        PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x570F001B, 0x4000000000000000); - -        // TP_CHIPLET_RE_FIR[5] Attention from MCIFIR (MCS 4) -        PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x01040001, 0x0100000000000000); - -        // MCIFIR[7]: MCIFIRQ_MCI_CHINIT_STATE_MACHINE_TIMEOUT -        PRDS_SCR_WRITE("NODE{0}:PROC{0}:MCS{4}", 0x02011840, 0x0100000000000000); - -        // MCIFIR_ACT1 -        PRDS_SCR_WRITE("NODE{0}:PROC{0}:MCS{4}", 0x02011847, 0xFFFFFFFFFFFFFFFF); - -        PRDS_START_SIM(); - -        PRDS_END(); -*/ -        // --------------------------------- - -        PRDF_EXIT( "testPrdMain()" ); -        TS_TRACE(EXIT_MRK "testPrdMain()"); -    } -      void testPrdIplCleanup(void)      { -        using namespace PRDF;          TS_TRACE(ENTER_MRK "testPrdIplCleanup()");          PRDF_ENTER( "testPrdIplCleanup()" ); @@ -176,8 +58,6 @@ class prdfTest: public CxxTest::TestSuite          PRDF_EXIT( "testPrdIplCleanup()" );          TS_TRACE(EXIT_MRK "testPrdIplCleanup()");      } -  }; -  #endif diff --git a/src/usr/diag/prdf/test/prdfTest_ABus.H b/src/usr/diag/prdf/test/prdfTest_ABus.H new file mode 100644 index 000000000..c2885207c --- /dev/null +++ b/src/usr/diag/prdf/test/prdfTest_ABus.H @@ -0,0 +1,86 @@ +/* IBM_PROLOG_BEGIN_TAG                                                   */ +/* This is an automatically generated prolog.                             */ +/*                                                                        */ +/* $Source: src/usr/diag/prdf/test/prdfTest_ABus.H $                      */ +/*                                                                        */ +/* IBM CONFIDENTIAL                                                       */ +/*                                                                        */ +/* COPYRIGHT International Business Machines Corp. 2012,2013              */ +/*                                                                        */ +/* p1                                                                     */ +/*                                                                        */ +/* Object Code Only (OCO) source materials                                */ +/* Licensed Internal Code Source Materials                                */ +/* IBM HostBoot Licensed Internal Code                                    */ +/*                                                                        */ +/* The source code for this program is not published or otherwise         */ +/* divested of its trade secrets, irrespective of what has been           */ +/* deposited with the U.S. Copyright Office.                              */ +/*                                                                        */ +/* Origin: 30                                                             */ +/*                                                                        */ +/* IBM_PROLOG_END_TAG                                                     */ +#ifndef __TEST_PRDFABUSTEST_H +#define __TEST_PRDFABUSTEST_H + +#ifdef __HOSTBOOT_MODULE +  #include <cxxtest/TestSuite.H> +  #include <errl/errlentry.H> +  #include <errl/errlmanager.H> +#else +  #include <cxxtest/TestSuite.h> +  #include <fsp/FipsGlobalFixture.H> +  #include <errlentry.H> +#endif + +#include <prdfTrace.H> +#include <prdfMain.H> +#include "prdfsimMacros.H" + +class PBESFIR:public CxxTest::TestSuite +{ +    public: + +        void TestRecoverable(void) +        { +            PRDS_BEGIN("PBESFIR Recoverable attention"); +            PRDS_ERROR_ENTRY("NODE{0}:PROC{0}", PRDF::RECOVERABLE); +            PRDS_EXPECTED_SIGNATURE("NODE{0}:PROC{0}", 0xa0570000); +            // GLOBAL_RE_FIR set bit 8 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x570F001B , 0x0080000000000000); +            // ABUS_CHIPLET_RE_FIR set bit 2 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x08040001, 0x2000000000000000); +            // set bit 0 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x08010800, 0x8000000000000000); +            // ACT1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x08010807, 0xFFFFFFFFFFFFFFFF); +            PRDS_START_SIM(); +            if(!(PRDS_END())) +            { +                TS_FAIL("Expected Signature Failed PBESFIR Recoverable attention"); +            } +        } + +        void TestCheckstop(void) +        { +            /* +            PRDS_BEGIN("PBESFIR Checkstop attention"); +            PRDS_ERROR_ENTRY("NODE{0}:PROC{0}", PRDF::CHECK_STOP); +            PRDS_EXPECTED_SIGNATURE("NODE{0}:PROC{0}:ABUS{1}", 0xa0570003); +            // GLOBAL_RE_FIR set bit 8 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x570F001C , 0x0080000000000000); +            // ABUS_CHIPLET_RE_FIR set bit 4 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:ABUS{1}", 0x08040000, 0x0800000000000000); +            // set bit 3 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:ABUS{1}", 0x08010800, 0x1000000000000000); +            // ACT1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:ABUS{1}", 0x08010807, 0x0000000000000000); +            PRDS_START_SIM(); +            if(!(PRDS_END())) +            { +                TS_FAIL("Expected Signature Failed PBESFIR Checkstop attention"); +            } +            */ +        } +}; +#endif diff --git a/src/usr/diag/prdf/test/prdfTest_Ex.H b/src/usr/diag/prdf/test/prdfTest_Ex.H new file mode 100644 index 000000000..191fdf8d6 --- /dev/null +++ b/src/usr/diag/prdf/test/prdfTest_Ex.H @@ -0,0 +1,86 @@ +/* IBM_PROLOG_BEGIN_TAG                                                   */ +/* This is an automatically generated prolog.                             */ +/*                                                                        */ +/* $Source: src/usr/diag/prdf/test/prdfTest_Ex.H $                        */ +/*                                                                        */ +/* IBM CONFIDENTIAL                                                       */ +/*                                                                        */ +/* COPYRIGHT International Business Machines Corp. 2012,2013              */ +/*                                                                        */ +/* p1                                                                     */ +/*                                                                        */ +/* Object Code Only (OCO) source materials                                */ +/* Licensed Internal Code Source Materials                                */ +/* IBM HostBoot Licensed Internal Code                                    */ +/*                                                                        */ +/* The source code for this program is not published or otherwise         */ +/* divested of its trade secrets, irrespective of what has been           */ +/* deposited with the U.S. Copyright Office.                              */ +/*                                                                        */ +/* Origin: 30                                                             */ +/*                                                                        */ +/* IBM_PROLOG_END_TAG                                                     */ +#ifndef __TEST_PRDFEXTEST_H +#define __TEST_PRDFEXTEST_H + +#ifdef __HOSTBOOT_MODULE +  #include <cxxtest/TestSuite.H> +  #include <errl/errlentry.H> +  #include <errl/errlmanager.H> +#else +  #include <cxxtest/TestSuite.h> +  #include <fsp/FipsGlobalFixture.H> +  #include <errlentry.H> +#endif + +#include <prdfTrace.H> +#include <prdfMain.H> +#include "prdfsimMacros.H" + +class ExLFIR:public CxxTest::TestSuite +{ +    public: + +        void TestRecoverable(void) +        { +            PRDS_BEGIN("EXLFIR recoverable attention"); +            PRDS_ERROR_ENTRY("NODE{0}:PROC{0}", PRDF::RECOVERABLE); +            PRDS_EXPECTED_SIGNATURE("NODE{0}:PROC{0}:EX{5}", 0xb53a0007); +            // GLOBAL_RE_FIR set bit 21 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x570F001B, 0x0000040000000000); +            // EX_CHIPLET_RE_FIR[1] Attention from EXLFIR +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:EX{5}", 0x10040001, 0x4000000000000000); +            // set EXLFIR[7] +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:EX{5}", 0x1004000a, 0x0100000000000000); +            // EXLFIR_ACT1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:EX{5}", 0x10040011, 0xFFFFFFFFFFFFFFFF); +            PRDS_START_SIM(); +            if(!(PRDS_END())) +            { +                TS_FAIL("Expected Signature Failed EXLFIR recoverable attention"); +            } +        } + +        void TestCheckstop(void) +        { +           /* +            PRDS_BEGIN("EXLFIR Checkstop attention"); +            PRDS_ERROR_ENTRY("NODE{0}:PROC{0}", PRDF::CHECK_STOP); +            PRDS_EXPECTED_SIGNATURE("NODE{0}:PROC{0}:EX{5}", 0xb53a0003); +            // GLOBAL_RE_FIR bit 21 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x570F001C, 0x0000040000000000); +            // EX_CHIPLET_CS_FIR[3] Attention from EXLFIR +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:EX{5}", 0x10040000, 0x1000000000000000); +            // set EXLFIR[3] +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:EX{5}", 0x1004000a, 0x1000000000000000); +            // EXLFIR_ACT1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:EX{5}", 0x10040011, 0x0000000000000000); +            PRDS_START_SIM(); +            if(!(PRDS_END())) +            { +                TS_FAIL("Expected Signature Failed EXLFIR Checkstop attention"); +            } +            */ +        } +}; +#endif diff --git a/src/usr/diag/prdf/test/prdfTest_Mba.H b/src/usr/diag/prdf/test/prdfTest_Mba.H new file mode 100644 index 000000000..0cbcccf76 --- /dev/null +++ b/src/usr/diag/prdf/test/prdfTest_Mba.H @@ -0,0 +1,107 @@ +/* IBM_PROLOG_BEGIN_TAG                                                   */ +/* This is an automatically generated prolog.                             */ +/*                                                                        */ +/* $Source: src/usr/diag/prdf/test/prdfTest_Mba.H $                       */ +/*                                                                        */ +/* IBM CONFIDENTIAL                                                       */ +/*                                                                        */ +/* COPYRIGHT International Business Machines Corp. 2012,2013              */ +/*                                                                        */ +/* p1                                                                     */ +/*                                                                        */ +/* Object Code Only (OCO) source materials                                */ +/* Licensed Internal Code Source Materials                                */ +/* IBM HostBoot Licensed Internal Code                                    */ +/*                                                                        */ +/* The source code for this program is not published or otherwise         */ +/* divested of its trade secrets, irrespective of what has been           */ +/* deposited with the U.S. Copyright Office.                              */ +/*                                                                        */ +/* Origin: 30                                                             */ +/*                                                                        */ +/* IBM_PROLOG_END_TAG                                                     */ +#ifndef __TEST_PRDFMBATEST_H +#define __TEST_PRDFMBATEST_H + +#ifdef __HOSTBOOT_MODULE +  #include <cxxtest/TestSuite.H> +  #include <errl/errlentry.H> +  #include <errl/errlmanager.H> +#else +  #include <cxxtest/TestSuite.h> +  #include <fsp/FipsGlobalFixture.H> +  #include <errlentry.H> +#endif + +#include <prdfTrace.H> +#include <prdfMain.H> +#include "prdfsimMacros.H" + +class MBAFIR:public CxxTest::TestSuite +{ +    public: + +        void TestRecoverable(void) +        { +            PRDS_BEGIN("MBAFIR01 recoverable attention"); +            PRDS_ERROR_ENTRY("NODE{0}:MEMBUF{4}", PRDF::RECOVERABLE); +            PRDS_EXPECTED_SIGNATURE("NODE{0}:MEMBUF{4}:MBS{0}:MBA{0}", 0xea280003); +            //        PRDS_EXPECTED_CALLOUT(NONE); +            // GLOBAL_RE_FIR +            PRDS_SCR_WRITE("NODE{0}:MEMBUF{4}", 0x570F001B, 0x1000000000000000); +            // MEM_CHIPLET_RE_FIR[3] Attention from MBAFIR01 +            PRDS_SCR_WRITE("NODE{0}:MEMBUF{4}", 0x03040001, 0x1000000000000000); +            // set MBAFIR01[3] +            PRDS_SCR_WRITE("NODE{0}:MEMBUF{4}:MBS{0}:MBA{0}", 0x03010600, 0x1000000000000000); +            // MBAFIR01_ACT1 +            PRDS_SCR_WRITE("NODE{0}:MEMBUF{4}:MBS{0}:MBA{0}", 0x03010607, 0xFFFFFFFFFFFFFFFF); +            PRDS_START_SIM(); +            if(!(PRDS_END())) +            { +                TS_FAIL("Expected Signature Failed MBAFIR01 recoverable attention"); +            } +        } + +        void TestCheckstop(void) +        { +            /* +            PRDS_BEGIN("MBAFIR01 Checkstop attention"); +            PRDS_ERROR_ENTRY("NODE{0}:MEMBUF{4}", PRDF::CHECK_STOP); +            PRDS_EXPECTED_SIGNATURE("NODE{0}:MEMBUF{4}:MBS{0}:MBA{0}", 0xea280002); +            //        PRDS_EXPECTED_CALLOUT(NONE); +            // GLOBAL_RE_FIR +            PRDS_SCR_WRITE("NODE{0}:MEMBUF{4}", 0x570F001C, 0x1000000000000000); +            // MEM_CHIPLET_CS_FIR[5] Attention from MBAFIR01 +            PRDS_SCR_WRITE("NODE{0}:MEMBUF{4}", 0x03040000, 0x0400000000000000); +            // set MBAFIR01[0] +            PRDS_SCR_WRITE("NODE{0}:MEMBUF{4}:MBS{0}:MBA{0}", 0x03010600, 0x2000000000000000); +            // MBAFIR01_ACT1 +            PRDS_SCR_WRITE("NODE{0}:MEMBUF{4}:MBS{0}:MBA{0}", 0x03010607, 0x0000000000000000); +            PRDS_START_SIM(); +            if(!(PRDS_END())) +            { +                TS_FAIL("Expected Signature Failed MBAFIR01 Checkstop attention"); +            } +            */ +        } + +        void TestSpecialAttention(void) +        { +            PRDS_BEGIN("MBAFIR01 Special attention"); +            PRDS_ERROR_ENTRY("NODE{0}:MEMBUF{4}", PRDF::SPECIAL); +            PRDS_EXPECTED_SIGNATURE("NODE{0}:MEMBUF{4}:MBS{0}:MBA{0}", 0x9e8b0000); +            //        PRDS_EXPECTED_CALLOUT(NONE); +            // GLOBAL_RE_FIR +            PRDS_SCR_WRITE("NODE{0}:MEMBUF{4}", 0x570F001A, 0x1000000000000000); +            // MEM_CHIPLET_CS_FIR[0] Attention from MBAFIR01 +            PRDS_SCR_WRITE("NODE{0}:MEMBUF{4}", 0x03040004, 0x8000000000000000); +            // set MBAFIR01[0] +            PRDS_SCR_WRITE("NODE{0}:MEMBUF{4}:MBS{0}:MBA{0}", 0x03010611, 0x8000000000000000); +            PRDS_START_SIM(); +            if(!(PRDS_END())) +            { +                TS_FAIL("Expected Signature Failed MBAFIR01 Special attention"); +            } +        } +}; +#endif diff --git a/src/usr/diag/prdf/test/prdfTest_Mcs.H b/src/usr/diag/prdf/test/prdfTest_Mcs.H new file mode 100644 index 000000000..d81eb20e4 --- /dev/null +++ b/src/usr/diag/prdf/test/prdfTest_Mcs.H @@ -0,0 +1,109 @@ +/* IBM_PROLOG_BEGIN_TAG                                                   */ +/* This is an automatically generated prolog.                             */ +/*                                                                        */ +/* $Source: src/usr/diag/prdf/test/prdfTest_Mcs.H $                       */ +/*                                                                        */ +/* IBM CONFIDENTIAL                                                       */ +/*                                                                        */ +/* COPYRIGHT International Business Machines Corp. 2012,2013              */ +/*                                                                        */ +/* p1                                                                     */ +/*                                                                        */ +/* Object Code Only (OCO) source materials                                */ +/* Licensed Internal Code Source Materials                                */ +/* IBM HostBoot Licensed Internal Code                                    */ +/*                                                                        */ +/* The source code for this program is not published or otherwise         */ +/* divested of its trade secrets, irrespective of what has been           */ +/* deposited with the U.S. Copyright Office.                              */ +/*                                                                        */ +/* Origin: 30                                                             */ +/*                                                                        */ +/* IBM_PROLOG_END_TAG                                                     */ +#ifndef __TEST_PRDFMCSFIRTEST_H +#define __TEST_PRDFMCSFIRTEST_H + +#ifdef __HOSTBOOT_MODULE +  #include <cxxtest/TestSuite.H> +  #include <errl/errlentry.H> +  #include <errl/errlmanager.H> +#else +  #include <cxxtest/TestSuite.h> +  #include <fsp/FipsGlobalFixture.H> +  #include <errlentry.H> +#endif + +#include <prdfTrace.H> +#include <prdfMain.H> +#include "prdfsimMacros.H" + +class MCIFIR:public CxxTest::TestSuite +{ +    public: + +        void TestRecoverable(void) +        { +            PRDS_BEGIN("MCI20 Recoverable attention"); +            PRDS_ERROR_ENTRY("NODE{0}:PROC{0}", PRDF::RECOVERABLE); +            PRDS_EXPECTED_SIGNATURE("NODE{0}:PROC{0}:MCS{4}", 0xde310000); +            // GLOBAL_RE_FIR set bit 1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x570F001B , 0x4000000000000000); +            // TP_CHIPLET_RE_FIR set bit 7 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x01040001, 0x0100000000000000); +            // set bit 0 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:MCS{4}", 0x02011840, 0x8000000000000000); +            // ACT1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:MCS{4}", 0x02011847, 0xFFFFFFFFFFFFFFFF); +            PRDS_START_SIM(); +            if(!(PRDS_END())) +            { +                TS_FAIL("Expected Signature Failed MCI20 Recoverable attention"); +            } +        } + +        void TestCheckstop(void) +        { +            /* +            PRDS_BEGIN("MCI20 Checkstop attention"); +            PRDS_ERROR_ENTRY("NODE{0}:PROC{0}", PRDF::CHECK_STOP); +            PRDS_EXPECTED_SIGNATURE("NODE{0}:PROC{0}:MCS{4}", 0xde310003); +            // GLOBAL_RE_FIR set bit 1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x570F001C , 0x4000000000000000); +            // TP_CHIPLET_RE_FIR set bit 9 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x01040000, 0x0080000000000000); +            // set bit 3 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:MCS{4}", 0x02011840, 0x1000000000000000); +            // ACT1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:MCS{4}", 0x02011847, 0x0000000000000000); +            PRDS_START_SIM(); +            if(!(PRDS_END())) +            { +                TS_FAIL("Expected Signature Failed MCI20 Checkstop attention"); +            } +            */ +        } + +        void TestSpecialAttention(void) +        { +            PRDS_BEGIN("MCI20 Special attention"); +            PRDS_ERROR_ENTRY("NODE{0}:PROC{0}", PRDF::SPECIAL); +            PRDS_EXPECTED_SIGNATURE("NODE{0}:PROC{0}:MCS{4}", 0xde310001); +            // GLOBAL_SPA_FIR set bit 1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x570F001A , 0x4000000000000000); +            // TP_CHIPLET_RE_FIR set bit 5 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x01040004, 0x0400000000000000); +            // set bit 1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:MCS{4}", 0x02011840, 0x4000000000000000); +            // ACT1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:MCS{4}", 0x02011846, 0xFFFFFFFFFFFFFFFF); +            PRDS_START_SIM(); +            if(!(PRDS_END())) +            { +                TS_FAIL("Expected Signature Failed MCI20 Special attention"); +            } +        } + +}; + + +#endif diff --git a/src/usr/diag/prdf/test/prdfTest_Proc.H b/src/usr/diag/prdf/test/prdfTest_Proc.H new file mode 100644 index 000000000..55b50af97 --- /dev/null +++ b/src/usr/diag/prdf/test/prdfTest_Proc.H @@ -0,0 +1,88 @@ +/* IBM_PROLOG_BEGIN_TAG                                                   */ +/* This is an automatically generated prolog.                             */ +/*                                                                        */ +/* $Source: src/usr/diag/prdf/test/prdfTest_Proc.H $                      */ +/*                                                                        */ +/* IBM CONFIDENTIAL                                                       */ +/*                                                                        */ +/* COPYRIGHT International Business Machines Corp. 2012,2013              */ +/*                                                                        */ +/* p1                                                                     */ +/*                                                                        */ +/* Object Code Only (OCO) source materials                                */ +/* Licensed Internal Code Source Materials                                */ +/* IBM HostBoot Licensed Internal Code                                    */ +/*                                                                        */ +/* The source code for this program is not published or otherwise         */ +/* divested of its trade secrets, irrespective of what has been           */ +/* deposited with the U.S. Copyright Office.                              */ +/*                                                                        */ +/* Origin: 30                                                             */ +/*                                                                        */ +/* IBM_PROLOG_END_TAG                                                     */ +#ifndef __TEST_PRDFPROCTEST_H +#define __TEST_PRDFPROCTEST_H + +#ifdef __HOSTBOOT_MODULE +  #include <cxxtest/TestSuite.H> +  #include <errl/errlentry.H> +  #include <errl/errlmanager.H> +#else +  #include <cxxtest/TestSuite.h> +  #include <fsp/FipsGlobalFixture.H> +  #include <errlentry.H> +#endif + +#include <stdio.h> +#include <prdfTrace.H> +#include <prdfMain.H> +#include "prdfsimMacros.H" + +class OCCFIR:public CxxTest::TestSuite +{ +    public: + +        void TestRecoverable(void) +        { +            PRDS_BEGIN("OCCFIR recoverable attention"); +            PRDS_ERROR_ENTRY("NODE{0}:PROC{0}", PRDF::RECOVERABLE); +            PRDS_EXPECTED_SIGNATURE("NODE{0}:PROC{0}", 0x6c290000); +            // GLOBAL_RE_FIR set bit 1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}",0x570F001B , 0x4000000000000000); +            // TP_CHIPLET_RE_FIR set bit 2 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x01040001, 0x2000000000000000); +            // set bit 0 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x01010800, 0x8000000000000000); +            // ACT1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x01010807, 0xFFFFFFFFFFFFFFFF); +            PRDS_START_SIM(); +            if(!(PRDS_END())) +            { +                TS_FAIL("Expected Signature Failed OCCFIR recoverable attention"); +            } +        } + +        void  TestCheckStop(void) +        { +            /* +            PRDS_BEGIN("OCCFIR checkstop attention"); +            PRDS_ERROR_ENTRY("NODE{0}:PROC{0}", PRDF::CHECK_STOP); +            PRDS_EXPECTED_SIGNATURE("NODE{0}:PROC{0}", 0x6c290002); +            // GLOBAL_RE_FIR set bit 1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x570F001C , 0x4000000000000000); +            // TP_CHIPLET_RE_FIR set bit 4 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x01040000, 0x0800000000000000); +            //set bit 2 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x01010800, 0x2000000000000000); +            // ACT1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x01010807, 0x0000000000000000); +            PRDS_START_SIM(); +            if(!(PRDS_END())) +            { +                TS_FAIL("Expected Signature Failed OCCFIR checkstop attention"); +            } +            */ +        } + +}; +#endif diff --git a/src/usr/diag/prdf/test/prdfTest_XBus.H b/src/usr/diag/prdf/test/prdfTest_XBus.H new file mode 100644 index 000000000..50738a0b9 --- /dev/null +++ b/src/usr/diag/prdf/test/prdfTest_XBus.H @@ -0,0 +1,87 @@ +/* IBM_PROLOG_BEGIN_TAG                                                   */ +/* This is an automatically generated prolog.                             */ +/*                                                                        */ +/* $Source: src/usr/diag/prdf/test/prdfTest_XBus.H $                      */ +/*                                                                        */ +/* IBM CONFIDENTIAL                                                       */ +/*                                                                        */ +/* COPYRIGHT International Business Machines Corp. 2012,2013              */ +/*                                                                        */ +/* p1                                                                     */ +/*                                                                        */ +/* Object Code Only (OCO) source materials                                */ +/* Licensed Internal Code Source Materials                                */ +/* IBM HostBoot Licensed Internal Code                                    */ +/*                                                                        */ +/* The source code for this program is not published or otherwise         */ +/* divested of its trade secrets, irrespective of what has been           */ +/* deposited with the U.S. Copyright Office.                              */ +/*                                                                        */ +/* Origin: 30                                                             */ +/*                                                                        */ +/* IBM_PROLOG_END_TAG                                                     */ +#ifndef __TEST_PRDFXBUSTEST_H +#define __TEST_PRDFXBUSTEST_H + +#ifdef __HOSTBOOT_MODULE +  #include <cxxtest/TestSuite.H> +  #include <errl/errlentry.H> +  #include <errl/errlmanager.H> +#else +  #include <cxxtest/TestSuite.h> +  #include <fsp/FipsGlobalFixture.H> +  #include <errlentry.H> +#endif + +#include <prdfTrace.H> +#include <prdfMain.H> +#include "prdfsimMacros.H" + +class XBUSFIR:public CxxTest::TestSuite +{ +    public: + +        void TestRecoverable(void) +        { +            PRDS_BEGIN("XBUSFIR Recoverable attention"); +            PRDS_ERROR_ENTRY("NODE{0}:PROC{0}", PRDF::RECOVERABLE); +            PRDS_EXPECTED_SIGNATURE("NODE{0}:PROC{0}", 0xdb010000); +            // GLOBAL_RE_FIR set bit 4 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x570F001B , 0x0800000000000000); +            // XBUS_CHIPLET_RE_FIR set bit 1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x04040001, 0x4000000000000000); +            // set bit 0 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x0404000a, 0x8000000000000000); +            // ACT1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x04040011, 0xFFFFFFFFFFFFFFFF); +            PRDS_START_SIM(); +            if(!(PRDS_END())) +            { +                TS_FAIL("Expected Signature Failed XBUSFIR Recoverable attention"); +            } +        } + + +        void TestCheckstop(void) +        { +            /* +            PRDS_BEGIN("XBUSFIR Checkstop attention"); +            PRDS_ERROR_ENTRY("NODE{0}:PROC{0}", PRDF::CHECK_STOP); +            PRDS_EXPECTED_SIGNATURE("NODE{0}:PROC{0}:XBUS{1}", 0xdb010002); +            // GLOBAL_RE_FIR set bit 4 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}", 0x570F001C , 0x0800000000000000); +            // XBUS_CHIPLET_RE_FIR set bit 3 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:XBUS{1}", 0x04040000, 0x1000000000000000); +            // set bit 2 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:XBUS{1}", 0x0404000a, 0x2000000000000000); +            // ACT1 +            PRDS_SCR_WRITE("NODE{0}:PROC{0}:XBUS{1}", 0x04040011, 0x0000000000000000); +            PRDS_START_SIM(); +            if(!(PRDS_END())) +            { +                TS_FAIL("Expected Signature Failed XBUSFIR Checkstop attention"); +            } +            */ +        } +}; +#endif diff --git a/src/usr/diag/prdf/test/prdfsimMacros.H b/src/usr/diag/prdf/test/prdfsimMacros.H index c0d0b9f6a..6e426adbf 100755 --- a/src/usr/diag/prdf/test/prdfsimMacros.H +++ b/src/usr/diag/prdf/test/prdfsimMacros.H @@ -35,7 +35,7 @@      PRDF::getSimServices().startSim()  #define PRDS_END() \ -    PRDF::getSimServices().endSim() +   PRDF::getSimServices().endSim()  #define PRDS_ERROR_ENTRY(__EPATH__, __ATTNTYPE__) \      PRDF::getSimServices().addAttnEntry(__EPATH__, __ATTNTYPE__) diff --git a/src/usr/diag/prdf/test/prdfsimServices.C b/src/usr/diag/prdf/test/prdfsimServices.C index 5244a1e4c..e475d3da2 100755 --- a/src/usr/diag/prdf/test/prdfsimServices.C +++ b/src/usr/diag/prdf/test/prdfsimServices.C @@ -137,11 +137,13 @@ namespace PRDF          }      } -    void SimServices::endSim() +    bool SimServices::endSim()      { -        summarySig(); +        bool l_testStatus = false; +        l_testStatus = summarySig();          PRDF_TRAC( "SimServices::endSim() Test: %s",                      (iv_testName ? iv_testName : "No Test Name specified")); +        return l_testStatus;      }      void SimServices::addAttnEntry(const char * i_epath, @@ -224,9 +226,15 @@ namespace PRDF          iv_SimSignatureParser->Report(i_chip, i_sig);      } -    void SimServices::summarySig() +    bool SimServices::summarySig()      { -        iv_SimSignatureParser->Summary(); +        return iv_SimSignatureParser->Summary(); +    } + +    void SimServices::setTestName(const char * i_testName) +    { +        reset(); +        iv_testName = i_testName;      }      void SimServices::initTargeting() diff --git a/src/usr/diag/prdf/test/prdfsimServices.H b/src/usr/diag/prdf/test/prdfsimServices.H index 8e07e2ddf..0cce26299 100755 --- a/src/usr/diag/prdf/test/prdfsimServices.H +++ b/src/usr/diag/prdf/test/prdfsimServices.H @@ -47,11 +47,11 @@ class SimServices      void reset(); -    void setTestName(const char * i_testName) { iv_testName = i_testName; } +    void setTestName(const char * i_testName);      void startSim(); -    void endSim(); +    bool endSim();      void addAttnEntry(const char * i_epath, PRDF::ATTENTION_VALUE_TYPE i_attnType); @@ -72,7 +72,7 @@ class SimServices      //void AddSig(TARGETING::EntityPath & i_path, uint32_t i_sig);      void addSig(const char * i_epath, uint32_t i_sig);      void reportSig(uint32_t i_chip, uint32_t i_sig); -    void summarySig(); +    bool summarySig();      // SimSignatureParser functions end --------------      /** diff --git a/src/usr/diag/prdf/test/prdsimSignatureParser.C b/src/usr/diag/prdf/test/prdsimSignatureParser.C index 03e6e0eca..aa2927dd5 100755 --- a/src/usr/diag/prdf/test/prdsimSignatureParser.C +++ b/src/usr/diag/prdf/test/prdsimSignatureParser.C @@ -163,7 +163,7 @@ const char * SimSignatureParser::Description(const Signature & signature)  // -------------------------------------------------------------------- -void SimSignatureParser::Summary(void) +bool SimSignatureParser::Summary(void)  {    PRDF_TRAC("%s", STATUS_BAR);    PRDF_TRAC("%s", SIG_SUM); @@ -175,7 +175,6 @@ void SimSignatureParser::Summary(void)    }    else    { -    passed = false;      int iterations = actualSigList.size();      for(int i = 0; i < iterations; ++i)      { @@ -208,10 +207,10 @@ void SimSignatureParser::Summary(void)                         expectedSigList[i].chip, expectedSigList[i].code);            }        } -    }    PRDF_TRAC("%s", STATUS_BAR); +  return passed;  }  } // End namespace PRDF diff --git a/src/usr/diag/prdf/test/prdsimSignatureParser.H b/src/usr/diag/prdf/test/prdsimSignatureParser.H index db81f15b2..4627f2665 100755 --- a/src/usr/diag/prdf/test/prdsimSignatureParser.H +++ b/src/usr/diag/prdf/test/prdsimSignatureParser.H @@ -53,7 +53,7 @@ public:    // default dtor is ok    void Add(uint32_t i_chip, uint32_t i_sig);    void Report(uint32_t i_chip, uint32_t i_sig); -  void Summary(); +  bool Summary();    class Signature  | 

