diff --git a/bench/kernel/binarysearch/binarysearch.c b/bench/kernel/binarysearch/binarysearch.c
index c4087f5b01809c5f8e72abef4730ac56a38219cd..e539ed8a664a7060485f64abbe9d3d2568a307c5 100755
--- a/bench/kernel/binarysearch/binarysearch.c
+++ b/bench/kernel/binarysearch/binarysearch.c
@@ -147,10 +147,12 @@ void _Pragma( "entrypoint" ) binarysearch_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   binarysearch_init();
   binarysearch_main();
 
+  siccsrs();
   return ( binarysearch_return() - ( -1 ) != 0 );
 }
diff --git a/bench/kernel/bitcount/bitcount.c b/bench/kernel/bitcount/bitcount.c
index dfae600155015c45971761053487db41deaac088..07a97f9ef9baf7e7c87f7e7cdad0b67584bb1092 100755
--- a/bench/kernel/bitcount/bitcount.c
+++ b/bench/kernel/bitcount/bitcount.c
@@ -137,10 +137,12 @@ void _Pragma( "entrypoint" ) bitcount_main()
   _Pragma( "flowrestriction 1*btbl_bitcount <= 4*call_btbl" )
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   bitcount_init();
   bitcount_main();
 
+  siccsrs();
   return ( bitcount_return() );
 }
diff --git a/bench/kernel/bitonic/bitonic.c b/bench/kernel/bitonic/bitonic.c
index 09bb484b60bc6a20f3dde3c9141a009b6c161875..b51e966a9959d3a8c474a87ba42101d9e88e031a 100755
--- a/bench/kernel/bitonic/bitonic.c
+++ b/bench/kernel/bitonic/bitonic.c
@@ -148,10 +148,12 @@ void _Pragma ( "entrypoint" ) bitonic_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   bitonic_init();
   bitonic_main();
 
+  siccsrs();
   return ( bitonic_return() );
 }
diff --git a/bench/kernel/bsort/bsort.c b/bench/kernel/bsort/bsort.c
index 8a8b640e0b6ac82826a54b992d39d40dbd66a139..b1911e5404121365f58a0450c83ae834e07fa26e 100755
--- a/bench/kernel/bsort/bsort.c
+++ b/bench/kernel/bsort/bsort.c
@@ -119,6 +119,7 @@ void _Pragma( "entrypoint" ) bsort_main( void )
 }
 
 
+#include <siccsrs.h>
 /*
   Main function
 */
@@ -128,5 +129,6 @@ int main( void )
   bsort_init();
   bsort_main();
 
+  siccsrs();
   return bsort_return();
 }
diff --git a/bench/kernel/complex_updates/complex_updates.c b/bench/kernel/complex_updates/complex_updates.c
index 91e3ae6410bd88a37bb68922e1b485c9c7adc740..fa1cc58b21ae20471fbd558f7f644641db388526 100755
--- a/bench/kernel/complex_updates/complex_updates.c
+++ b/bench/kernel/complex_updates/complex_updates.c
@@ -126,11 +126,13 @@ void _Pragma( "entrypoint" ) complex_updates_main( void )
 
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   complex_updates_init();
 
   complex_updates_main();
 
+  siccsrs();
   return complex_updates_return();
 }
diff --git a/bench/kernel/cosf/cosf.c b/bench/kernel/cosf/cosf.c
index b83854644b71f76861946f29b73b63787f4fee76..4175c5bf1186bb24684ba8b8199edf1a2b64fd51 100755
--- a/bench/kernel/cosf/cosf.c
+++ b/bench/kernel/cosf/cosf.c
@@ -77,10 +77,12 @@ void _Pragma( "entrypoint" ) cosf_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   cosf_init();
   cosf_main();
+  siccsrs();
   return cosf_return();
 }
 
diff --git a/bench/kernel/countnegative/countnegative.c b/bench/kernel/countnegative/countnegative.c
index 5835cab95b5417f15a198262108efd87f34c886d..d3975b5934deb0024e8c1beb982a4d3e4bfc3a06 100755
--- a/bench/kernel/countnegative/countnegative.c
+++ b/bench/kernel/countnegative/countnegative.c
@@ -131,10 +131,12 @@ void _Pragma( "entrypoint" ) countnegative_main ( void )
   countnegative_sum(  countnegative_array );
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   countnegative_init();
   countnegative_main();
 
+  siccsrs();
   return ( countnegative_return() );
 }
diff --git a/bench/kernel/cubic/cubic.c b/bench/kernel/cubic/cubic.c
index f26639434df42f9ec684d7c607a8509fdb3dd0a9..0222718e4b1b2b988b68270471769beb4a9288ad 100755
--- a/bench/kernel/cubic/cubic.c
+++ b/bench/kernel/cubic/cubic.c
@@ -148,9 +148,11 @@ void cubic_solveCubic( float a, float b, float c, float d,
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   cubic_init();
   cubic_main();
+  siccsrs();
   return cubic_return();
 }
diff --git a/bench/kernel/deg2rad/deg2rad.c b/bench/kernel/deg2rad/deg2rad.c
index 5fc1817a7a7c9f522d2258d1001b42b217220a71..769f109af564bbf039692ce174c189dc2e4e689f 100755
--- a/bench/kernel/deg2rad/deg2rad.c
+++ b/bench/kernel/deg2rad/deg2rad.c
@@ -82,9 +82,11 @@ void _Pragma( "entrypoint" ) deg2rad_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   deg2rad_init();
   deg2rad_main();
+  siccsrs();
   return deg2rad_return();
 }
diff --git a/bench/kernel/fac/fac.c b/bench/kernel/fac/fac.c
index 606b8d16f81b4486cd708eb2288572de12667660..60583cfacee27c10dc69178dd568a6ea185e6144 100755
--- a/bench/kernel/fac/fac.c
+++ b/bench/kernel/fac/fac.c
@@ -87,11 +87,13 @@ void _Pragma( "entrypoint" ) fac_main ()
 }
 
 
+#include <siccsrs.h>
 int main ( void )
 {
   fac_init();
   fac_main();
 
+  siccsrs();
   return ( fac_return() );
 }
 
diff --git a/bench/kernel/fft/fft.c b/bench/kernel/fft/fft.c
index 55efc6a5d3a98e1fcca5171434c4d700412d8695..c0aca2ee2112e831f91daf453eada6378ca57321 100755
--- a/bench/kernel/fft/fft.c
+++ b/bench/kernel/fft/fft.c
@@ -323,11 +323,13 @@ void _Pragma( "entrypoint" ) fft_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   fft_init();
 
   fft_main();
 
+  siccsrs();
   return fft_return();
 }
diff --git a/bench/kernel/filterbank/filterbank.c b/bench/kernel/filterbank/filterbank.c
index c9ab6dee336a6fce2ca09f0079445c585c7d7ee1..46b92de0e3d435871678e2cb2a764554fa61f548 100755
--- a/bench/kernel/filterbank/filterbank.c
+++ b/bench/kernel/filterbank/filterbank.c
@@ -157,6 +157,7 @@ void filterbank_core( float r[ 256 ],
 }
 
 
