diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2013-07-16 15:29:15 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-09-17 16:45:31 -0500 |
commit | 5652d7c0c6a8db05699f2b4334e4615e1ba22127 (patch) | |
tree | a04321010213943bc44a908a0de0e88149a7e7de /src/usr/cxxtest | |
parent | 7c3226b7ef2b3e09bd40823732f05fbf0fe6778f (diff) | |
download | talos-hostboot-5652d7c0c6a8db05699f2b4334e4615e1ba22127.tar.gz talos-hostboot-5652d7c0c6a8db05699f2b4334e4615e1ba22127.zip |
Initial Hostboot Runtime image support.
RTC: 76675
Change-Id: Ibd21cf5b555e6dcee182a2f1a292b47d4f384ba0
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/6127
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/makefile | 30 | ||||
-rw-r--r-- | src/usr/cxxtest/runtime/makefile | 31 | ||||
-rw-r--r-- | src/usr/cxxtest/runtime/rt_cxxtestexec.C | 76 |
3 files changed, 122 insertions, 15 deletions
diff --git a/src/usr/cxxtest/makefile b/src/usr/cxxtest/makefile index 979ae0bd4..c02f22d8d 100644 --- a/src/usr/cxxtest/makefile +++ b/src/usr/cxxtest/makefile @@ -1,30 +1,30 @@ -# IBM_PROLOG_BEGIN_TAG -# This is an automatically generated prolog. +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. # -# $Source: src/usr/cxxtest/makefile $ +# $Source: src/usr/cxxtest/makefile $ # -# IBM CONFIDENTIAL +# IBM CONFIDENTIAL # -# COPYRIGHT International Business Machines Corp. 2011 +# COPYRIGHT International Business Machines Corp. 2011,2013 # -# p1 +# p1 # -# Object Code Only (OCO) source materials -# Licensed Internal Code Source Materials -# IBM HostBoot Licensed Internal Code +# 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 other- -# wise divested of its trade secrets, irrespective of what has -# been deposited with the U.S. Copyright Office. +# 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 +# Origin: 30 # -# IBM_PROLOG_END +# IBM_PROLOG_END_TAG ROOTPATH = ../../.. MODULE = cxxtest -SUBDIRS=test.d +SUBDIRS=test.d runtime.d OBJS = TestSuite.o cxxtestexec.o diff --git a/src/usr/cxxtest/runtime/makefile b/src/usr/cxxtest/runtime/makefile new file mode 100644 index 000000000..4bdab1441 --- /dev/null +++ b/src/usr/cxxtest/runtime/makefile @@ -0,0 +1,31 @@ +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: src/usr/cxxtest/runtime/makefile $ +# +# IBM CONFIDENTIAL +# +# COPYRIGHT International Business Machines Corp. 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 +HOSTBOOT_RUNTIME = 1 +ROOTPATH = ../../../.. +MODULE = cxxtest_rt + +OBJS = TestSuite.o rt_cxxtestexec.o + +VPATH += .. + +include ${ROOTPATH}/config.mk diff --git a/src/usr/cxxtest/runtime/rt_cxxtestexec.C b/src/usr/cxxtest/runtime/rt_cxxtestexec.C new file mode 100644 index 000000000..08956f00a --- /dev/null +++ b/src/usr/cxxtest/runtime/rt_cxxtestexec.C @@ -0,0 +1,76 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/cxxtest/runtime/rt_cxxtestexec.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 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 */ +#include <cxxtest/TestSuite.H> +#include <limits.h> +#include <hbotcompid.H> +#include <runtime/interface.h> + +#include <kernel/console.H> +#include <vfs/vfs.H> + +trace_desc_t *g_trac_cxxtest = NULL; +TRAC_INIT(&g_trac_cxxtest, CXXTEST_COMP_NAME, KILOBYTE ); + +namespace CxxTest +{ + void execute(void* io_stats) + { + CxxTestStats* stats = reinterpret_cast<CxxTestStats*>(io_stats); + + std::vector<const char*> module_list; + VFS::find_test_modules(module_list); + + printk("Running Runtime CXX Tests: %ld\n", module_list.size()); + + g_ModulesStarted++; + for (std::vector<const char*>::const_iterator i = module_list.begin(); + i != module_list.end(); + ++i) + { + g_ModulesStarted++; + + printk("\tRunning Runtime test: %s\n", *i); + void* (*start_entry)(void*) = reinterpret_cast<void*(*)(void*)>( + vfs_start_entrypoint(vfs_find_module(VFS_MODULES, *i))); + start_entry(NULL); + } + + g_ModulesCompleted++; + + __sync_add_and_fetch(stats->totalTests, g_TotalTests); + __sync_add_and_fetch(stats->traceCalls, g_TraceCalls); + __sync_add_and_fetch(stats->warnings, g_Warnings); + __sync_add_and_fetch(stats->failedTests, g_FailedTests); + __sync_add_and_fetch(stats->modulesStarted, g_ModulesStarted); + __sync_add_and_fetch(stats->modulesCompleted, g_ModulesCompleted); + } + + struct registerCxxTest + { + registerCxxTest() + { + getRuntimeInterfaces()->cxxtestExecute = &execute; + } + }; + registerCxxTest g_register; +} |