diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2012-01-10 18:10:40 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-02-07 15:46:33 -0600 |
commit | e457b5df08897236374bd8851d8169188e9dc1f8 (patch) | |
tree | a9c7392ea093ace963796340eb7da3074b743444 /src/sys/prof | |
parent | 859335d953a59c25de64a414c344d0a22d0911cb (diff) | |
download | talos-hostboot-e457b5df08897236374bd8851d8169188e9dc1f8.tar.gz talos-hostboot-e457b5df08897236374bd8851d8169188e9dc1f8.zip |
GCOV support
Change-Id: I73a446754cd03178055459eb75c7b2f87b51b0f3
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/635
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/sys/prof')
-rw-r--r-- | src/sys/prof/gcov.C | 24 | ||||
-rw-r--r-- | src/sys/prof/idletask.C | 41 | ||||
-rw-r--r-- | src/sys/prof/makefile | 39 |
3 files changed, 104 insertions, 0 deletions
diff --git a/src/sys/prof/gcov.C b/src/sys/prof/gcov.C new file mode 100644 index 000000000..7f011d51f --- /dev/null +++ b/src/sys/prof/gcov.C @@ -0,0 +1,24 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/sys/prof/gcov.C $ +// +// IBM CONFIDENTIAL +// +// COPYRIGHT International Business Machines Corp. 2012 +// +// 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 other- +// wise divested of its trade secrets, irrespective of what has +// been deposited with the U.S. Copyright Office. +// +// Origin: 30 +// +// IBM_PROLOG_END + +#include <usr/gcov.h> diff --git a/src/sys/prof/idletask.C b/src/sys/prof/idletask.C new file mode 100644 index 000000000..843f26628 --- /dev/null +++ b/src/sys/prof/idletask.C @@ -0,0 +1,41 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/sys/prof/idletask.C $ +// +// IBM CONFIDENTIAL +// +// COPYRIGHT International Business Machines Corp. 2012 +// +// 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 other- +// wise divested of its trade secrets, irrespective of what has +// been deposited with the U.S. Copyright Office. +// +// Origin: 30 +// +// IBM_PROLOG_END + +/** @file idletask.C + * @brief Code for the kernel idle-loop. + * + * This code exists here under the sys/prof directory to ensure that it does + * not get instrumented with code coverage. The idle threads run stack-less + * and bad things happen if they have been instrumented. + */ + +#include <kernel/taskmgr.H> +#include <arch/ppc.H> + +void TaskManager::idleTaskLoop(void* unused) +{ + while(1) + { + setThreadPriorityLow(); + } +} diff --git a/src/sys/prof/makefile b/src/sys/prof/makefile new file mode 100644 index 000000000..ee42459e4 --- /dev/null +++ b/src/sys/prof/makefile @@ -0,0 +1,39 @@ +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: src/sys/vfs/makefile $ +# +# IBM CONFIDENTIAL +# +# COPYRIGHT International Business Machines Corp. 2010 - 2011 +# +# 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 other- +# wise divested of its trade secrets, irrespective of what has +# been deposited with the U.S. Copyright Office. +# +# Origin: 30 +# +# IBM_PROLOG_END + +ROOTPATH = ../../.. + +# If code coverage profiling is enabled we need to add the gcov object to the +# build list. This is triggered via the HOSTBOOT_PROFILE variable. We then +# undefine that variable to ensure that none of the code in this directory is +# instrumented itself. This is the directory where code which is unsafe to +# instrument should go. + +ifdef HOSTBOOT_PROFILE +OBJS = gcov.o +undefine HOSTBOOT_PROFILE +endif + +OBJS += idletask.o + +include ${ROOTPATH}/config.mk |