% if not exists proc::STACKSIZE then error proc::NAME : "STACKSIZE attribute not defined for ".proc::KIND." ".proc::NAME else %/* * % !proc::KIND % % !proc::NAME % stack */ #define APP_% !proc::KIND %_% !proc::NAME %_START_SEC_STACK #include "tpl_memmap.h" VAR(tpl_stack_word, OS_APPL_DATA) % !proc::NAME %_stack_zone[% !proc::STACKSIZE %/sizeof(tpl_stack_word)]; #define APP_% !proc::KIND %_% !proc::NAME %_STOP_SEC_STACK #include "tpl_memmap.h" #define % !proc::NAME %_STACK {% !proc::NAME %_stack_zone, % !proc::STACKSIZE %} /* * % !proc::KIND % % !proc::NAME % context */ #define OS_START_SEC_VAR_NOINIT_32BIT #include "tpl_memmap.h" VAR(ppc_integer_context, OS_VAR) % !proc::NAME %_int_context;% if not (exists OS::HASFLOAT default (false)) & exists proc::USEFLOAT default (false) then error proc::USEFLOAT : "The ".TARGET." does not support floating point" end if if exists OS::HASFLOAT default (false) & exists proc::USEFLOAT default (false) then if USEFLOAT then % VAR(ppc_float_context, OS_VAR) % !proc::NAME %_fp_context; #define % !proc::NAME %_CONTEXT { &% !proc::NAME %_int_context, &% !proc::NAME %_fp_context }% else % #define % !proc::NAME %_CONTEXT { &% !proc::NAME %_int_context, NULL }% end if else % #define % !proc::NAME %_CONTEXT { &% !proc::NAME %_int_context }% end if % #define OS_STOP_SEC_VAR_NOINIT_32BIT #include "tpl_memmap.h" %end if