+#include <siccsrs.h>
 /*
   Main function
 */
@@ -166,5 +167,6 @@ int main( void )
   filterbank_init();
   filterbank_main();
 
+  siccsrs();
   return filterbank_return();
 }
diff --git a/bench/kernel/fir2dim/fir2dim.c b/bench/kernel/fir2dim/fir2dim.c
index 054c14452747aa01fb27f29b994f33448077b4ec..982d2ff74fd8029eeb2713be2d6f2ead63e92c92 100755
--- a/bench/kernel/fir2dim/fir2dim.c
+++ b/bench/kernel/fir2dim/fir2dim.c
@@ -189,11 +189,13 @@ void _Pragma( "entrypoint" ) fir2dim_main()
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   fir2dim_init();
   fir2dim_main();
 
+  siccsrs();
   return ( fir2dim_return() );
 }
 
diff --git a/bench/kernel/iir/iir.c b/bench/kernel/iir/iir.c
index 2f085bdbfe8a7d66f4cbd005405edc2c46bbd419..6f1183c0394f0fd1865f1e44623120ca0fa54e2c 100755
--- a/bench/kernel/iir/iir.c
+++ b/bench/kernel/iir/iir.c
@@ -154,10 +154,12 @@ void _Pragma( "entrypoint" ) iir_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   iir_init();
   iir_main();
 
+  siccsrs();
   return ( iir_return() - 400 != 0 );
 }
diff --git a/bench/kernel/insertsort/insertsort.c b/bench/kernel/insertsort/insertsort.c
index 60be2c883a5df66e6832c04aeaced19c751d6b4a..fa5cafb096686632228d51a516a7a9580f997212 100755
--- a/bench/kernel/insertsort/insertsort.c
+++ b/bench/kernel/insertsort/insertsort.c
@@ -130,10 +130,12 @@ void _Pragma( "entrypoint" ) insertsort_main()
     insertsort_max_i = insertsort_iters_i;
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   insertsort_init();
   insertsort_main();
+  siccsrs();
   return ( insertsort_return() );
 }
 
diff --git a/bench/kernel/isqrt/isqrt.c b/bench/kernel/isqrt/isqrt.c
index 82b7a72cebcd3e9db4bf463bafb15cdcefa26261..812b4f8db1aebf38e1f559e01ad4c34c998316df 100755
--- a/bench/kernel/isqrt/isqrt.c
+++ b/bench/kernel/isqrt/isqrt.c
@@ -147,10 +147,12 @@ void _Pragma( "entrypoint" ) isqrt_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   isqrt_init();
   isqrt_main();
+  siccsrs();
   return isqrt_return();
 }
 
diff --git a/bench/kernel/jfdctint/jfdctint.c b/bench/kernel/jfdctint/jfdctint.c
index 0e2f4fb7ea0f0b60ccb3e90dfd03e956d93334e8..05ac75f1da1d6191466c962759a9dd56135f3988 100755
--- a/bench/kernel/jfdctint/jfdctint.c
+++ b/bench/kernel/jfdctint/jfdctint.c
@@ -310,10 +310,12 @@ void _Pragma ( "entrypoint" ) jfdctint_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   jfdctint_init();
   jfdctint_main();
 
+  siccsrs();
   return ( jfdctint_return() );
 }
diff --git a/bench/kernel/ludcmp/ludcmp.c b/bench/kernel/ludcmp/ludcmp.c
index 6c9127b6dcab76fdfa4ee799ef59eb03c768aa15..8021934843ad7565e94a09eef88b074c3db206e4 100755
--- a/bench/kernel/ludcmp/ludcmp.c
+++ b/bench/kernel/ludcmp/ludcmp.c
@@ -168,10 +168,12 @@ void _Pragma( "entrypoint" ) ludcmp_main( void )
   ludcmp_chkerr = ludcmp_test( n, eps );
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   ludcmp_init();
   ludcmp_main();
 
+  siccsrs();
   return ( ludcmp_return() );
 }
diff --git a/bench/kernel/matrix1/matrix1.c b/bench/kernel/matrix1/matrix1.c
index 2b235041cf089f3b5b5448f8fb74b2f6cf8d1abf..73e06d7d2bf5b50d7eb2046dc507bf52e2786951 100755
--- a/bench/kernel/matrix1/matrix1.c
+++ b/bench/kernel/matrix1/matrix1.c
@@ -160,10 +160,12 @@ void _Pragma ( "entrypoint" ) matrix1_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   matrix1_init();
   matrix1_main();
 
+  siccsrs();
   return matrix1_return();
 }
diff --git a/bench/kernel/md5/md5.c b/bench/kernel/md5/md5.c
index 09ab091fc065c0dd2933b53b16b349143c41d3b2..3ee3ee907486ec0ccd25a3bfbfee87de69d2d26b 100755
--- a/bench/kernel/md5/md5.c
+++ b/bench/kernel/md5/md5.c
@@ -622,11 +622,13 @@ void _Pragma( "entrypoint" ) md5_main( void )
   md5_bytesNeeded = randomStruct.bytesNeeded + randomStruct2.bytesNeeded;
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   md5_init();
   md5_main();
   // printf("%d\n", ret);
+  siccsrs();
   return md5_return();
 }
 
diff --git a/bench/kernel/minver/minver.c b/bench/kernel/minver/minver.c
index f417d1fc902d970ef20d74f6bddf0d44d9a2137c..3808d22dd25cc77f6715f2636e09cc4fba4e76e8 100755
--- a/bench/kernel/minver/minver.c
+++ b/bench/kernel/minver/minver.c
@@ -247,11 +247,13 @@ void _Pragma( "entrypoint" ) minver_main()
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   minver_init();
   minver_main();
 
+  siccsrs();
   return ( minver_return() );
 }
 
diff --git a/bench/kernel/pm/pm.c b/bench/kernel/pm/pm.c
index c0468001cfb2dd06f421a387c3ad6794b16ed49f..2e8a8102bef34c92ff0d176c2df4f5858bfd8b16 100755
--- a/bench/kernel/pm/pm.c
+++ b/bench/kernel/pm/pm.c
@@ -730,6 +730,7 @@ int pm_kernel( pm_data_t *pmdata )
 }
 
 
+#include <siccsrs.h>
 /*
   Main function
 */
@@ -739,5 +740,6 @@ int main( void )
   pm_init();
   pm_main();
 
+  siccsrs();
   return pm_return();
 }
diff --git a/bench/kernel/prime/prime.c b/bench/kernel/prime/prime.c
index b694a6fcbeceb2d7adaaae242275ba6fad3db77f..225d966242d9191b375efb81361e758640925e13 100755
--- a/bench/kernel/prime/prime.c
+++ b/bench/kernel/prime/prime.c
@@ -128,11 +128,13 @@ void _Pragma( "entrypoint" ) prime_main()
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   prime_init();
   prime_main();
 
