diff options
| author | Mark Wenning <wenning@us.ibm.com> | 2012-03-20 11:37:13 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-04-04 13:23:18 -0500 |
| commit | dd7a32e1a27ecac1c8decaa958cbca7ef139c6bc (patch) | |
| tree | 65706898117498bf0c280e772c3e850386b0c378 /src/usr/cxxtest | |
| parent | 36123c3c9911bc6feefc27e17b4285f1079b569f (diff) | |
| download | blackbird-hostboot-dd7a32e1a27ecac1c8decaa958cbca7ef139c6bc.tar.gz blackbird-hostboot-dd7a32e1a27ecac1c8decaa958cbca7ef139c6bc.zip | |
Refactor InitService
Finish join() conversion, remove TaskArgs
Cleanup Initservice
Cleanup ExtInitService
Cleanup IStepDisp
Add SPLess Halt & Shutdown command.
Implements code for Tasks 35508, 3855, 36929 and 38870 .
RTC: 38196
Change-Id: I554655412b529ef6cd143fea361a39bd584d18b5
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/794
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/cxxtest')
| -rw-r--r-- | src/usr/cxxtest/cxxtestexec.C | 29 | ||||
| -rwxr-xr-x | src/usr/cxxtest/cxxtestgen.pl | 2 |
2 files changed, 17 insertions, 14 deletions
diff --git a/src/usr/cxxtest/cxxtestexec.C b/src/usr/cxxtest/cxxtestexec.C index d78b99205..664d0ec0f 100644 --- a/src/usr/cxxtest/cxxtestexec.C +++ b/src/usr/cxxtest/cxxtestexec.C @@ -40,30 +40,35 @@ namespace CxxTest } // namespace -using namespace INITSERVICE; +// prototype +void cxxinit( errlHndl_t &io_taskRetErrl ); + trace_desc_t *g_trac_cxxtest = NULL; TRAC_INIT(&g_trac_cxxtest, CXXTEST_COMP_NAME, 1024 ); /** - * @brief _start() for CxxTest + * _start entry point for this task. + */ +TASK_ENTRY_MACRO( cxxinit ); + + +/** + * @brief init() for CxxTest * Iterate through all modules in the VFS named "libtest*" and create * children tasks to execute them. * - * * @parms[in,out] - pointer to TaskArgs struct + * * @parms[in,out] - pointer to any args * */ -extern "C" -void _start(void *io_pArgs) + +void cxxinit( errlHndl_t &io_taskRetErrl ) { errlHndl_t l_errl = NULL; std::vector<const char *> module_list; std::vector<tid_t> tasks; tid_t tidrc = 0; - INITSERVICE::TaskArgs *pTaskArgs = - static_cast<INITSERVICE::TaskArgs *>( io_pArgs ); - // output a blank line so that it's easier to find the beginning of // CxxTest @@ -142,10 +147,8 @@ void _start(void *io_pArgs) TRACFCOMP( g_trac_cxxtest, " trace calls: %d", CxxTest::g_TraceCalls ); - // dump out an informational errorlog - assert(l_errl == NULL); + // @todo dump out an informational errorlog?? - // wait here on the barrier, then end the task. - pTaskArgs->waitChildSync(); - task_end(); + // should always return NULL + task_end2( l_errl ); } diff --git a/src/usr/cxxtest/cxxtestgen.pl b/src/usr/cxxtest/cxxtestgen.pl index 2ae66a7ba..48b89c0c6 100755 --- a/src/usr/cxxtest/cxxtestgen.pl +++ b/src/usr/cxxtest/cxxtestgen.pl @@ -744,7 +744,7 @@ sub write_start() { print "\n"; print "\t__sync_add_and_fetch(&CxxTest::g_ModulesCompleted, 1);\n"; print "\n"; - print "\ttask_end();\n"; + print "\ttask_end2( NULL );\n"; print "}\n"; } |

