|
RTEMS CPU Kit with SuperCore
4.10.99.0
|
00001 00013 /* 00014 * COPYRIGHT (c) 1989-2009. 00015 * On-Line Applications Research Corporation (OAR). 00016 * 00017 * The license and distribution terms for this file may be 00018 * found in the file LICENSE in this distribution or at 00019 * http://www.rtems.com/license/LICENSE. 00020 */ 00021 00022 #ifndef _RTEMS_STACKCHK_H 00023 #define _RTEMS_STACKCHK_H 00024 00025 #include <stdbool.h> /* bool */ 00026 00027 #include <rtems/score/percpu.h> /* Thread_Control */ 00028 #include <rtems/bspIo.h> 00029 00036 #ifdef __cplusplus 00037 extern "C" { 00038 #endif 00039 00050 bool rtems_stack_checker_is_blown( void ); 00051 00060 void rtems_stack_checker_report_usage( void ); 00061 00073 void rtems_stack_checker_report_usage_with_plugin( 00074 void *context, 00075 rtems_printk_plugin_t print 00076 ); 00077 00078 /************************************************************* 00079 ************************************************************* 00080 ** Prototyped only so the user extension can be installed ** 00081 ************************************************************* 00082 *************************************************************/ 00083 00095 bool rtems_stack_checker_create_extension( 00096 Thread_Control *running, 00097 Thread_Control *the_thread 00098 ); 00099 00109 void rtems_stack_checker_begin_extension( 00110 Thread_Control *the_thread 00111 ); 00112 00124 void rtems_stack_checker_switch_extension( 00125 Thread_Control *running, 00126 Thread_Control *heir 00127 ); 00128 00135 #define RTEMS_STACK_CHECKER_EXTENSION \ 00136 { \ 00137 rtems_stack_checker_create_extension, /* rtems_task_create */ \ 00138 0, /* rtems_task_start */ \ 00139 0, /* rtems_task_restart */ \ 00140 0, /* rtems_task_delete */ \ 00141 rtems_stack_checker_switch_extension, /* task_switch */ \ 00142 rtems_stack_checker_begin_extension, /* task_begin */ \ 00143 0, /* task_exitted */ \ 00144 0 /* rtems_stack_checker_fatal_extension */, /* fatal */ \ 00145 } 00146 00147 #ifdef __cplusplus 00148 } 00149 #endif 00150 00151 #endif 00152 /* end of include file */
1.7.5