+  siccsrs();
   return ( prime_return() ) ;
 }
 
diff --git a/bench/kernel/quicksort/quicksort.c b/bench/kernel/quicksort/quicksort.c
index 55b4c73365d8a682abf30e5af9210f50a9a5e1f3..2cc77f774d3043cfdc12d0753c6c242b3c4232e5 100755
--- a/bench/kernel/quicksort/quicksort.c
+++ b/bench/kernel/quicksort/quicksort.c
@@ -236,10 +236,12 @@ void _Pragma ( "entrypoint" ) quicksort_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   quicksort_init();
   quicksort_main();
 
+  siccsrs();
   return ( quicksort_return() - 1527923179 != 0 );
 }
diff --git a/bench/kernel/rad2deg/rad2deg.c b/bench/kernel/rad2deg/rad2deg.c
index 380fe8b4038b70ed5fa237361871e396f9c1efea..1e1c558547ae8a470bf8f80f092742706b1ce24c 100755
--- a/bench/kernel/rad2deg/rad2deg.c
+++ b/bench/kernel/rad2deg/rad2deg.c
@@ -81,9 +81,11 @@ void _Pragma ( "entrypoint" ) rad2deg_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   rad2deg_init();
   rad2deg_main();
+  siccsrs();
   return rad2deg_return();
 }
diff --git a/bench/kernel/recursion/recursion.c b/bench/kernel/recursion/recursion.c
index f0e7eddbdbab02139040636ae8d20361c0750185..5ff366c11297f7b797290474eaaa383b4a161976 100755
--- a/bench/kernel/recursion/recursion.c
+++ b/bench/kernel/recursion/recursion.c
@@ -64,9 +64,11 @@ void _Pragma( "entrypoint" ) recursion_main( void )
   recursion_result = recursion_fib( recursion_input );
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   recursion_init();
   recursion_main();
+  siccsrs();
   return ( recursion_return() );
 }
diff --git a/bench/kernel/sha/sha.c b/bench/kernel/sha/sha.c
index 552c6146a642af7dc584992e790106e8345a7548..6a97be0a4c87d2b9592097f6958232b7501276af 100755
--- a/bench/kernel/sha/sha.c
+++ b/bench/kernel/sha/sha.c
@@ -211,9 +211,11 @@ int sha_return( void )
   return ( sum - 261944 != 0 );
 }
 
+#include <siccsrs.h>
 int main ( void )
 {
   sha_init();
   sha_main();
+  siccsrs();
   return ( sha_return() );
 }
diff --git a/bench/kernel/st/st.c b/bench/kernel/st/st.c
index 8a716fec0940a29b26e892588a16af1749f2bd76..fae99aa95743bc902b3a1c7c9011079eb0d5435f 100755
--- a/bench/kernel/st/st.c
+++ b/bench/kernel/st/st.c
@@ -217,10 +217,12 @@ void _Pragma( "entrypoint" ) st_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   st_init();
   st_main();
 
+  siccsrs();
   return ( st_return() );
 }
diff --git a/bench/sequential/adpcm_dec/adpcm_dec.c b/bench/sequential/adpcm_dec/adpcm_dec.c
index 5284bfa2db523b1d0dc2a6c20a78f7e1d1cda2f5..63ee9f0466c245ad927e0802bd5ccad8978f7b70 100755
--- a/bench/sequential/adpcm_dec/adpcm_dec.c
+++ b/bench/sequential/adpcm_dec/adpcm_dec.c
@@ -701,10 +701,12 @@ void _Pragma( "entrypoint" ) adpcm_dec_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   adpcm_dec_init();
   adpcm_dec_main();
 
+  siccsrs();
   return ( adpcm_dec_return() );
 }
diff --git a/bench/sequential/adpcm_enc/adpcm_enc.c b/bench/sequential/adpcm_enc/adpcm_enc.c
index 2301287f6961df84fc56f21db15aa128fe661b60..dfd3247db9121c763a449cfa10430aeea78ac2f2 100755
--- a/bench/sequential/adpcm_enc/adpcm_enc.c
+++ b/bench/sequential/adpcm_enc/adpcm_enc.c
@@ -745,10 +745,12 @@ void _Pragma( "entrypoint" ) adpcm_enc_main( void )
 
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   adpcm_enc_init();
   adpcm_enc_main();
 
+  siccsrs();
   return adpcm_enc_return();
 }
diff --git a/bench/sequential/ammunition/ammunition.c b/bench/sequential/ammunition/ammunition.c
index ba5e4c70f449517132335dd2fce3f3160cd9dde6..8b7d1fefd48d371b8ca929afd77ebc9f047dbca4 100755
--- a/bench/sequential/ammunition/ammunition.c
+++ b/bench/sequential/ammunition/ammunition.c
@@ -1170,10 +1170,12 @@ void _Pragma( "entrypoint" ) ammunition_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   ammunition_init();
   ammunition_main();
 
+  siccsrs();
   return ( ammunition_return() );
 }
diff --git a/bench/sequential/anagram/anagram.c b/bench/sequential/anagram/anagram.c
index c76265e48af9c1e9bb6c25d46f0b795206f1b6b1..17fae9b7a17d08c8a35d9fb1c77b1bab2bd7213d 100755
--- a/bench/sequential/anagram/anagram.c
+++ b/bench/sequential/anagram/anagram.c
@@ -647,6 +647,7 @@ void _Pragma( "entrypoint" ) anagram_main( void )
 }
 
 
+#include <siccsrs.h>
 /*
   Main function
 */
@@ -656,5 +657,6 @@ int main( void )
   anagram_init();
   anagram_main();
 
+  siccsrs();
   return anagram_return();
 }
diff --git a/bench/sequential/audiobeam/audiobeam.c b/bench/sequential/audiobeam/audiobeam.c
index 3d7ee151a9af608c632ec8f9c239d61a763819e8..bc5aafa71e7a042c0ad7c9af1339f09e5a827915 100755
--- a/bench/sequential/audiobeam/audiobeam.c
+++ b/bench/sequential/audiobeam/audiobeam.c
@@ -575,11 +575,13 @@ void _Pragma( "entrypoint" ) audiobeam_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   audiobeam_init();
   audiobeam_main();
 
+  siccsrs();
   return ( audiobeam_return() );
 }
 
diff --git a/bench/sequential/cjpeg_transupp/cjpeg_transupp.c b/bench/sequential/cjpeg_transupp/cjpeg_transupp.c
index 2904cc1b7949edaefa9cb6e175c1e471c8618f2f..7e4db2504119d065a15b017fc766dc8263248482 100755
--- a/bench/sequential/cjpeg_transupp/cjpeg_transupp.c
+++ b/bench/sequential/cjpeg_transupp/cjpeg_transupp.c
@@ -703,10 +703,12 @@ void _Pragma ( "entrypoint" ) cjpeg_transupp_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   cjpeg_transupp_init();
   cjpeg_transupp_main();
 
+  siccsrs();
   return ( cjpeg_transupp_return() - 660 != 0 );
 }
diff --git a/bench/sequential/cjpeg_wrbmp/cjpeg_wrbmp.c b/bench/sequential/cjpeg_wrbmp/cjpeg_wrbmp.c
index cb81d01fb5ac98d6898f9c93f9c0ec257bbb8f2f..6fc80642a3e7715dbe0ed4eed73cbc773962e640 100755
--- a/bench/sequential/cjpeg_wrbmp/cjpeg_wrbmp.c
+++ b/bench/sequential/cjpeg_wrbmp/cjpeg_wrbmp.c
@@ -207,11 +207,13 @@ int cjpeg_wrbmp_return()
   return ( cjpeg_wrbmp_checksum  + ( -209330 ) ) != 0;
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   cjpeg_wrbmp_init();
   cjpeg_wrbmp_main();
 
+  siccsrs();
   return ( cjpeg_wrbmp_return() );
 }
 
diff --git a/bench/sequential/dijkstra/dijkstra.c b/bench/sequential/dijkstra/dijkstra.c
index 7437c42ef43afe959b3502874b3246f17df283c7..99e7157a603ecfd8c296b93852b7d046d798c8f7 100755
--- a/bench/sequential/dijkstra/dijkstra.c
+++ b/bench/sequential/dijkstra/dijkstra.c
@@ -188,10 +188,12 @@ void _Pragma( "entrypoint" ) dijkstra_main( void )
   }
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   dijkstra_init();
   dijkstra_main();
 
+  siccsrs();
   return ( dijkstra_return() );
 }
diff --git a/bench/sequential/epic/epic.c b/bench/sequential/epic/epic.c
index dc781d42a14f05d48810f3ffb9837bc51a832333..f9ee0da8b8c14135057c2e7b2e9a56cad0735eef 100755
--- a/bench/sequential/epic/epic.c
+++ b/bench/sequential/epic/epic.c
@@ -1127,10 +1127,12 @@ int epic_return()
   return ( checksum == 43968 ? 0 : 1 );
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   epic_init();
   epic_main();
 
+  siccsrs();
   return epic_return();
 }
diff --git a/bench/sequential/fmref/fmref.c b/bench/sequential/fmref/fmref.c
index c1b06112b89ce4b10da411837a01814b0e34e1dd..3e00ceaf5a7f97d3f176a5565d645aa05ba0011e 100755
--- a/bench/sequential/fmref/fmref.c
+++ b/bench/sequential/fmref/fmref.c
@@ -72,10 +72,12 @@ int fmref_return( void )
   return 0;
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   fmref_init();
   fmref_main();
+  siccsrs();
   return fmref_return();
 }
 
diff --git a/bench/sequential/g723_enc/g723_enc.c b/bench/sequential/g723_enc/g723_enc.c
index fa46af3c42c77aad279266b5ffb9fee41a5e8bd6..bf557a2f14efd95910340cc73e5dc7704609ae7b 100755
--- a/bench/sequential/g723_enc/g723_enc.c
+++ b/bench/sequential/g723_enc/g723_enc.c
@@ -868,11 +868,13 @@ void _Pragma( "entrypoint" ) g723_enc_main()
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   g723_enc_init();
   g723_enc_main();
 
+  siccsrs();
   return ( g723_enc_return() );
 }
 
diff --git a/bench/sequential/gsm_dec/gsm_dec.c b/bench/sequential/gsm_dec/gsm_dec.c
index 5c6cafd1a4fca913157534b962cbe6812ed0d35c..550cacd7a3db86598bde1cd2b337febe736dff20 100755
--- a/bench/sequential/gsm_dec/gsm_dec.c
+++ b/bench/sequential/gsm_dec/gsm_dec.c
@@ -748,9 +748,11 @@ void _Pragma( "entrypoint" ) gsm_dec_main( void )
   }
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   gsm_dec_init();
   gsm_dec_main();
+  siccsrs();
   return ( gsm_dec_return() );
 }
diff --git a/bench/sequential/gsm_enc/gsm_enc.c b/bench/sequential/gsm_enc/gsm_enc.c
index 069d46e4aa8192211bc873e791607288cd4bc9c1..83b00acb109536edc800920bcac4071450c63129 100755
--- a/bench/sequential/gsm_enc/gsm_enc.c
+++ b/bench/sequential/gsm_enc/gsm_enc.c
@@ -2215,9 +2215,11 @@ void _Pragma( "entrypoint" ) gsm_enc_main( void )
                     gsm_enc_gsmdata + i * sizeof( gsm_frame ) );
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   gsm_enc_init();
   gsm_enc_main();
+  siccsrs();
   return ( gsm_enc_return() );
 }
diff --git a/bench/sequential/h264_dec/h264_dec.c b/bench/sequential/h264_dec/h264_dec.c
index 0ddb4cc5e9daabd20c316695f4a4584c416dc422..32664be492146eabaed2d80b7f8af736a1a53aae 100755
--- a/bench/sequential/h264_dec/h264_dec.c
+++ b/bench/sequential/h264_dec/h264_dec.c
@@ -594,10 +594,12 @@ void _Pragma( "entrypoint" )  h264_dec_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   h264_dec_init();
   h264_dec_main();
 
+  siccsrs();
   return ( h264_dec_return() );
 }
diff --git a/bench/sequential/huff_dec/huff_dec.c b/bench/sequential/huff_dec/huff_dec.c
index 09e180ce45388f826bc87e897d63405af8d4e573..33947573a4743fef11d80081c042686cd80710f9 100755
--- a/bench/sequential/huff_dec/huff_dec.c
+++ b/bench/sequential/huff_dec/huff_dec.c
@@ -374,9 +374,11 @@ void _Pragma( "entrypoint" ) huff_dec_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   huff_dec_init();
   huff_dec_main();
+  siccsrs();
   return ( huff_dec_return() );
 }
diff --git a/bench/sequential/huff_enc/huff_enc.c b/bench/sequential/huff_enc/huff_enc.c
index a2768dc77aff84d8c01251d574a5fd68a6b7d7b6..18baf7fa3e44414853d7d37f33139bca5146144d 100755
--- a/bench/sequential/huff_enc/huff_enc.c
+++ b/bench/sequential/huff_enc/huff_enc.c
@@ -581,9 +581,11 @@ void _Pragma( "entrypoint" ) huff_enc_main()
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   huff_enc_init();
   huff_enc_main();
+  siccsrs();
   return ( huff_enc_return() );
 }
diff --git a/bench/sequential/mpeg2/mpeg2.c b/bench/sequential/mpeg2/mpeg2.c
index 62b8779ccd88dbf884680f5f2082f891704cd4ff..091c8d5044d1da32a9f4db9ba8e60b2f41827f68 100755
--- a/bench/sequential/mpeg2/mpeg2.c
+++ b/bench/sequential/mpeg2/mpeg2.c
@@ -13203,10 +13203,12 @@ void _Pragma ( "entrypoint" ) mpeg2_main( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   mpeg2_init();
   mpeg2_main();
 
+  siccsrs();
   return ( mpeg2_return() - ( -116 ) != 0 );
 }
diff --git a/bench/sequential/ndes/ndes.c b/bench/sequential/ndes/ndes.c
index 1e3e7d37f8ec9e21da9d163af5c399e7d8f4b73e..53551d3aa938dc02eba11b1a2cbb8ab6946b41b4 100755
--- a/bench/sequential/ndes/ndes.c
+++ b/bench/sequential/ndes/ndes.c
@@ -379,6 +379,7 @@ void _Pragma( "entrypoint" ) ndes_main()
   ndes_des( ndes_inp, ndes_key, &ndes_newkey, ndes_isw, &ndes_out );
 }
 
+#include <siccsrs.h>
 /* main function */
 
 int main( void )
@@ -386,5 +387,6 @@ int main( void )
   ndes_init();
   ndes_main();
 
+  siccsrs();
   return ( ndes_return() );
 }
diff --git a/bench/sequential/petrinet/petrinet.c b/bench/sequential/petrinet/petrinet.c
index 99b0cdabb1af6a78939d192575a5896fcdb1f99c..5c94cda5a1025da07620a63c39f2ff33034c813a 100755
--- a/bench/sequential/petrinet/petrinet.c
+++ b/bench/sequential/petrinet/petrinet.c
@@ -973,10 +973,12 @@ int petrinet_return( void )
 }
 
 
+#include <siccsrs.h>
 int main( void )
 {
   petrinet_main();
 
+  siccsrs();
   return ( petrinet_return() );
 }
 
diff --git a/bench/sequential/rijndael_enc/rijndael_enc.c b/bench/sequential/rijndael_enc/rijndael_enc.c
index eaa7183ebda06be4629a718d01d4aa313b3e75d8..8ed667b1f9aceb325b18abb3daa54513b70a417f 100755
--- a/bench/sequential/rijndael_enc/rijndael_enc.c
+++ b/bench/sequential/rijndael_enc/rijndael_enc.c
@@ -222,11 +222,13 @@ void _Pragma( "entrypoint" ) rijndael_enc_main( void )
   rijndael_enc_encfile( &rijndael_enc_fin, ctx );
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   rijndael_enc_init();
   rijndael_enc_main();
 
+  siccsrs();
   return ( rijndael_enc_return() );
 }
 
diff --git a/bench/sequential/statemate/statemate.c b/bench/sequential/statemate/statemate.c
index bd9d6b813a7c4fb56ebe1f308f79b3d078f896d1..4bda065ef38a4d3fea5a3f2b40a1915211de8175 100755
--- a/bench/sequential/statemate/statemate.c
+++ b/bench/sequential/statemate/statemate.c
@@ -1269,10 +1269,12 @@ void _Pragma ( "entrypoint" ) statemate_main( void )
 }
 
 
+#include <siccsrs.h>
 int main ( void )
 {
   statemate_init();
   statemate_main();
 
+  siccsrs();
   return statemate_return();
 }
diff --git a/bench/sequential/susan/susan.c b/bench/sequential/susan/susan.c
index 676bf61515e29947e46e263ecb3de76f041a0441..c69e921d51cf774bdb4b678e162393f570699274 100755
--- a/bench/sequential/susan/susan.c
+++ b/bench/sequential/susan/susan.c
@@ -2499,10 +2499,12 @@ int susan_return( void )
   return 0;
 }
 
+#include <siccsrs.h>
 int main( void )
 {
   susan_init();
   susan_main();
 
+  siccsrs();
   return susan_return();
 }
diff --git a/bench/sic.patch b/bench/sic.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e637e3e2f268f85edc3808fa62899f62a2c34257
--- /dev/null
+++ b/bench/sic.patch
@@ -0,0 +1,812 @@
+diff -u -p a/sequential/huff_enc/huff_enc.c b/sequential/huff_enc/huff_enc.c
+--- a/sequential/huff_enc/huff_enc.c
++++ b/sequential/huff_enc/huff_enc.c
+@@ -581,9 +581,11 @@ void _Pragma( "entrypoint" ) huff_enc_ma
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   huff_enc_init();
+   huff_enc_main();
++  siccsrs();
+   return ( huff_enc_return() );
+ }
+diff -u -p a/sequential/adpcm_enc/adpcm_enc.c b/sequential/adpcm_enc/adpcm_enc.c
+--- a/sequential/adpcm_enc/adpcm_enc.c
++++ b/sequential/adpcm_enc/adpcm_enc.c
+@@ -745,10 +745,12 @@ void _Pragma( "entrypoint" ) adpcm_enc_m
+ 
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   adpcm_enc_init();
+   adpcm_enc_main();
+ 
++  siccsrs();
+   return adpcm_enc_return();
+ }
+diff -u -p a/sequential/adpcm_dec/adpcm_dec.c b/sequential/adpcm_dec/adpcm_dec.c
+--- a/sequential/adpcm_dec/adpcm_dec.c
++++ b/sequential/adpcm_dec/adpcm_dec.c
+@@ -701,10 +701,12 @@ void _Pragma( "entrypoint" ) adpcm_dec_m
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   adpcm_dec_init();
+   adpcm_dec_main();
+ 
++  siccsrs();
+   return ( adpcm_dec_return() );
+ }
+diff -u -p a/sequential/fmref/fmref.c b/sequential/fmref/fmref.c
+--- a/sequential/fmref/fmref.c
++++ b/sequential/fmref/fmref.c
+@@ -72,10 +72,12 @@ int fmref_return( void )
+   return 0;
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   fmref_init();
+   fmref_main();
++  siccsrs();
+   return fmref_return();
+ }
+ 
+diff -u -p a/sequential/dijkstra/dijkstra.c b/sequential/dijkstra/dijkstra.c
+--- a/sequential/dijkstra/dijkstra.c
++++ b/sequential/dijkstra/dijkstra.c
+@@ -188,10 +188,12 @@ void _Pragma( "entrypoint" ) dijkstra_ma
+   }
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   dijkstra_init();
+   dijkstra_main();
+ 
++  siccsrs();
+   return ( dijkstra_return() );
+ }
+diff -u -p a/sequential/rijndael_enc/rijndael_enc.c b/sequential/rijndael_enc/rijndael_enc.c
+--- a/sequential/rijndael_enc/rijndael_enc.c
++++ b/sequential/rijndael_enc/rijndael_enc.c
+@@ -222,11 +222,13 @@ void _Pragma( "entrypoint" ) rijndael_en
+   rijndael_enc_encfile( &rijndael_enc_fin, ctx );
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   rijndael_enc_init();
+   rijndael_enc_main();
+ 
++  siccsrs();
+   return ( rijndael_enc_return() );
+ }
+ 
+diff -u -p a/sequential/g723_enc/g723_enc.c b/sequential/g723_enc/g723_enc.c
+--- a/sequential/g723_enc/g723_enc.c
++++ b/sequential/g723_enc/g723_enc.c
+@@ -868,11 +868,13 @@ void _Pragma( "entrypoint" ) g723_enc_ma
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   g723_enc_init();
+   g723_enc_main();
+ 
++  siccsrs();
+   return ( g723_enc_return() );
+ }
+ 
+diff -u -p a/sequential/ammunition/ammunition.c b/sequential/ammunition/ammunition.c
+--- a/sequential/ammunition/ammunition.c
++++ b/sequential/ammunition/ammunition.c
+@@ -1170,10 +1170,12 @@ void _Pragma( "entrypoint" ) ammunition_
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   ammunition_init();
+   ammunition_main();
+ 
++  siccsrs();
+   return ( ammunition_return() );
+ }
+diff -u -p a/sequential/petrinet/petrinet.c b/sequential/petrinet/petrinet.c
+--- a/sequential/petrinet/petrinet.c
++++ b/sequential/petrinet/petrinet.c
+@@ -973,10 +973,12 @@ int petrinet_return( void )
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   petrinet_main();
+ 
++  siccsrs();
+   return ( petrinet_return() );
+ }
+ 
+diff -u -p a/sequential/mpeg2/mpeg2.c b/sequential/mpeg2/mpeg2.c
+--- a/sequential/mpeg2/mpeg2.c
++++ b/sequential/mpeg2/mpeg2.c
+@@ -13203,10 +13203,12 @@ void _Pragma ( "entrypoint" ) mpeg2_main
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   mpeg2_init();
+   mpeg2_main();
+ 
++  siccsrs();
+   return ( mpeg2_return() - ( -116 ) != 0 );
+ }
+diff -u -p a/sequential/anagram/anagram.c b/sequential/anagram/anagram.c
+--- a/sequential/anagram/anagram.c
++++ b/sequential/anagram/anagram.c
+@@ -647,6 +647,7 @@ void _Pragma( "entrypoint" ) anagram_mai
+ }
+ 
+ 
++#include <siccsrs.h>
+ /*
+   Main function
+ */
+@@ -656,5 +657,6 @@ int main( void )
+   anagram_init();
+   anagram_main();
+ 
++  siccsrs();
+   return anagram_return();
+ }
+diff -u -p a/sequential/audiobeam/audiobeam.c b/sequential/audiobeam/audiobeam.c
+--- a/sequential/audiobeam/audiobeam.c
++++ b/sequential/audiobeam/audiobeam.c
+@@ -575,11 +575,13 @@ void _Pragma( "entrypoint" ) audiobeam_m
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   audiobeam_init();
+   audiobeam_main();
+ 
++  siccsrs();
+   return ( audiobeam_return() );
+ }
+ 
+diff -u -p a/sequential/susan/susan.c b/sequential/susan/susan.c
+--- a/sequential/susan/susan.c
++++ b/sequential/susan/susan.c
+@@ -2499,10 +2499,12 @@ int susan_return( void )
+   return 0;
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   susan_init();
+   susan_main();
+ 
++  siccsrs();
+   return susan_return();
+ }
+diff -u -p a/sequential/gsm_dec/gsm_dec.c b/sequential/gsm_dec/gsm_dec.c
+--- a/sequential/gsm_dec/gsm_dec.c
++++ b/sequential/gsm_dec/gsm_dec.c
+@@ -748,9 +748,11 @@ void _Pragma( "entrypoint" ) gsm_dec_mai
+   }
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   gsm_dec_init();
+   gsm_dec_main();
++  siccsrs();
+   return ( gsm_dec_return() );
+ }
+diff -u -p a/sequential/cjpeg_transupp/cjpeg_transupp.c b/sequential/cjpeg_transupp/cjpeg_transupp.c
+--- a/sequential/cjpeg_transupp/cjpeg_transupp.c
++++ b/sequential/cjpeg_transupp/cjpeg_transupp.c
+@@ -703,10 +703,12 @@ void _Pragma ( "entrypoint" ) cjpeg_tran
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   cjpeg_transupp_init();
+   cjpeg_transupp_main();
+ 
++  siccsrs();
+   return ( cjpeg_transupp_return() - 660 != 0 );
+ }
+diff -u -p a/sequential/huff_dec/huff_dec.c b/sequential/huff_dec/huff_dec.c
+--- a/sequential/huff_dec/huff_dec.c
++++ b/sequential/huff_dec/huff_dec.c
+@@ -374,9 +374,11 @@ void _Pragma( "entrypoint" ) huff_dec_ma
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   huff_dec_init();
+   huff_dec_main();
++  siccsrs();
+   return ( huff_dec_return() );
+ }
+diff -u -p a/sequential/gsm_enc/gsm_enc.c b/sequential/gsm_enc/gsm_enc.c
+--- a/sequential/gsm_enc/gsm_enc.c
++++ b/sequential/gsm_enc/gsm_enc.c
+@@ -2215,9 +2215,11 @@ void _Pragma( "entrypoint" ) gsm_enc_mai
+                     gsm_enc_gsmdata + i * sizeof( gsm_frame ) );
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   gsm_enc_init();
+   gsm_enc_main();
++  siccsrs();
+   return ( gsm_enc_return() );
+ }
+diff -u -p a/sequential/ndes/ndes.c b/sequential/ndes/ndes.c
+--- a/sequential/ndes/ndes.c
++++ b/sequential/ndes/ndes.c
+@@ -379,6 +379,7 @@ void _Pragma( "entrypoint" ) ndes_main()
+   ndes_des( ndes_inp, ndes_key, &ndes_newkey, ndes_isw, &ndes_out );
+ }
+ 
++#include <siccsrs.h>
+ /* main function */
+ 
+ int main( void )
+@@ -386,5 +387,6 @@ int main( void )
+   ndes_init();
+   ndes_main();
+ 
++  siccsrs();
+   return ( ndes_return() );
+ }
+diff -u -p a/sequential/h264_dec/h264_dec.c b/sequential/h264_dec/h264_dec.c
+--- a/sequential/h264_dec/h264_dec.c
++++ b/sequential/h264_dec/h264_dec.c
+@@ -594,10 +594,12 @@ void _Pragma( "entrypoint" )  h264_dec_m
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   h264_dec_init();
+   h264_dec_main();
+ 
++  siccsrs();
+   return ( h264_dec_return() );
+ }
+diff -u -p a/sequential/cjpeg_wrbmp/cjpeg_wrbmp.c b/sequential/cjpeg_wrbmp/cjpeg_wrbmp.c
+--- a/sequential/cjpeg_wrbmp/cjpeg_wrbmp.c
++++ b/sequential/cjpeg_wrbmp/cjpeg_wrbmp.c
+@@ -207,11 +207,13 @@ int cjpeg_wrbmp_return()
+   return ( cjpeg_wrbmp_checksum  + ( -209330 ) ) != 0;
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   cjpeg_wrbmp_init();
+   cjpeg_wrbmp_main();
+ 
++  siccsrs();
+   return ( cjpeg_wrbmp_return() );
+ }
+ 
+diff -u -p a/sequential/epic/epic.c b/sequential/epic/epic.c
+--- a/sequential/epic/epic.c
++++ b/sequential/epic/epic.c
+@@ -1127,10 +1127,12 @@ int epic_return()
+   return ( checksum == 43968 ? 0 : 1 );
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   epic_init();
+   epic_main();
+ 
++  siccsrs();
+   return epic_return();
+ }
+diff -u -p a/sequential/statemate/statemate.c b/sequential/statemate/statemate.c
+--- a/sequential/statemate/statemate.c
++++ b/sequential/statemate/statemate.c
+@@ -1269,10 +1269,12 @@ void _Pragma ( "entrypoint" ) statemate_
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main ( void )
+ {
+   statemate_init();
+   statemate_main();
+ 
++  siccsrs();
+   return statemate_return();
+ }
+diff -u -p a/kernel/md5/md5.c b/kernel/md5/md5.c
+--- a/kernel/md5/md5.c
++++ b/kernel/md5/md5.c
+@@ -622,11 +622,13 @@ void _Pragma( "entrypoint" ) md5_main( v
+   md5_bytesNeeded = randomStruct.bytesNeeded + randomStruct2.bytesNeeded;
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   md5_init();
+   md5_main();
+   // printf("%d\n", ret);
++  siccsrs();
+   return md5_return();
+ }
+ 
+diff -u -p a/kernel/bsort/bsort.c b/kernel/bsort/bsort.c
+--- a/kernel/bsort/bsort.c
++++ b/kernel/bsort/bsort.c
+@@ -119,6 +119,7 @@ void _Pragma( "entrypoint" ) bsort_main(
+ }
+ 
+ 
++#include <siccsrs.h>
+ /*
+   Main function
+ */
+@@ -128,5 +129,6 @@ int main( void )
+   bsort_init();
+   bsort_main();
+ 
++  siccsrs();
+   return bsort_return();
+ }
+diff -u -p a/kernel/ludcmp/ludcmp.c b/kernel/ludcmp/ludcmp.c
+--- a/kernel/ludcmp/ludcmp.c
++++ b/kernel/ludcmp/ludcmp.c
+@@ -168,10 +168,12 @@ void _Pragma( "entrypoint" ) ludcmp_main
+   ludcmp_chkerr = ludcmp_test( n, eps );
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   ludcmp_init();
+   ludcmp_main();
+ 
++  siccsrs();
+   return ( ludcmp_return() );
+ }
+diff -u -p a/kernel/isqrt/isqrt.c b/kernel/isqrt/isqrt.c
+--- a/kernel/isqrt/isqrt.c
++++ b/kernel/isqrt/isqrt.c
+@@ -147,10 +147,12 @@ void _Pragma( "entrypoint" ) isqrt_main(
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   isqrt_init();
+   isqrt_main();
++  siccsrs();
+   return isqrt_return();
+ }
+ 
+diff -u -p a/kernel/pm/pm.c b/kernel/pm/pm.c
+--- a/kernel/pm/pm.c
++++ b/kernel/pm/pm.c
+@@ -730,6 +730,7 @@ int pm_kernel( pm_data_t *pmdata )
+ }
+ 
+ 
++#include <siccsrs.h>
+ /*
+   Main function
+ */
+@@ -739,5 +740,6 @@ int main( void )
+   pm_init();
+   pm_main();
+ 
++  siccsrs();
+   return pm_return();
+ }
+diff -u -p a/kernel/countnegative/countnegative.c b/kernel/countnegative/countnegative.c
+--- a/kernel/countnegative/countnegative.c
++++ b/kernel/countnegative/countnegative.c
+@@ -131,10 +131,12 @@ void _Pragma( "entrypoint" ) countnegati
+   countnegative_sum(  countnegative_array );
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   countnegative_init();
+   countnegative_main();
+ 
++  siccsrs();
+   return ( countnegative_return() );
+ }
+diff -u -p a/kernel/fft/fft.c b/kernel/fft/fft.c
+--- a/kernel/fft/fft.c
++++ b/kernel/fft/fft.c
+@@ -323,11 +323,13 @@ void _Pragma( "entrypoint" ) fft_main( v
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   fft_init();
+ 
+   fft_main();
+ 
++  siccsrs();
+   return fft_return();
+ }
+diff -u -p a/kernel/cosf/cosf.c b/kernel/cosf/cosf.c
+--- a/kernel/cosf/cosf.c
++++ b/kernel/cosf/cosf.c
+@@ -77,10 +77,12 @@ void _Pragma( "entrypoint" ) cosf_main(
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   cosf_init();
+   cosf_main();
++  siccsrs();
+   return cosf_return();
+ }
+ 
+diff -u -p a/kernel/deg2rad/deg2rad.c b/kernel/deg2rad/deg2rad.c
+--- a/kernel/deg2rad/deg2rad.c
++++ b/kernel/deg2rad/deg2rad.c
+@@ -82,9 +82,11 @@ void _Pragma( "entrypoint" ) deg2rad_mai
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   deg2rad_init();
+   deg2rad_main();
++  siccsrs();
+   return deg2rad_return();
+ }
+diff -u -p a/kernel/insertsort/insertsort.c b/kernel/insertsort/insertsort.c
+--- a/kernel/insertsort/insertsort.c
++++ b/kernel/insertsort/insertsort.c
+@@ -130,10 +130,12 @@ void _Pragma( "entrypoint" ) insertsort_
+     insertsort_max_i = insertsort_iters_i;
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   insertsort_init();
+   insertsort_main();
++  siccsrs();
+   return ( insertsort_return() );
+ }
+ 
+diff -u -p a/kernel/fac/fac.c b/kernel/fac/fac.c
+--- a/kernel/fac/fac.c
++++ b/kernel/fac/fac.c
+@@ -87,11 +87,13 @@ void _Pragma( "entrypoint" ) fac_main ()
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main ( void )
+ {
+   fac_init();
+   fac_main();
+ 
++  siccsrs();
+   return ( fac_return() );
+ }
+ 
+diff -u -p a/kernel/filterbank/filterbank.c b/kernel/filterbank/filterbank.c
+--- a/kernel/filterbank/filterbank.c
++++ b/kernel/filterbank/filterbank.c
+@@ -157,6 +157,7 @@ void filterbank_core( float r[ 256 ],
+ }
+ 
+ 
++#include <siccsrs.h>
+ /*
+   Main function
+ */
+@@ -166,5 +167,6 @@ int main( void )
+   filterbank_init();
+   filterbank_main();
+ 
++  siccsrs();
+   return filterbank_return();
+ }
+diff -u -p a/kernel/st/st.c b/kernel/st/st.c
+--- a/kernel/st/st.c
++++ b/kernel/st/st.c
+@@ -217,10 +217,12 @@ void _Pragma( "entrypoint" ) st_main( vo
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   st_init();
+   st_main();
+ 
++  siccsrs();
+   return ( st_return() );
+ }
+diff -u -p a/kernel/sha/sha.c b/kernel/sha/sha.c
+--- a/kernel/sha/sha.c
++++ b/kernel/sha/sha.c
+@@ -211,9 +211,11 @@ int sha_return( void )
+   return ( sum - 261944 != 0 );
+ }
+ 
++#include <siccsrs.h>
+ int main ( void )
+ {
+   sha_init();
+   sha_main();
++  siccsrs();
+   return ( sha_return() );
+ }
+diff -u -p a/kernel/fir2dim/fir2dim.c b/kernel/fir2dim/fir2dim.c
+--- a/kernel/fir2dim/fir2dim.c
++++ b/kernel/fir2dim/fir2dim.c
+@@ -189,11 +189,13 @@ void _Pragma( "entrypoint" ) fir2dim_mai
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   fir2dim_init();
+   fir2dim_main();
+ 
++  siccsrs();
+   return ( fir2dim_return() );
+ }
+ 
+diff -u -p a/kernel/bitcount/bitcount.c b/kernel/bitcount/bitcount.c
+--- a/kernel/bitcount/bitcount.c
++++ b/kernel/bitcount/bitcount.c
+@@ -137,10 +137,12 @@ void _Pragma( "entrypoint" ) bitcount_ma
+   _Pragma( "flowrestriction 1*btbl_bitcount <= 4*call_btbl" )
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   bitcount_init();
+   bitcount_main();
+ 
++  siccsrs();
+   return ( bitcount_return() );
+ }
+diff -u -p a/kernel/bitonic/bitonic.c b/kernel/bitonic/bitonic.c
+--- a/kernel/bitonic/bitonic.c
++++ b/kernel/bitonic/bitonic.c
+@@ -148,10 +148,12 @@ void _Pragma ( "entrypoint" ) bitonic_ma
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   bitonic_init();
+   bitonic_main();
+ 
++  siccsrs();
+   return ( bitonic_return() );
+ }
+diff -u -p a/kernel/quicksort/quicksort.c b/kernel/quicksort/quicksort.c
+--- a/kernel/quicksort/quicksort.c
++++ b/kernel/quicksort/quicksort.c
+@@ -236,10 +236,12 @@ void _Pragma ( "entrypoint" ) quicksort_
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   quicksort_init();
+   quicksort_main();
+ 
++  siccsrs();
+   return ( quicksort_return() - 1527923179 != 0 );
+ }
+diff -u -p a/kernel/cubic/cubic.c b/kernel/cubic/cubic.c
+--- a/kernel/cubic/cubic.c
++++ b/kernel/cubic/cubic.c
+@@ -148,9 +148,11 @@ void cubic_solveCubic( float a, float b,
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   cubic_init();
+   cubic_main();
++  siccsrs();
+   return cubic_return();
+ }
+diff -u -p a/kernel/recursion/recursion.c b/kernel/recursion/recursion.c
+--- a/kernel/recursion/recursion.c
++++ b/kernel/recursion/recursion.c
+@@ -64,9 +64,11 @@ void _Pragma( "entrypoint" ) recursion_m
+   recursion_result = recursion_fib( recursion_input );
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   recursion_init();
+   recursion_main();
++  siccsrs();
+   return ( recursion_return() );
+ }
+diff -u -p a/kernel/iir/iir.c b/kernel/iir/iir.c
+--- a/kernel/iir/iir.c
++++ b/kernel/iir/iir.c
+@@ -154,10 +154,12 @@ void _Pragma( "entrypoint" ) iir_main( v
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   iir_init();
+   iir_main();
+ 
++  siccsrs();
+   return ( iir_return() - 400 != 0 );
+ }
+diff -u -p a/kernel/jfdctint/jfdctint.c b/kernel/jfdctint/jfdctint.c
+--- a/kernel/jfdctint/jfdctint.c
++++ b/kernel/jfdctint/jfdctint.c
+@@ -310,10 +310,12 @@ void _Pragma ( "entrypoint" ) jfdctint_m
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   jfdctint_init();
+   jfdctint_main();
+ 
++  siccsrs();
+   return ( jfdctint_return() );
+ }
+diff -u -p a/kernel/binarysearch/binarysearch.c b/kernel/binarysearch/binarysearch.c
+--- a/kernel/binarysearch/binarysearch.c
++++ b/kernel/binarysearch/binarysearch.c
+@@ -147,10 +147,12 @@ void _Pragma( "entrypoint" ) binarysearc
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   binarysearch_init();
+   binarysearch_main();
+ 
++  siccsrs();
+   return ( binarysearch_return() - ( -1 ) != 0 );
+ }
+diff -u -p a/kernel/minver/minver.c b/kernel/minver/minver.c
+--- a/kernel/minver/minver.c
++++ b/kernel/minver/minver.c
+@@ -247,11 +247,13 @@ void _Pragma( "entrypoint" ) minver_main
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   minver_init();
+   minver_main();
+ 
++  siccsrs();
+   return ( minver_return() );
+ }
+ 
+diff -u -p a/kernel/matrix1/matrix1.c b/kernel/matrix1/matrix1.c
+--- a/kernel/matrix1/matrix1.c
++++ b/kernel/matrix1/matrix1.c
+@@ -160,10 +160,12 @@ void _Pragma ( "entrypoint" ) matrix1_ma
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   matrix1_init();
+   matrix1_main();
+ 
++  siccsrs();
+   return matrix1_return();
+ }
+diff -u -p a/kernel/prime/prime.c b/kernel/prime/prime.c
+--- a/kernel/prime/prime.c
++++ b/kernel/prime/prime.c
+@@ -128,11 +128,13 @@ void _Pragma( "entrypoint" ) prime_main(
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   prime_init();
+   prime_main();
+ 
++  siccsrs();
+   return ( prime_return() ) ;
+ }
+ 
+diff -u -p a/kernel/complex_updates/complex_updates.c b/kernel/complex_updates/complex_updates.c
+--- a/kernel/complex_updates/complex_updates.c
++++ b/kernel/complex_updates/complex_updates.c
+@@ -126,11 +126,13 @@ void _Pragma( "entrypoint" ) complex_upd
+ 
+ }
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   complex_updates_init();
+ 
+   complex_updates_main();
+ 
++  siccsrs();
+   return complex_updates_return();
+ }
+diff -u -p a/kernel/rad2deg/rad2deg.c b/kernel/rad2deg/rad2deg.c
+--- a/kernel/rad2deg/rad2deg.c
++++ b/kernel/rad2deg/rad2deg.c
+@@ -81,9 +81,11 @@ void _Pragma ( "entrypoint" ) rad2deg_ma
+ }
+ 
+ 
++#include <siccsrs.h>
+ int main( void )
+ {
+   rad2deg_init();
+   rad2deg_main();
++  siccsrs();
+   return rad2deg_return();
+ }