├── doc ├── techReport │ └── bibliography.bib ├── wcet-paper │ ├── cc-by.pdf │ ├── oasics-logo-bw.pdf │ └── eval │ │ ├── pasim-evaluation.tex │ │ ├── pasim.patch │ │ ├── gsm_encode.patch │ │ ├── fmref.patch │ │ ├── pasim-eval.tikz │ │ └── wcet.csv ├── 20160705-wcet-falk.pdf ├── TACLeBench-Flowfacts.odt ├── TACLeBench-Flowfacts.pdf ├── code_review_1 │ ├── arithm_matrix.pdf │ ├── dsp_filters.pdf │ ├── image_coding.pdf │ ├── coding_encoding.pdf │ ├── dsp_filters.synctex.gz │ ├── sorting_searching.pdf │ ├── arithm_matrix.synctex.gz │ ├── image_coding.synctex.gz │ ├── coding_encoding.synctex.gz │ ├── sorting_searching.synctex.gz │ ├── image_coding.aux │ └── sorting_searching.aux ├── 2017-TACLeBench-LITES_Journal │ ├── cc-by.pdf │ ├── lites-logo.pdf │ └── taclebench-listings.sty ├── whitepaper.txt └── example │ └── astylerc.txt └── bench ├── parallel ├── PapaBench │ ├── conf │ │ ├── arm-elf.conf │ │ ├── powerpc-linux-gnu.conf │ │ ├── arm-elf-alone.conf │ │ ├── tricore-alone.conf │ │ ├── powerpc-elf-alone.conf │ │ └── Makefile.local.in │ ├── AUTHORS │ ├── sw │ │ ├── include │ │ │ ├── inttypes.h │ │ │ ├── std.h │ │ │ ├── math.h │ │ │ └── c │ │ │ │ ├── logger.h │ │ │ │ └── downlink.h │ │ ├── lib │ │ │ └── crt0 │ │ │ │ └── powerpc-elf-crt0.c │ │ └── airborne │ │ │ ├── autopilot │ │ │ ├── if_calib.h │ │ │ ├── spi.c │ │ │ ├── downlink.h │ │ │ ├── sirf.h │ │ │ ├── ubx.h │ │ │ ├── infrared.h │ │ │ ├── link_fbw.h │ │ │ ├── uart.h │ │ │ ├── ad7714.h │ │ │ ├── spi.h │ │ │ ├── adc.h │ │ │ └── gps.h │ │ │ └── fly_by_wire │ │ │ ├── uart.h │ │ │ └── spi.h │ ├── aadl_sources │ │ └── aadl │ │ │ └── propertysets │ │ │ └── Thread_Properties.aadl │ └── Loops_Bounds.txt ├── DEBIE │ ├── orig-docs │ │ ├── srd_1_3.pdf │ │ ├── sum_1_3.pdf │ │ └── design_1_4.pdf │ ├── terms_of_use-2014-05.pdf │ └── code │ │ ├── arch │ │ ├── arm7-x1 │ │ │ ├── wcc_memcpy.c │ │ │ ├── problems.h │ │ │ └── target_tm_data.h │ │ ├── arm7-x2 │ │ │ ├── wcc_memcpy.c │ │ │ ├── problems.h │ │ │ └── target_tm_data.h │ │ ├── arm7-x4 │ │ │ ├── wcc_memcpy.c │ │ │ ├── problems.h │ │ │ └── target_tm_data.h │ │ ├── arm7-x8 │ │ │ ├── wcc_memcpy.c │ │ │ ├── problems.h │ │ │ └── target_tm_data.h │ │ ├── arm7 │ │ │ ├── wcc_memcpy.c │ │ │ ├── problems.h │ │ │ └── target_tm_data.h │ │ ├── tc1796 │ │ │ ├── wcc_memcpy.c │ │ │ ├── problems.h │ │ │ └── target_tm_data.h │ │ ├── tc1797 │ │ │ ├── wcc_memcpy.c │ │ │ ├── problems.h │ │ │ └── target_tm_data.h │ │ ├── x86 │ │ │ ├── wcc_memcpy.c │ │ │ ├── rpt_ipoint.h │ │ │ ├── problems.h │ │ │ ├── target_tm_data.h │ │ │ └── build.sh │ │ ├── mpc5554 │ │ │ ├── readme.txt │ │ │ ├── problems.h │ │ │ ├── target_tm_data.h │ │ │ ├── host-build.sh │ │ │ └── target-build.sh │ │ └── arm7-lpc2138-mam │ │ │ ├── intvec.s │ │ │ ├── problems.h │ │ │ ├── crt0.s │ │ │ ├── target_tm_data.h │ │ │ ├── setup.bat │ │ │ ├── cpulib.c │ │ │ └── cpulib.h │ │ ├── reg52.h │ │ ├── classtab.h │ │ ├── harness │ │ └── target_reg52.h │ │ ├── ttc_ctrl.h │ │ ├── isr_ctrl.h │ │ ├── ad_conv.h │ │ ├── debie.c │ │ └── kernobj.h └── rosace │ ├── README.txt │ ├── thread1 │ └── math_private.h │ ├── thread2 │ └── math_private.h │ ├── thread3 │ └── math_private.h │ ├── thread4 │ └── math_private.h │ └── thread5 │ └── math_private.h ├── kernel ├── bitcount │ ├── LICENSE │ ├── bitcnt_1.c │ ├── bitcnt_2.c │ └── bitops.h ├── pm │ ├── ChangeLog.txt │ ├── pm_string.h │ ├── pm_math.h │ ├── pm_stdlib.c │ └── license.txt ├── quicksort │ ├── quicksort.h │ ├── quicksortstdlib.h │ └── math_private.h ├── insertsort │ └── ChangeLog.txt ├── sha │ ├── memset.h │ ├── memcpy.h │ ├── sha.h │ └── memhelper.h ├── cubic │ ├── pi.h │ ├── snipmath.h │ └── math_private.h ├── deg2rad │ ├── pi.h │ └── deg2rad.c ├── isqrt │ ├── pi.h │ ├── basicmath_libc.h │ ├── basicmath_libc.c │ ├── snipmath.h │ └── math_private.h ├── rad2deg │ ├── pi.h │ └── rad2deg.c ├── md5 │ └── ChangeLog.txt ├── recursion │ ├── ChangeLog.txt │ └── recursion.c ├── lms │ └── ChangeLog.txt ├── fac │ ├── ChangeLog.txt │ └── fac.c ├── ludcmp │ └── ChangeLog.txt ├── bitonic │ └── license.txt ├── filterbank │ └── license.txt ├── complex_updates │ └── ChangeLog.txt ├── countnegative │ └── ChangeLog.txt ├── cosf │ ├── cosf.c │ └── math_private.h ├── minver │ └── ChangeLog.txt └── fft │ └── ChangeLog.txt ├── sequential ├── ammunition │ ├── ammunition_stdlib.h │ ├── ammunition_stdio.h │ ├── ammunition_string.h │ └── ammunition_limits.h ├── dijkstra │ ├── input.h │ └── ChangeLog.txt ├── fmref │ ├── Changelog.txt │ └── license.txt ├── susan │ ├── wccmalloc.h │ ├── ChangeLog.txt │ ├── LICENSE │ ├── wccfile.h │ └── wccmalloc.c ├── gsm_dec │ ├── gsm.h │ ├── COPYRIGHT │ └── private.h ├── gsm_enc │ ├── ChangeLog.txt │ └── COPYRIGHT ├── audiobeam │ ├── audiobeamlibmalloc.c │ ├── audiobeamlibmalloc.h │ ├── license.txt │ ├── audiobeam.h │ └── audiobeamlibmath.h ├── anagram │ ├── anagram_compare.h │ ├── anagram_strings.h │ ├── anagram_stdlib.h │ └── anagram_ctype.h ├── h264_dec │ ├── h264_dec.h │ └── copyright.txt ├── ndes │ └── ChangeLog.txt ├── huff_dec │ └── ChangeLog.txt ├── huff_enc │ └── ChangeLog.txt ├── g723_enc │ ├── license.txt │ └── ChangeLog.txt ├── rijndael_dec │ └── rijndael_dec_libc.h ├── rijndael_enc │ └── rijndael_enc_libc.h ├── adpcm_dec │ └── ChangeLog.txt └── adpcm_enc │ └── ChangeLog.txt ├── app ├── powerwindow │ ├── wcclib.c │ ├── wcclib.h │ ├── powerwindow_HeaderFiles │ │ ├── powerwindow.h │ │ ├── powerwindow_controlexclusion_types.h │ │ ├── powerwindow_debounce_types.h │ │ ├── powerwindow_PW_Control_DRV_types.h │ │ ├── powerwindow_controlexclusion_private.h │ │ ├── powerwindow_PW_Control_PSG_Front_private.h │ │ ├── powerwindow_PW_Control_DRV_private.h │ │ ├── powerwindow_PW_Control_PSG_BackL_private.h │ │ ├── powerwindow_PW_Control_PSG_BackR_private.h │ │ ├── powerwindow_PW_Control_PSG_BackR_types.h │ │ ├── powerwindow_powerwindow_control_types.h │ │ ├── powerwindow_PW_Control_PSG_BackL_types.h │ │ ├── powerwindow_PW_Control_PSG_Front_types.h │ │ ├── powerwindow_debounce_private.h │ │ └── powerwindow_model_reference_types.h │ ├── powerwindow_const_params.c │ └── changeLog └── lift │ ├── liftlibio.h │ ├── liftlibcontrol.h │ └── README └── checkBenchmark.sh /doc/techReport/bibliography.bib: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/conf/arm-elf.conf: -------------------------------------------------------------------------------- 1 | ARCH = arm-elf- 2 | MACH = 3 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/conf/powerpc-linux-gnu.conf: -------------------------------------------------------------------------------- 1 | ARCH = powerpc-linux-gnu- 2 | MACH = 3 | -------------------------------------------------------------------------------- /doc/wcet-paper/cc-by.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/wcet-paper/cc-by.pdf -------------------------------------------------------------------------------- /doc/20160705-wcet-falk.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/20160705-wcet-falk.pdf -------------------------------------------------------------------------------- /bench/kernel/bitcount/LICENSE: -------------------------------------------------------------------------------- 1 | From http://www.snippets.org/. 2 | 3 | This code is FREE with no restrictions. 4 | -------------------------------------------------------------------------------- /bench/kernel/pm/ChangeLog.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/bench/kernel/pm/ChangeLog.txt -------------------------------------------------------------------------------- /doc/TACLeBench-Flowfacts.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/TACLeBench-Flowfacts.odt -------------------------------------------------------------------------------- /doc/TACLeBench-Flowfacts.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/TACLeBench-Flowfacts.pdf -------------------------------------------------------------------------------- /doc/code_review_1/arithm_matrix.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/code_review_1/arithm_matrix.pdf -------------------------------------------------------------------------------- /doc/code_review_1/dsp_filters.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/code_review_1/dsp_filters.pdf -------------------------------------------------------------------------------- /doc/code_review_1/image_coding.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/code_review_1/image_coding.pdf -------------------------------------------------------------------------------- /doc/wcet-paper/oasics-logo-bw.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/wcet-paper/oasics-logo-bw.pdf -------------------------------------------------------------------------------- /doc/code_review_1/coding_encoding.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/code_review_1/coding_encoding.pdf -------------------------------------------------------------------------------- /doc/code_review_1/dsp_filters.synctex.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/code_review_1/dsp_filters.synctex.gz -------------------------------------------------------------------------------- /doc/code_review_1/sorting_searching.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/code_review_1/sorting_searching.pdf -------------------------------------------------------------------------------- /bench/parallel/DEBIE/orig-docs/srd_1_3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/bench/parallel/DEBIE/orig-docs/srd_1_3.pdf -------------------------------------------------------------------------------- /bench/parallel/DEBIE/orig-docs/sum_1_3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/bench/parallel/DEBIE/orig-docs/sum_1_3.pdf -------------------------------------------------------------------------------- /doc/code_review_1/arithm_matrix.synctex.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/code_review_1/arithm_matrix.synctex.gz -------------------------------------------------------------------------------- /doc/code_review_1/image_coding.synctex.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/code_review_1/image_coding.synctex.gz -------------------------------------------------------------------------------- /bench/parallel/DEBIE/orig-docs/design_1_4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/bench/parallel/DEBIE/orig-docs/design_1_4.pdf -------------------------------------------------------------------------------- /bench/parallel/DEBIE/terms_of_use-2014-05.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/bench/parallel/DEBIE/terms_of_use-2014-05.pdf -------------------------------------------------------------------------------- /doc/2017-TACLeBench-LITES_Journal/cc-by.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/2017-TACLeBench-LITES_Journal/cc-by.pdf -------------------------------------------------------------------------------- /doc/code_review_1/coding_encoding.synctex.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/code_review_1/coding_encoding.synctex.gz -------------------------------------------------------------------------------- /doc/code_review_1/sorting_searching.synctex.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/code_review_1/sorting_searching.synctex.gz -------------------------------------------------------------------------------- /doc/2017-TACLeBench-LITES_Journal/lites-logo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tacle/tacle-bench/HEAD/doc/2017-TACLeBench-LITES_Journal/lites-logo.pdf -------------------------------------------------------------------------------- /bench/sequential/ammunition/ammunition_stdlib.h: -------------------------------------------------------------------------------- 1 | #ifndef AMMUNITION_STDLIB_H 2 | #define AMMUNITION_STDLIB_H 3 | 4 | int ammunition_atoi ( const char *str ); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /bench/kernel/quicksort/quicksort.h: -------------------------------------------------------------------------------- 1 | #ifndef __QUICKSORT_H 2 | #define __QUICKSORT_H 3 | 4 | struct quicksort_3DVertexStruct { 5 | unsigned int x, y, z; 6 | double distance; 7 | }; 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /bench/sequential/dijkstra/input.h: -------------------------------------------------------------------------------- 1 | #ifndef INPUT_H 2 | #define INPUT_H 3 | 4 | #define NUM_NODES 100 5 | 6 | extern unsigned char dijkstra_AdjMatrix[ NUM_NODES ][ NUM_NODES ]; 7 | 8 | #endif /* INPUT_H */ 9 | -------------------------------------------------------------------------------- /doc/wcet-paper/eval/pasim-evaluation.tex: -------------------------------------------------------------------------------- 1 | \documentclass[border=0mm]{standalone} 2 | \usepackage{pgfplots} 3 | 4 | \begin{document} 5 | \def\resultfile{wcet.csv} 6 | \input{pasim-eval.tikz} 7 | 8 | \end{document} -------------------------------------------------------------------------------- /bench/sequential/ammunition/ammunition_stdio.h: -------------------------------------------------------------------------------- 1 | #ifndef AMMUNITION_STDIO_H 2 | #define AMMUNITION_STDIO_H 3 | 4 | int ammunition_sprintf_d( char *s, int number ); 5 | 6 | int ammunition_sprintf_u( char *s, unsigned int number ); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /bench/sequential/fmref/Changelog.txt: -------------------------------------------------------------------------------- 1 | 2017-06-27 2 | - Remove unused variables 3 | - Introduce fmref_init and fmref_return functions. 4 | - Add prefix fmref_ to global variables. 5 | - Introduce dummy initialization in ieee754_rem_pio2f to please linter. 6 | -------------------------------------------------------------------------------- /bench/app/powerwindow/wcclib.c: -------------------------------------------------------------------------------- 1 | #include "wcclib.h" 2 | 3 | 4 | void *wcclib_memset( void *s, int c, size_t n ) 5 | { 6 | unsigned char *p = s; 7 | 8 | _Pragma( "loopbound min 1 max 368" ) 9 | while ( n-- ) 10 | *p++ = ( unsigned char ) c; 11 | return ( s ); 12 | } 13 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/conf/arm-elf-alone.conf: -------------------------------------------------------------------------------- 1 | ARCH = arm-elf- 2 | MACH = 3 | STACK = 0x80000000 4 | 5 | ARCH_CRT0=\ 6 | $(BASE)/sw/lib/crt0/arm-elf-crt0.c 7 | 8 | ARCH_SOURCES= 9 | 10 | ARCH_CFLAGS=\ 11 | -DSTACK=\"$(STACK)\" 12 | 13 | ARCH_LDFLAGS=\ 14 | -nostartfiles 15 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/conf/tricore-alone.conf: -------------------------------------------------------------------------------- 1 | ARCH = tricore- 2 | MACH = 3 | STACK = 0xd0003ffc 4 | 5 | #ARCH_CRT0=\ 6 | #$(BASE)/sw/lib/crt0/arm-elf-crt0.c 7 | 8 | ARCH_SOURCES= 9 | 10 | ARCH_CFLAGS=\ 11 | -DSTACK=\"$(STACK)\" 12 | 13 | ARCH_LDFLAGS=\ 14 | #-nostartfiles 15 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/conf/powerpc-elf-alone.conf: -------------------------------------------------------------------------------- 1 | ARCH = powerpc-elf- 2 | MACH = 3 | STACK = 0x80000000 4 | 5 | ARCH_CRT0=\ 6 | $(BASE)/sw/lib/crt0/powerpc-elf-crt0.c 7 | 8 | ARCH_SOURCES= 9 | 10 | ARCH_CFLAGS=\ 11 | -DSTACK=\"$(STACK)\" 12 | 13 | ARCH_LDFLAGS=\ 14 | -nostdlib \ 15 | -nostartfiles 16 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-x1/wcc_memcpy.c: -------------------------------------------------------------------------------- 1 | #include "keyword.h" 2 | 3 | void wcc_memcpy( void *dest, void *src, int size ) 4 | { 5 | int i; 6 | _Pragma( "loopbound min 1 max 4" ) 7 | for ( i = 0; i < size; i++ ) 8 | ( ( unsigned char * )dest )[ i ] = ( ( unsigned char * )src )[ i ]; 9 | return; 10 | } 11 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-x2/wcc_memcpy.c: -------------------------------------------------------------------------------- 1 | #include "keyword.h" 2 | 3 | void wcc_memcpy( void *dest, void *src, int size ) 4 | { 5 | int i; 6 | _Pragma( "loopbound min 1 max 4" ) 7 | for ( i = 0; i < size; i++ ) 8 | ( ( unsigned char * )dest )[ i ] = ( ( unsigned char * )src )[ i ]; 9 | return; 10 | } 11 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-x4/wcc_memcpy.c: -------------------------------------------------------------------------------- 1 | #include "keyword.h" 2 | 3 | void wcc_memcpy( void *dest, void *src, int size ) 4 | { 5 | int i; 6 | _Pragma( "loopbound min 1 max 4" ) 7 | for ( i = 0; i < size; i++ ) 8 | ( ( unsigned char * )dest )[ i ] = ( ( unsigned char * )src )[ i ]; 9 | return; 10 | } 11 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-x8/wcc_memcpy.c: -------------------------------------------------------------------------------- 1 | #include "keyword.h" 2 | 3 | void wcc_memcpy( void *dest, void *src, int size ) 4 | { 5 | int i; 6 | _Pragma( "loopbound min 1 max 4" ) 7 | for ( i = 0; i < size; i++ ) 8 | ( ( unsigned char * )dest )[ i ] = ( ( unsigned char * )src )[ i ]; 9 | return; 10 | } 11 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7/wcc_memcpy.c: -------------------------------------------------------------------------------- 1 | #include "keyword.h" 2 | 3 | void wcc_memcpy( void *dest, void *src, int size ) 4 | { 5 | int i; 6 | _Pragma( "loopbound min 1 max 4" ) 7 | for ( i = 0; i < size; i++ ) 8 | ( ( unsigned char * )dest )[ i ] = ( ( unsigned char * )src )[ i ]; 9 | return; 10 | } 11 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/tc1796/wcc_memcpy.c: -------------------------------------------------------------------------------- 1 | #include "keyword.h" 2 | 3 | void wcc_memcpy( void *dest, void *src, int size ) 4 | { 5 | int i; 6 | _Pragma( "loopbound min 1 max 4" ) 7 | for ( i = 0; i < size; i++ ) 8 | ( ( unsigned char * )dest )[ i ] = ( ( unsigned char * )src )[ i ]; 9 | return; 10 | } 11 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/tc1797/wcc_memcpy.c: -------------------------------------------------------------------------------- 1 | #include "keyword.h" 2 | 3 | void wcc_memcpy( void *dest, void *src, int size ) 4 | { 5 | int i; 6 | _Pragma( "loopbound min 1 max 4" ) 7 | for ( i = 0; i < size; i++ ) 8 | ( ( unsigned char * )dest )[ i ] = ( ( unsigned char * )src )[ i ]; 9 | return; 10 | } 11 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/x86/wcc_memcpy.c: -------------------------------------------------------------------------------- 1 | #include "keyword.h" 2 | 3 | void wcc_memcpy( void *dest, void *src, int size ) 4 | { 5 | int i; 6 | _Pragma( "loopbound min 2 max 4" ) 7 | for ( i = 0; i < size; i++ ) 8 | ( ( unsigned char * )dest )[ i ] = ( ( unsigned char * )src )[ i ]; 9 | return; 10 | } 11 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/AUTHORS: -------------------------------------------------------------------------------- 1 | Authors of PapaBench 2 | Fadia Nemer 3 | Hugues Cassé 4 | 5 | Authors of the initial project "Paparazzi" 6 | Project website 7 | Pascal Brisset 8 | Antoine Drouin 9 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/include/inttypes.h: -------------------------------------------------------------------------------- 1 | #ifndef INTTYPES_H_ 2 | #define INTTYPES_H_ 3 | 4 | typedef signed char int8_t; 5 | typedef unsigned char uint8_t; 6 | typedef signed short int16_t; 7 | typedef unsigned short uint16_t; 8 | typedef signed long int32_t; 9 | typedef unsigned long uint32_t; 10 | 11 | #endif // INTTYPES_H_ 12 | 13 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/lib/crt0/powerpc-elf-crt0.c: -------------------------------------------------------------------------------- 1 | int main( int argc, char **argv, char **envp ); 2 | 3 | static char *argv[ ] = { "", 0 }; 4 | static char *envp[ ] = { 0 }; 5 | 6 | void _start( void ) 7 | { 8 | __asm( "lis 1," STACK ">>16" ); 9 | __asm( "addis 1,1," STACK "&0xffff" ); 10 | main( 1, argv, envp ); 11 | while ( 1 ); 12 | } 13 | -------------------------------------------------------------------------------- /bench/parallel/rosace/README.txt: -------------------------------------------------------------------------------- 1 | Hand-written C POSIX implementation of the ROSACE Case Study from 2 | https://svn.onera.fr/schedmcore/branches/ROSACE_CaseStudy/c_posix_implementation/ 3 | 4 | The implementation is made of 5 threads assumed to be running at various 5 | frequencies. The 5 original pthread threads were separated into distinct 6 | sub-folders per thread here. 7 | -------------------------------------------------------------------------------- /bench/app/powerwindow/wcclib.h: -------------------------------------------------------------------------------- 1 | #ifndef _WCCLIB 2 | #define _WCCLIB 3 | 4 | #define size_t unsigned long 5 | #define int32_t int 6 | #define uint32_t unsigned int 7 | #define u_int16_t unsigned short 8 | #define u_int32_t unsigned int 9 | 10 | #define NULL ( (void *) 0) 11 | 12 | void *wcclib_memset( void *s, int c, size_t n ); 13 | 14 | #endif // _WCCLIB 15 | -------------------------------------------------------------------------------- /bench/sequential/susan/wccmalloc.h: -------------------------------------------------------------------------------- 1 | #ifndef _WCCMALLOC_H 2 | #define _WCCMALLOC_H 3 | 4 | void *susan_wccmalloc( unsigned int numberOfBytes ); 5 | //! Frees ALL allocated memory space 6 | void susan_wccfreeall( void ); 7 | void *susan_wccmemcpy( void *dstpp, const void *srcpp, unsigned int len ); 8 | void susan_wccmemset( void *p, int value, unsigned int num ); 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /bench/sequential/gsm_dec/gsm.h: -------------------------------------------------------------------------------- 1 | #ifndef GSM_DEC_GSM_H 2 | #define GSM_DEC_GSM_H 3 | 4 | /* 5 | Interface 6 | */ 7 | typedef struct gsm_state *gsm; 8 | typedef short gsm_signal; /* signed 16 bit */ 9 | typedef unsigned char gsm_byte; 10 | typedef gsm_byte gsm_frame[ 33 ]; /* 33 * 8 bits */ 11 | 12 | #define GSM_MAGIC 0xD /* 13 kbit/s RPE-LTP */ 13 | 14 | #endif /* GSM_DEC_GSM_H */ 15 | -------------------------------------------------------------------------------- /bench/sequential/gsm_enc/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | 2017-06-28: 2 | - Rename benchmark to gsm_enc. 3 | - Add prefix 'gsm_enc_'. 4 | - Introduce gsm_enc_init and gsm_enc_return functions. 5 | - Rewrite negative shifts to avoid undefined behavior. 6 | - Fix comparisons between signed and unsigned types. 7 | - Remove unused variables and parameters. 8 | - Fix memory corruption in gsm_enc_Short_term_analysis_filtering. 9 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/x86/rpt_ipoint.h: -------------------------------------------------------------------------------- 1 | /* 2 | rpt_ipoint.h for intel/linux 3 | 4 | Part of the DEBIE-1 benchmark. 5 | 6 | $Id: rpt_ipoint.h,v 1.1 2008/03/28 08:22:18 niklas Exp $ 7 | */ 8 | 9 | 10 | #ifndef RPT_IPOINT_H 11 | #define RPT_IPOINT_H 12 | 13 | #include 14 | 15 | //#define RPT_Ipoint(N) printf ("RPT_Ipoint %d\n", N) 16 | #define RPT_Ipoint(N) 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/include/std.h: -------------------------------------------------------------------------------- 1 | #ifndef STD_H 2 | #define STD_H 3 | 4 | #include 5 | 6 | #ifndef FALSE 7 | #define FALSE 0 8 | #endif 9 | #ifndef TRUE 10 | #define TRUE (!FALSE) 11 | #endif 12 | 13 | typedef uint8_t bool_t; // Boolean values 14 | 15 | #ifndef cbi 16 | #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) 17 | #endif 18 | #ifndef sbi 19 | #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) 20 | #endif 21 | 22 | #endif /* STD_H */ 23 | -------------------------------------------------------------------------------- /bench/sequential/susan/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | 2017-07-04 2 | - Removed self-assignment to avoid clangs self-assign warning. 3 | - Introduced susan_initm susan_main and susan_return. 4 | - Fix possible division by zero to please tacle-lint. 5 | - Removed unused variables. 6 | - Added prefix 'susan_'. 7 | - Removed exit_on_error function. 8 | - Removed PowerPC specific typedef. 9 | 10 | 2017-08-18: 11 | - Give explicit name to former anonymous struct to silence g++ warnings. 12 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/aadl_sources/aadl/propertysets/Thread_Properties.aadl: -------------------------------------------------------------------------------- 1 | property set Thread_Properties is 2 | 3 | Non_Preemptive : constant aadlinteger =>0; 4 | System_Preemption : constant aadlinteger =>1; 5 | Time_Sharing_Preemption : constant aadlinteger => 2; 6 | 7 | Preemption : enumeration (Non_Preemptive,System_Preemption,Time_Sharing_Preemption) 8 | applies to (thread); 9 | Entrypoints: list of Compute_Entrypoint applies to (thread); 10 | end Thread_Properties; -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/mpc5554/readme.txt: -------------------------------------------------------------------------------- 1 | This folder contains header files and a build script 2 | that compile and link the DEBIE-1 DPU SW benchmark for 3 | execution on an MPC5554 processor. The completed 4 | executable file is also provided. 5 | 6 | The generated executable runs the test cases defined 7 | in harness.c once and then stops. The executable does not 8 | generate any output. 9 | 10 | This port was contributed by Simon Wegener of AbsInt Angewandte 11 | Informatik GmbH. 12 | 13 | -------------------------------------------------------------------------------- /bench/kernel/insertsort/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | - Added general TACLeBench header to beginning of source code 2 | - Removed #ifdef DEBUG till #endif 3 | - Declaration of global variable unsigned int a[11] changed the variable name to insertion_a[11] as well as for iters_i, min_i, max_i, iters_a, min_a, max_a; 4 | - Created insertsort_initialize(), insertsort_init() and insertsort_return(); 5 | - Removed all PROFILINGs 6 | - Made i volatile for the initialization of the data array 7 | - Added a checksum in the return function 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /doc/whitepaper.txt: -------------------------------------------------------------------------------- 1 | This is a plain text starting point to collect stuff. 2 | 3 | Next step: document selection of benchmarks and why 4 | 5 | 6 | Open issues: 7 | 8 | There is an issue with size_t definition in a benchmark (e.g., bitcnt). 9 | Definition of size_t (and similar) may give trouble when including 10 | other include files. We do not want library definitions in benchmarks. 11 | However, I think it would be cleaner to include stddef.h instead 12 | of defining size_t in a benchmark. That should be ok for all C compiler. 13 | -------------------------------------------------------------------------------- /doc/wcet-paper/eval/pasim.patch: -------------------------------------------------------------------------------- 1 | diff --git a/simulator/src/dbgstack.cc b/simulator/src/dbgstack.cc 2 | index bcb4e35..7a7cffa 100644 3 | --- a/simulator/src/dbgstack.cc 4 | +++ b/simulator/src/dbgstack.cc 5 | @@ -99,7 +99,7 @@ namespace patmos 6 | << sim.GPR.get(rsp).get() << "\n"; 7 | #endif 8 | // we are currently further down the shadow stack 9 | - return false; 10 | + // return false; 11 | } 12 | // Note that at the moment we store the size of the stack cache, 13 | // *not* the TOS address. 14 | -------------------------------------------------------------------------------- /bench/sequential/audiobeam/audiobeamlibmalloc.c: -------------------------------------------------------------------------------- 1 | #include "audiobeamlibmalloc.h" 2 | 3 | #define AUDIOBEAM_HEAP_SIZE 10000 4 | 5 | static char audiobeam_simulated_heap[ AUDIOBEAM_HEAP_SIZE ]; 6 | static unsigned int audiobeam_freeHeapPos; 7 | 8 | void *audiobeam_malloc( unsigned int numberOfBytes ) 9 | { 10 | void *currentPos = ( void * )&audiobeam_simulated_heap[ audiobeam_freeHeapPos ]; 11 | /* Get a 4-byte address for alignment purposes */ 12 | audiobeam_freeHeapPos += ( ( numberOfBytes + 4 ) & ( unsigned int )0xfffffffc ); 13 | return currentPos; 14 | } 15 | -------------------------------------------------------------------------------- /bench/sequential/audiobeam/audiobeamlibmalloc.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 2.0 5 | 6 | Name: audiobeamlibmalloc.c 7 | 8 | Author: unkown 9 | 10 | Function: Memory allocation. 11 | 12 | Source: Sun Microsystems and Cygnus 13 | 14 | Original name: Unknown 15 | 16 | Changes: No major functional changes. 17 | 18 | License: see license.txt 19 | 20 | */ 21 | 22 | #ifndef AUDIOBEAM_MALLOC_H 23 | #define AUDIOBEAM_MALLOC_H 24 | 25 | void *audiobeam_malloc( unsigned int numberOfBytes ); 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /bench/sequential/anagram/anagram_compare.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This header is part of the TACLeBench benchmark suite. 4 | Version 2.0 5 | 6 | Name: anagram_compare.h 7 | 8 | Author: Raymond Chen 9 | 10 | Function: This header contains the comparison functions used by anagram. 11 | 12 | Source: unknown 13 | 14 | Original name: anagram 15 | 16 | Changes: See ChangeLog.txt 17 | 18 | License: See anagram.c 19 | 20 | */ 21 | 22 | #ifndef ANAGRAM_COMPARE_H 23 | #define ANAGRAM_COMPARE_H 24 | 25 | int anagram_CompareFrequency( char *pch1, char *pch2 ); 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /bench/sequential/anagram/anagram_strings.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This header is part of the TACLeBench benchmark suite. 4 | Version 2.0 5 | 6 | Name: anagram_strings.h 7 | 8 | Author: Raymond Chen 9 | 10 | Function: This header contains some C standard library functions used by anagram. 11 | 12 | Source: unknown 13 | 14 | Original name: anagram 15 | 16 | Changes: See ChangeLog.txt 17 | 18 | License: See anagram.c 19 | 20 | */ 21 | 22 | #ifndef ANAGRAM_STRINGS_H 23 | #define ANAGRAM_STRINGS_H 24 | 25 | void anagram_bzero( char *p, unsigned long len ); 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /bench/kernel/sha/memset.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: menset.h 7 | 8 | Author: Torbjorn Granlund 9 | 10 | NIST Secure Hash Algorithm 11 | 12 | Copy memory to memory until the specified number of bytes 13 | has been copied. Overlap is NOT handled correctly. 14 | 15 | Source: GNU C Library 16 | 17 | License: GNU Lesser General Public License 18 | 19 | Changes: no major functional changes 20 | */ 21 | #include "memhelper.h" 22 | 23 | void *sha_glibc_memset( void *dstpp, int c, size_t len ); 24 | 25 | -------------------------------------------------------------------------------- /bench/sequential/ammunition/ammunition_string.h: -------------------------------------------------------------------------------- 1 | #ifndef AMMUNITION_STRING_H 2 | #define AMMUNITION_STRING_H 3 | 4 | 5 | typedef unsigned int size_t; 6 | 7 | /* 8 | Forward declaration of functions 9 | */ 10 | 11 | void *ammunition_memcpy( void *, const void *, size_t ); 12 | void *ammunition_memset( void *, int, size_t ); 13 | int ammunition_memcmp ( const void *mem1, const void *mem2, size_t size ); 14 | void *ammunition_memmove ( void *s1, const void *s2, size_t n ); 15 | int ammunition_strcmp ( const char *str1, const char *str2 ); 16 | 17 | #endif /* AMMUNITION_STRING_H */ 18 | 19 | -------------------------------------------------------------------------------- /bench/kernel/cubic/pi.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.9 5 | 6 | Name: pi 7 | 8 | Author: unknown 9 | 10 | Function: Header file for definition of pi 11 | 12 | Source: MiBench 13 | http://wwweb.eecs.umich.edu/mibench 14 | 15 | Original name: basicmath_small 16 | 17 | Changes: no major functional changes 18 | 19 | License: this code is FREE with no restrictions 20 | 21 | */ 22 | 23 | #ifndef PI__H 24 | #define PI__H 25 | 26 | #ifndef PI 27 | #define PI 3.14f 28 | #endif 29 | 30 | 31 | #endif /* PI__H */ 32 | -------------------------------------------------------------------------------- /bench/kernel/deg2rad/pi.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.9 5 | 6 | Name: pi 7 | 8 | Author: unknown 9 | 10 | Function: Header file for definition of pi 11 | 12 | Source: MiBench 13 | http://wwweb.eecs.umich.edu/mibench 14 | 15 | Original name: basicmath_small 16 | 17 | Changes: no major functional changes 18 | 19 | License: this code is FREE with no restrictions 20 | 21 | */ 22 | 23 | #ifndef PI__H 24 | #define PI__H 25 | 26 | #ifndef PI 27 | #define PI 3.14f 28 | #endif 29 | 30 | 31 | #endif /* PI__H */ 32 | -------------------------------------------------------------------------------- /bench/kernel/isqrt/pi.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.9 5 | 6 | Name: pi 7 | 8 | Author: unknown 9 | 10 | Function: Header file for definition of pi 11 | 12 | Source: MiBench 13 | http://wwweb.eecs.umich.edu/mibench 14 | 15 | Original name: basicmath_small 16 | 17 | Changes: no major functional changes 18 | 19 | License: this code is FREE with no restrictions 20 | 21 | */ 22 | 23 | #ifndef PI__H 24 | #define PI__H 25 | 26 | #ifndef PI 27 | #define PI 3.14f 28 | #endif 29 | 30 | 31 | #endif /* PI__H */ 32 | -------------------------------------------------------------------------------- /bench/kernel/rad2deg/pi.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.9 5 | 6 | Name: pi 7 | 8 | Author: unknown 9 | 10 | Function: Header file for definition of pi 11 | 12 | Source: MiBench 13 | http://wwweb.eecs.umich.edu/mibench 14 | 15 | Original name: basicmath_small 16 | 17 | Changes: no major functional changes 18 | 19 | License: this code is FREE with no restrictions 20 | 21 | */ 22 | 23 | #ifndef PI__H 24 | #define PI__H 25 | 26 | #ifndef PI 27 | #define PI 3.14f 28 | #endif 29 | 30 | 31 | #endif /* PI__H */ 32 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow.h 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: headerfile 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow.h 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | 20 | #ifndef NULL 21 | #define NULL ((viod *) 0) 22 | #endif 23 | -------------------------------------------------------------------------------- /bench/kernel/md5/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: md5.c 2 | Original provenience: RSA Data Security, Inc. 3 | 4 | Original w O3L 26823249 5 | 2017-04-18: 6 | - Annotated md5_main as entry-point for timing analysis 7 | 2016-04-26: 8 | - Added generic TACLeBench header 9 | 2016-04-27: 10 | - renaming of functions and variables 11 | - removed static form functions and global variables 12 | 2016-05-19 13 | - Applied Wolfgang's patch to increase context->state to avoid 14 | wrong indexing in encode that is called for 16 elements. 15 | 16 | 2017-06-27 17 | - Introduce md5_return function and update type signature of md5_main. 18 | -------------------------------------------------------------------------------- /bench/kernel/recursion/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: recursion.c 2 | Original provenience: Mälardalen benchmark suite, www.mrtc..... 3 | 4 | 2017-04-18: 5 | - Annotated recursion_main as entry-point for timing analysis 6 | 7 | 2015-10-12: 8 | - Remove comment on line 1 9 | - Added generic TACLeBench header to line 1 10 | - Renamed function fib to recursion_fib 11 | - Added forward decleration of functions 12 | - Added recursion_main, recursion_init, recursion_return function 13 | - create input value for recursion_fib function 14 | - Applied Code Style 15 | - Added checksum in return function 16 | - Made input value volatile 17 | 18 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-lpc2138-mam/intvec.s: -------------------------------------------------------------------------------- 1 | .code 32 2 | 3 | .section .vectors, "ax" 4 | 5 | B __asyst_start /* RESET INTERRUPT */ 6 | B __DefaultHandler /* UNDEFINED INSTRUCTION INTERRUPT */ 7 | B __DefaultHandler /* SOFTWARE INTERRUPT */ 8 | B __DefaultHandler /* ABORT (PREFETCH) INTERRUPT */ 9 | B __DefaultHandler /* ABORT (DATA) INTERRUPT */ 10 | B __DefaultHandler /* RESERVED */ 11 | B __DefaultHandler /* IRQ INTERRUPT */ 12 | B __DefaultHandler /* FIQ INTERRUPT */ 13 | 14 | .text 15 | 16 | __DefaultHandler: 17 | b __DefaultHandler 18 | 19 | .end 20 | -------------------------------------------------------------------------------- /bench/sequential/susan/LICENSE: -------------------------------------------------------------------------------- 1 | This code is issued for research purposes only and remains the 2 | property of the UK Secretary of State for Defence. This code must 3 | not be passed on without this header information being kept 4 | intact. This code must not be sold. 5 | 6 | A UK patent has been granted: "Method for digitally processing 7 | images to determine the position of edges and/or corners therein for 8 | guidance of unmanned vehicle", UK Patent 2272285. Proprietor: 9 | Secretary of State for Defence, UK. 15 January 1997 10 | 11 | 12 | Source Code obtained from: 13 | 14 | http://www.fmrib.ox.ac.uk/~steve/susan/index.html 15 | -------------------------------------------------------------------------------- /bench/kernel/sha/memcpy.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: memcpy.c 7 | 8 | Author: Torbjorn Granlund 9 | 10 | NIST Secure Hash Algorithm 11 | 12 | Copy memory to memory until the specified number of bytes 13 | has been copied. Overlap is NOT handled correctly. 14 | 15 | Source: GNU C Library 16 | 17 | Changes: no major functional changes 18 | 19 | License: Copyright (C) 1991, 1997, 2003 Free Software Foundation, Inc. 20 | */ 21 | 22 | #include "memhelper.h" 23 | #include "sha.h" 24 | 25 | void *sha_glibc_memcpy( void *dstpp, const void *srcpp, size_t len ); 26 | 27 | -------------------------------------------------------------------------------- /bench/sequential/anagram/anagram_stdlib.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This header is part of the TACLeBench benchmark suite. 4 | Version 2.0 5 | 6 | Name: anagram_stdlib.h 7 | 8 | Author: Raymond Chen 9 | 10 | Function: This header contains some C standard library functions used by anagram. 11 | 12 | Source: unknown 13 | 14 | Original name: anagram 15 | 16 | Changes: See ChangeLog.txt 17 | 18 | License: See anagram.c 19 | 20 | */ 21 | 22 | #ifndef ANAGRAM_STDLIB_H 23 | #define ANAGRAM_STDLIB_H 24 | 25 | void *anagram_malloc( unsigned int numberOfBytes ); 26 | 27 | void anagram_qsort( void *va, unsigned long n, unsigned long es ); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/conf/Makefile.local.in: -------------------------------------------------------------------------------- 1 | 2 | # Architecture selection 3 | # Uncomment the line matching your architecture and your machine 4 | # Targets marked -alone- does not embed the CRT0 and minimal libc 5 | # and the matching .conf file may be tuned. 6 | 7 | #CONF=powerpc-elf-alone 8 | #CONF=powerpc-linux-gnu 9 | #CONF=arm-elf 10 | #CONF=arm-elf-alone 11 | CONF=tricore-alone 12 | 13 | # Tools 14 | CC = @WCCBIN@ 15 | LD = @WCCBIN@ 16 | SIZE = $(ARCH)size 17 | OBJCOPY = $(ARCH)objcopy 18 | OBJDUMP = $(ARCH)objdump -d 19 | 20 | 21 | # Other configuration 22 | USER_CFLAGS = -O0 -I @abs_srcdir@/../../PapaBench/avr/include/avr 23 | USER_LDFLAGS = 24 | 25 | -------------------------------------------------------------------------------- /bench/sequential/h264_dec/h264_dec.h: -------------------------------------------------------------------------------- 1 | #ifndef __H264DEC_H 2 | #define __H264DEC_H 3 | 4 | typedef enum { 5 | P_SLICE = 0, 6 | B_SLICE, 7 | I_SLICE, 8 | SP_SLICE, 9 | SI_SLICE 10 | } h264_dec_SliceType; 11 | 12 | // image parameters 13 | typedef struct h264_dec_img_par { 14 | int direct_spatial_mv_pred_flag; 15 | int type; 16 | int width_cr; 17 | int pix_c_y; 18 | int pix_c_x; 19 | unsigned short mpr[ 16 ][ 16 ]; 20 | unsigned int chroma_log2_weight_denom; 21 | int wp_round_chroma; 22 | unsigned int apply_weights; 23 | int num_blk8x8_uv; 24 | int mb_cr_size_x; 25 | int mb_cr_size_y; 26 | 27 | } h264_dec_ImageParameters; 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /bench/kernel/isqrt/basicmath_libc.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.9 5 | 6 | Name: basicmath_libc 7 | 8 | Author: unknown 9 | 10 | Function: Header file for declaration of basicmath_memcpy 11 | 12 | Source: MiBench 13 | http://wwweb.eecs.umich.edu/mibench 14 | 15 | Original name: basicmath_small 16 | 17 | Changes: no major functional changes 18 | 19 | License: this code is FREE with no restrictions 20 | 21 | */ 22 | 23 | #ifndef __BASICMATH_LIBC_H_ 24 | #define __BASICMATH_LIBC_H_ 25 | 26 | void basicmath_memcpy( void *a, const void *b, int c ); 27 | 28 | #endif // __BASICMATH_LIBC_H_ 29 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/mpc5554/problems.h: -------------------------------------------------------------------------------- 1 | /* 2 | problems.h for mpc5554/gcc. 3 | Part of the DEBIE-1 benchmark. 4 | */ 5 | 6 | 7 | #ifndef PROBLEMS_H 8 | #define PROBLEMS_H 9 | 10 | #define FOR_PROBLEM(P) {} 11 | /* A marker to indicate that the program is about to execute */ 12 | /* a test case that is to be included in the analysis problem */ 13 | /* identified by P. */ 14 | 15 | #define END_PROBLEM {} 16 | /* A marker to indicate the end of a test case that is to be */ 17 | /* included in the analysis problem identified by the last */ 18 | /* executed FOR_PROBLEM. */ 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /bench/sequential/ndes/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: ndes.c 2 | Original provenience: 3 | 4 | 2017-04-18: 5 | - Annotated ndes_main as entry-point for timing analysis 6 | 7 | 2015-10-21: 8 | - Remove comment on line 1 9 | - Added generic TACLeBench header to line 1 10 | - Renamed functions to {name} to ndes_{name} 11 | - Renamed globale variables to {name} to ndes_{name} 12 | - Renamed structs to {name} to ndes_{name} 13 | - Removed the profiling code 14 | - Added forward decleration of functions 15 | - Added ndes_main function 16 | - Added ndes_init function 17 | - Initialize ndes_ipc1 and ndes_ipc2 in ndes_init function 18 | - int main variables to global variables for the ndes_init function 19 | - Applied Code Style 20 | 21 | -------------------------------------------------------------------------------- /bench/kernel/lms/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: lms.c 2 | Original provenience: C Algorithms for Real-Time DSP by Paul M. Embree, pp. 159,229-231 3 | 4 | 2016-06-16: 5 | - The original source code from Paul M. Embree had several problems: 6 | * Source code was copied from a copyrighted book 7 | * Input generation used external math functions 8 | * Thus execution time of input generation dominated total execution time 9 | * Several arrays where uninitalised 10 | * Output printed to stdout but was not checked for correctness 11 | * lms() used static variables for internal state 12 | - Completely rewritten and published with ISC license 13 | - Replaced double constants using exponent notation by numerical constant. 14 | -------------------------------------------------------------------------------- /bench/kernel/pm/pm_string.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This header is part of the TACLeBench benchmark suite. 4 | Version 2.0 5 | 6 | Name: pm_string.h 7 | 8 | Author: Hector Chan 9 | MIT Lincoln Laboratory 10 | 11 | Function: This header contains the C standard library functions used by pm. 12 | 13 | Source: HPEC Challenge Benchmark Suite, Pattern Match Kernel Benchmark 14 | 15 | Original name: pm 16 | 17 | Changes: See ChangeLog.txt 18 | 19 | License: BSD 3-clause 20 | 21 | */ 22 | 23 | #ifndef PM_STRING_H 24 | #define PM_STRING_H 25 | 26 | /* 27 | Forward declaration of functions 28 | */ 29 | 30 | void pm_memcpy( void *, void *, int ); 31 | void pm_memset( void *, int, int ); 32 | 33 | #endif /* PM_STRING_H */ 34 | 35 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/airborne/autopilot/if_calib.h: -------------------------------------------------------------------------------- 1 | #ifndef IF_CALIB_H 2 | 3 | #include "link_fbw.h" 4 | 5 | extern uint8_t inflight_calib_mode; 6 | void inflight_calib( bool_t calib_mode_changed ); 7 | 8 | 9 | #define IF_CALIB_MODE_NONE 0 10 | #define IF_CALIB_MODE_DOWN 1 11 | #define IF_CALIB_MODE_UP 2 12 | 13 | #ifdef ANTON_T7 14 | #define IF_CALIB_MODE_OF_PULSE(pprz) (pprz < TRESHOLD1 ? IF_CALIB_MODE_UP : \ 15 | IF_CALIB_MODE_NONE) 16 | #else 17 | #define IF_CALIB_MODE_OF_PULSE(pprz) (pprz < TRESHOLD1 ? IF_CALIB_MODE_UP : \ 18 | (pprz < TRESHOLD2 ? IF_CALIB_MODE_NONE : \ 19 | IF_CALIB_MODE_DOWN)) 20 | #endif /* ANTON_T7 */ 21 | 22 | #endif // IF_CALIB_H 23 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-x1/problems.h: -------------------------------------------------------------------------------- 1 | /* 2 | problems.h for arm7/gcc-if07 3 | 4 | Part of the DEBIE-1 benchmark. 5 | 6 | $Id: problems.h,v 1.1 2008/04/09 11:26:38 niklas Exp $ 7 | */ 8 | 9 | 10 | #ifndef PROBLEMS_H 11 | #define PROBLEMS_H 12 | 13 | #define FOR_PROBLEM(P) 14 | /* A marker to indicate that the program is about to execute */ 15 | /* a test case that is to be included in the analysis problem */ 16 | /* identified by P. */ 17 | 18 | #define END_PROBLEM 19 | /* A marker to indicate the end of a test case that is to be */ 20 | /* included in the analysis problem identified by the last */ 21 | /* executed FOR_PROBLEM. */ 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-x2/problems.h: -------------------------------------------------------------------------------- 1 | /* 2 | problems.h for arm7/gcc-if07 3 | 4 | Part of the DEBIE-1 benchmark. 5 | 6 | $Id: problems.h,v 1.1 2008/04/09 11:26:38 niklas Exp $ 7 | */ 8 | 9 | 10 | #ifndef PROBLEMS_H 11 | #define PROBLEMS_H 12 | 13 | #define FOR_PROBLEM(P) 14 | /* A marker to indicate that the program is about to execute */ 15 | /* a test case that is to be included in the analysis problem */ 16 | /* identified by P. */ 17 | 18 | #define END_PROBLEM 19 | /* A marker to indicate the end of a test case that is to be */ 20 | /* included in the analysis problem identified by the last */ 21 | /* executed FOR_PROBLEM. */ 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-x4/problems.h: -------------------------------------------------------------------------------- 1 | /* 2 | problems.h for arm7/gcc-if07 3 | 4 | Part of the DEBIE-1 benchmark. 5 | 6 | $Id: problems.h,v 1.1 2008/04/09 11:26:38 niklas Exp $ 7 | */ 8 | 9 | 10 | #ifndef PROBLEMS_H 11 | #define PROBLEMS_H 12 | 13 | #define FOR_PROBLEM(P) 14 | /* A marker to indicate that the program is about to execute */ 15 | /* a test case that is to be included in the analysis problem */ 16 | /* identified by P. */ 17 | 18 | #define END_PROBLEM 19 | /* A marker to indicate the end of a test case that is to be */ 20 | /* included in the analysis problem identified by the last */ 21 | /* executed FOR_PROBLEM. */ 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-x8/problems.h: -------------------------------------------------------------------------------- 1 | /* 2 | problems.h for arm7/gcc-if07 3 | 4 | Part of the DEBIE-1 benchmark. 5 | 6 | $Id: problems.h,v 1.1 2008/04/09 11:26:38 niklas Exp $ 7 | */ 8 | 9 | 10 | #ifndef PROBLEMS_H 11 | #define PROBLEMS_H 12 | 13 | #define FOR_PROBLEM(P) 14 | /* A marker to indicate that the program is about to execute */ 15 | /* a test case that is to be included in the analysis problem */ 16 | /* identified by P. */ 17 | 18 | #define END_PROBLEM 19 | /* A marker to indicate the end of a test case that is to be */ 20 | /* included in the analysis problem identified by the last */ 21 | /* executed FOR_PROBLEM. */ 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7/problems.h: -------------------------------------------------------------------------------- 1 | /* 2 | problems.h for arm7/gcc-if07 3 | 4 | Part of the DEBIE-1 benchmark. 5 | 6 | $Id: problems.h,v 1.1 2008/04/09 11:26:38 niklas Exp $ 7 | */ 8 | 9 | 10 | #ifndef PROBLEMS_H 11 | #define PROBLEMS_H 12 | 13 | #define FOR_PROBLEM(P) 14 | /* A marker to indicate that the program is about to execute */ 15 | /* a test case that is to be included in the analysis problem */ 16 | /* identified by P. */ 17 | 18 | #define END_PROBLEM 19 | /* A marker to indicate the end of a test case that is to be */ 20 | /* included in the analysis problem identified by the last */ 21 | /* executed FOR_PROBLEM. */ 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/tc1796/problems.h: -------------------------------------------------------------------------------- 1 | /* 2 | problems.h for intel/linux 3 | 4 | Part of the DEBIE-1 benchmark. 5 | 6 | $Id: problems.h,v 1.1 2008/03/28 08:22:17 niklas Exp $ 7 | */ 8 | 9 | 10 | #ifndef PROBLEMS_H 11 | #define PROBLEMS_H 12 | 13 | #define FOR_PROBLEM(P) 14 | /* A marker to indicate that the program is about to execute */ 15 | /* a test case that is to be included in the analysis problem */ 16 | /* identified by P. */ 17 | 18 | #define END_PROBLEM 19 | /* A marked to indicate the end of a test case that is to be */ 20 | /* included in the analysis problem identified by the last */ 21 | /* executed FOR_PROBLEM. */ 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/tc1797/problems.h: -------------------------------------------------------------------------------- 1 | /* 2 | problems.h for intel/linux 3 | 4 | Part of the DEBIE-1 benchmark. 5 | 6 | $Id: problems.h,v 1.1 2008/03/28 08:22:17 niklas Exp $ 7 | */ 8 | 9 | 10 | #ifndef PROBLEMS_H 11 | #define PROBLEMS_H 12 | 13 | #define FOR_PROBLEM(P) 14 | /* A marker to indicate that the program is about to execute */ 15 | /* a test case that is to be included in the analysis problem */ 16 | /* identified by P. */ 17 | 18 | #define END_PROBLEM 19 | /* A marked to indicate the end of a test case that is to be */ 20 | /* included in the analysis problem identified by the last */ 21 | /* executed FOR_PROBLEM. */ 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-lpc2138-mam/problems.h: -------------------------------------------------------------------------------- 1 | /* 2 | problems.h for arm7/gcc-if07 3 | 4 | Part of the DEBIE-1 benchmark. 5 | 6 | $Id: problems.h,v 1.1 2008/04/09 11:26:38 niklas Exp $ 7 | */ 8 | 9 | 10 | #ifndef PROBLEMS_H 11 | #define PROBLEMS_H 12 | 13 | #define FOR_PROBLEM(P) 14 | /* A marker to indicate that the program is about to execute */ 15 | /* a test case that is to be included in the analysis problem */ 16 | /* identified by P. */ 17 | 18 | #define END_PROBLEM 19 | /* A marker to indicate the end of a test case that is to be */ 20 | /* included in the analysis problem identified by the last */ 21 | /* executed FOR_PROBLEM. */ 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /bench/sequential/gsm_dec/COPYRIGHT: -------------------------------------------------------------------------------- 1 | Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann, 2 | Technische Universitaet Berlin 3 | 4 | Any use of this software is permitted provided that this notice is not 5 | removed and that neither the authors nor the Technische Universitaet Berlin 6 | are deemed to have made any representations as to the suitability of this 7 | software for any purpose nor are held responsible for any defects of 8 | this software. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 9 | 10 | As a matter of courtesy, the authors request to be informed about uses 11 | this software has found, about bugs in this software, and about any 12 | improvements that may be of general interest. 13 | 14 | Berlin, 28.11.1994 15 | Jutta Degener 16 | Carsten Bormann 17 | -------------------------------------------------------------------------------- /bench/sequential/gsm_enc/COPYRIGHT: -------------------------------------------------------------------------------- 1 | Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann, 2 | Technische Universitaet Berlin 3 | 4 | Any use of this software is permitted provided that this notice is not 5 | removed and that neither the authors nor the Technische Universitaet Berlin 6 | are deemed to have made any representations as to the suitability of this 7 | software for any purpose nor are held responsible for any defects of 8 | this software. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 9 | 10 | As a matter of courtesy, the authors request to be informed about uses 11 | this software has found, about bugs in this software, and about any 12 | improvements that may be of general interest. 13 | 14 | Berlin, 28.11.1994 15 | Jutta Degener 16 | Carsten Bormann 17 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/include/math.h: -------------------------------------------------------------------------------- 1 | #ifndef MATH_H_ 2 | #define MATH_H_ 3 | 4 | #define M_PI 3.141592653589793238462643 5 | #define HALFPI 1.57079632679489661923 6 | #define sin(x) (pp_sin(x)) 7 | #define atan2(x,y) (pp_atan2(x,y)) 8 | #define sqrt(x) (pp_sqrt(x)) 9 | #define cos(x) (pp_sin(x+HALFPI)) /*cosinus [ radians ]*/ 10 | #define fabs(x) (pp_fabs(x)) 11 | #define pp_fabs(x) ((x)< 0. ? -(x) : (x)) /*floating absolute value*/ 12 | #define Max(x,y) (pp_Max(x,y)) 13 | #define pp_Max(x,y) ((x) >= (y) ? (x) : (y)) 14 | #define Min(x,y) (pp_Min(x,y)) 15 | #define pp_Min(x,y) ((x) <= (y) ? (x) : (y)) 16 | 17 | extern double pp_sin( double x ); 18 | extern double pp_sqrt( double x ); 19 | extern double pp_atan2( double x, double y ); 20 | 21 | #endif /*MATH_H_*/ 22 | -------------------------------------------------------------------------------- /bench/app/lift/liftlibio.h: -------------------------------------------------------------------------------- 1 | #ifndef LIFTLIBIO_H 2 | #define LIFTLIBIO_H 3 | 4 | /* Global variables */ 5 | extern int lift_ctrl_io_in[ 10 ]; 6 | extern int lift_ctrl_io_out[ 4 ]; 7 | extern int lift_ctrl_io_analog[ 4 ]; 8 | extern int lift_ctrl_io_led[ 16 ]; 9 | extern int lift_ctrl_dly1, lift_ctrl_dly2; 10 | 11 | /* Simulated hardware */ 12 | extern volatile int lift_simio_in; 13 | extern volatile int lift_simio_out; 14 | extern volatile int lift_simio_led; 15 | extern volatile int lift_simio_adc1; 16 | extern volatile int lift_simio_adc2; 17 | extern volatile int lift_simio_adc3; 18 | 19 | /* Checksum */ 20 | extern int lift_checksum; 21 | 22 | /* prototypes */ 23 | void lift_io_init( void ); 24 | void lift_ctrl_get_vals( void ); 25 | void lift_ctrl_set_vals( void ); 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /bench/sequential/ammunition/ammunition_limits.h: -------------------------------------------------------------------------------- 1 | #ifndef AMMUNITION_LIMITS_H 2 | #define AMMUNITION_LIMITS_H 3 | 4 | #ifndef CHAR_BIT 5 | #define CHAR_BIT 8 6 | #endif 7 | #ifndef UCHAR_MAX 8 | #define UCHAR_MAX 255 9 | #endif 10 | #ifndef SCHAR_MAX 11 | #define SCHAR_MAX 127 12 | #endif 13 | #ifndef SCHAR_MIN 14 | #define SCHAR_MIN (-128) 15 | #endif 16 | #ifndef USHRT_MAX 17 | #define USHRT_MAX 65535 18 | #endif 19 | #ifndef SHRT_MAX 20 | #define SHRT_MAX 32767 21 | #endif 22 | #ifndef SHRT_MIN 23 | #define SHRT_MIN (-32768) 24 | #endif 25 | #ifndef UINT_MAX 26 | #define UINT_MAX (INT_MAX * 2U + 1) 27 | #endif 28 | #ifndef INT_MAX 29 | #define INT_MAX 2147483647 30 | #endif 31 | #ifndef INT_MIN 32 | #define INT_MIN (-INT_MAX-1) 33 | #endif 34 | 35 | #endif /* #ifndef AMMUNITION_LIMITS_H */ 36 | -------------------------------------------------------------------------------- /doc/wcet-paper/eval/gsm_encode.patch: -------------------------------------------------------------------------------- 1 | diff --git a/bench/sequential/gsm_encode/gsm_encode.c b/bench/sequential/gsm_encode/gsm_encode.c 2 | index bd67274..dd67412 100644 3 | --- a/bench/sequential/gsm_encode/gsm_encode.c 4 | +++ b/bench/sequential/gsm_encode/gsm_encode.c 5 | @@ -1174,7 +1174,7 @@ void Gsm_Coder ( 6 | 7 | static word e [50] = {0}; 8 | 9 | - word so[160]; 10 | + word so[1024]; 11 | 12 | Gsm_Preprocess (S, s, so); 13 | Gsm_LPC_Analysis (S, so, LARc); 14 | @@ -3143,7 +3143,7 @@ gsm create() 15 | return r; 16 | } 17 | 18 | -int encode() 19 | +int gsm_encode_main() 20 | { 21 | gsm r; 22 | unsigned i; 23 | @@ -3162,7 +3162,7 @@ int encode() 24 | 25 | int main( void ) 26 | { 27 | - return encode(); 28 | + return gsm_encode_main(); 29 | } 30 | 31 | 32 | -------------------------------------------------------------------------------- /bench/kernel/isqrt/basicmath_libc.c: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.9 5 | 6 | Name: basicmath_libc 7 | 8 | Author: unknown 9 | 10 | Function: Implementation of basicmath_memcpy 11 | 12 | Source: MiBench 13 | http://wwweb.eecs.umich.edu/mibench 14 | 15 | Original name: basicmath_small 16 | 17 | Changes: no major functional changes 18 | 19 | License: this code is FREE with no restrictions 20 | 21 | */ 22 | 23 | 24 | void basicmath_memcpy( void *a, const void *b, int c ) 25 | { 26 | char *dest = ( char * ) a; 27 | char *source = ( char * ) b; 28 | int copied; 29 | _Pragma( "loopbound min 4 max 4" ) 30 | for ( copied = 0; copied < c; copied++ ) { 31 | *dest = *source; 32 | dest++; 33 | source++; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /bench/kernel/cubic/snipmath.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.9 5 | 6 | Name: snipmath 7 | 8 | Author: unknown 9 | 10 | Function: Header file for SNIPPETS math functions and macros 11 | 12 | Source: MiBench 13 | http://wwweb.eecs.umich.edu/mibench 14 | 15 | Original name: basicmath_small 16 | 17 | Changes: no major functional changes 18 | 19 | License: this code is FREE with no restrictions 20 | 21 | */ 22 | 23 | /* 24 | SNIPMATH.H - Header file for SNIPPETS math functions and macros 25 | */ 26 | 27 | #ifndef SNIPMATH__H 28 | #define SNIPMATH__H 29 | 30 | #include "wcclibm.h" 31 | #include "pi.h" 32 | 33 | 34 | struct int_sqrt { 35 | unsigned short sqrt, 36 | frac; 37 | }; 38 | 39 | 40 | #endif /* SNIPMATH__H */ 41 | -------------------------------------------------------------------------------- /bench/kernel/isqrt/snipmath.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.9 5 | 6 | Name: snipmath 7 | 8 | Author: unknown 9 | 10 | Function: Header file for SNIPPETS math functions and macros 11 | 12 | Source: MiBench 13 | http://wwweb.eecs.umich.edu/mibench 14 | 15 | Original name: basicmath_small 16 | 17 | Changes: no major functional changes 18 | 19 | License: this code is FREE with no restrictions 20 | 21 | */ 22 | 23 | /* 24 | SNIPMATH.H - Header file for SNIPPETS math functions and macros 25 | */ 26 | 27 | #ifndef SNIPMATH__H 28 | #define SNIPMATH__H 29 | 30 | #include "wcclibm.h" 31 | #include "pi.h" 32 | 33 | 34 | struct int_sqrt { 35 | unsigned short sqrt, 36 | frac; 37 | }; 38 | 39 | 40 | #endif /* SNIPMATH__H */ 41 | -------------------------------------------------------------------------------- /bench/kernel/pm/pm_math.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This header is part of the TACLeBench benchmark suite. 4 | Version 2.0 5 | 6 | Name: pm_math.h 7 | 8 | Author: Hector Chan 9 | MIT Lincoln Laboratory 10 | 11 | Function: This header contains the C math library functions used by pm. 12 | 13 | Source: HPEC Challenge Benchmark Suite, Pattern Match Kernel Benchmark 14 | 15 | Original name: pm 16 | 17 | Changes: See ChangeLog.txt 18 | 19 | License: BSD 3-clause 20 | 21 | */ 22 | 23 | #ifndef PM_MATH_H 24 | #define PM_MATH_H 25 | 26 | /* 27 | Forward declaration of functions 28 | */ 29 | 30 | void pm_math_init( void ); 31 | float pm_fabs( float ); 32 | float pm_pow10f ( float ); 33 | float pm_log10f ( float ); 34 | float pm_floor( float ); 35 | float pm_ceil( float ); 36 | 37 | #endif /* PM_MATH_H */ 38 | -------------------------------------------------------------------------------- /bench/sequential/huff_dec/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: huff_dec.c 2 | Original provenience: David Bourgin (David.Bourgin@ufrima.imag.fr) 3 | 4 | 2016-03-23: 5 | - Replaced dynamic memory allocation by a fixed array with 514 entries 6 | - Replaced memset() with loops 7 | - Replaced file I/O by reading and writing to char arrays 8 | - Added huff_dec_main(), huff_dec_init() and huff_dec_return() 9 | - Added huff_dec_ prefix to all functions, types and global variables 10 | - Changed function arguments to ANSI style 11 | - Replaced macro definitions 12 | - Added generic TACLeBench header replacing previous header 13 | - Included license from compress.txt 14 | - Corrected loop bounds in huff_dec_read_header() 15 | 16 | 2016-05-24: 17 | - static removed and huff_dec prefix added 18 | 19 | 2016-05-25: 20 | - added const to void g++ warning 21 | -------------------------------------------------------------------------------- /bench/kernel/bitcount/bitcnt_1.c: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: bitcnt_1.c 7 | 8 | Author: Ratko Tomic 9 | 10 | Function: Test program for bit counting functions 11 | 12 | Source: http://www.snippets.org/. 13 | 14 | Changes: no major functional changes 15 | 16 | License: May be used, modified, and re-distributed freely. 17 | 18 | */ 19 | 20 | #include "bitops.h" 21 | 22 | int bitcount_bit_count( long x ) 23 | { 24 | int n = 0; 25 | /* 26 | ** The loop will execute once for each bit of x set, this is in average 27 | ** twice as fast as the shift/test method. 28 | */ 29 | if ( x ) { 30 | _Pragma( "loopbound min 3 max 8" ) 31 | do { 32 | n++; 33 | } while ( 0 != ( x = x & ( x - 1 ) ) ) ; 34 | } 35 | return ( n ); 36 | } 37 | -------------------------------------------------------------------------------- /bench/kernel/bitcount/bitcnt_2.c: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: bitcnt_2.c 7 | 8 | Author: Bob Stout & Auke Reitsma 9 | 10 | Function: Test program for bit counting functions 11 | 12 | Source: http://www.snippets.org/ 13 | 14 | Changes: no major functional changes 15 | 16 | License: May be used, modified, and re-distributed freely. 17 | 18 | */ 19 | 20 | 21 | #include "bitops.h" 22 | 23 | int bitcount_bitcount( long i ) 24 | { 25 | i = ( ( i & 0xAAAAAAAAL ) >> 1 ) + ( i & 0x55555555L ); 26 | i = ( ( i & 0xCCCCCCCCL ) >> 2 ) + ( i & 0x33333333L ); 27 | i = ( ( i & 0xF0F0F0F0L ) >> 4 ) + ( i & 0x0F0F0F0FL ); 28 | i = ( ( i & 0xFF00FF00L ) >> 8 ) + ( i & 0x00FF00FFL ); 29 | i = ( ( i & 0xFFFF0000L ) >> 16 ) + ( i & 0x0000FFFFL ); 30 | return ( int )i; 31 | } 32 | -------------------------------------------------------------------------------- /bench/sequential/anagram/anagram_ctype.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This header is part of the TACLeBench benchmark suite. 4 | Version 2.0 5 | 6 | Name: anagram_ctype.h 7 | 8 | Author: Raymond Chen 9 | 10 | Function: This header contains some C library functions used by anagram. 11 | 12 | Source: unknown 13 | 14 | Original name: anagram 15 | 16 | Changes: See ChangeLog.txt 17 | 18 | License: See anagram.c 19 | 20 | */ 21 | 22 | #ifndef ANAGRAM_CTYPE_H 23 | #define ANAGRAM_CTYPE_H 24 | 25 | int anagram_islower( int c ) 26 | { 27 | return 'a' <= c && c <= 'z'; 28 | } 29 | 30 | int anagram_isupper( int c ) 31 | { 32 | return 'A' <= c && c <= 'Z'; 33 | } 34 | 35 | int anagram_isalpha( int c ) 36 | { 37 | return anagram_isupper( c ) || anagram_islower( c ); 38 | } 39 | 40 | int anagram_tolower( int c ) 41 | { 42 | return anagram_isupper( c ) ? c + ( 'a' - 'A' ) : c; 43 | } 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /bench/sequential/susan/wccfile.h: -------------------------------------------------------------------------------- 1 | #ifndef WCC_FILE_H 2 | #define WCC_FILE_H 3 | 4 | enum _Origin_ { WCCSEEK_SET, WCCSEEK_CUR, WCCSEEK_END }; 5 | typedef enum _Origin_ Origin; 6 | typedef unsigned int size_t; 7 | 8 | #define EOF -1 9 | 10 | struct wccFILE { 11 | char *data; 12 | size_t size; 13 | unsigned cur_pos; 14 | }; 15 | 16 | size_t susan_wccfread ( void *ptr, size_t size, size_t count, 17 | struct wccFILE *stream ); 18 | int susan_wccfseek ( struct wccFILE *stream, long int offset, 19 | Origin origin ); 20 | int susan_wccfgetpos ( struct wccFILE *stream, unsigned *position ); 21 | int susan_wccfeof ( struct wccFILE *stream ); 22 | int susan_wccfgetc ( struct wccFILE *stream ); 23 | char *susan_wccfgets ( char *str, int num, struct wccFILE *stream ); 24 | 25 | #endif 26 | 27 | -------------------------------------------------------------------------------- /bench/kernel/quicksort/quicksortstdlib.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 2.0 5 | 6 | Name: quicksort 7 | 8 | Author: Matthew R. Guthaus 9 | 10 | Function: quicksort applies a recursive quicksort algorithm to two different 11 | input sets. 12 | 13 | Source: MiBench 14 | http://wwweb.eecs.umich.edu/mibench 15 | 16 | Original name: qsort 17 | 18 | Changes: No major functional changes. 19 | 20 | License: GPL 21 | 22 | */ 23 | 24 | 25 | #ifndef __QUICKSORTSTDLIB_H 26 | #define __QUICKSORTSTDLIB_H 27 | 28 | int quicksort_compare_strings( const char *, const char * ); 29 | int quicksort_compare_vectors( const char *, const char * ); 30 | void quicksort_swapi( char *, char *, unsigned long ); 31 | char *quicksort_pivot_strings( char *, unsigned long, unsigned long ); 32 | char *quicksort_pivot_vectors( char *, unsigned long, unsigned long ); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /doc/wcet-paper/eval/fmref.patch: -------------------------------------------------------------------------------- 1 | diff --git a/bench/sequential/fmref/fmref.c b/bench/sequential/fmref/fmref.c 2 | index 67a4711..c9ec5cc 100644 3 | --- a/bench/sequential/fmref/fmref.c 4 | +++ b/bench/sequential/fmref/fmref.c 5 | @@ -58,20 +58,20 @@ void get_floats(FloatBuffer *fb); 6 | void init_lpf_data(LPFData *data, float freq, int taps, int decimation); 7 | void run_lpf(FloatBuffer *fbin, FloatBuffer *fbout, LPFData *data); 8 | void run_demod(FloatBuffer *fbin, FloatBuffer *fbout); 9 | -void begin(void); 10 | +void fmref_main(void); 11 | void init_equalizer(EqualizerData *data); 12 | void run_equalizer(FloatBuffer *fbin, FloatBuffer *fbout, EqualizerData *data); 13 | 14 | int main(void) 15 | { 16 | - begin(); 17 | + fmref_main(); 18 | return 0; 19 | } 20 | 21 | FloatBuffer fb1, fb2, fb3, fb4; 22 | LPFData lpf_data; 23 | 24 | -void begin(void) 25 | +void fmref_main(void) 26 | { 27 | int i; 28 | EqualizerData eq_data; 29 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_controlexclusion_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow_controlexclusion_types.h 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: headerfile 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_controlexclusion_types.h 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | 20 | #ifndef powerwindow_RTW_HEADER_controlexclusion_types_h_ 21 | #define powerwindow_RTW_HEADER_controlexclusion_types_h_ 22 | 23 | /* Forward declaration for rtModel */ 24 | #endif /* powerwindow_RTW_HEADER_controlexclusion_types_h_ */ 25 | 26 | /* 27 | File trailer for generated code. 28 | 29 | [ EOF ] 30 | */ 31 | -------------------------------------------------------------------------------- /doc/code_review_1/image_coding.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | \select@language{english} 3 | \@writefile{toc}{\select@language{english}} 4 | \@writefile{lof}{\select@language{english}} 5 | \@writefile{lot}{\select@language{english}} 6 | \@writefile{toc}{\contentsline {section}{\numberline {1}Image Coding/Encoding}{1}} 7 | \@writefile{toc}{\contentsline {subsection}{\numberline {1.1}MediaBench/cjpeg\_jpe6b\_transupp}{1}} 8 | \@writefile{toc}{\contentsline {subsection}{\numberline {1.2}MediaBench/cjpeg\_jpeg6b\_wrbmp}{1}} 9 | \@writefile{toc}{\contentsline {subsection}{\numberline {1.3}MediaBench/epic}{1}} 10 | \@writefile{toc}{\contentsline {subsection}{\numberline {1.4}MediaBench/h264dec\_ldecode\_block}{2}} 11 | \@writefile{toc}{\contentsline {subsection}{\numberline {1.5}MediaBench/h264dec\_ldecode\_macroblock}{2}} 12 | \@writefile{toc}{\contentsline {subsection}{\numberline {1.6}MediaBench/mpeg2}{2}} 13 | \@writefile{toc}{\contentsline {subsection}{\numberline {1.7}MiBench/susan}{2}} 14 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_debounce_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow_debounce_types.h 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: headerfile 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_debounce_types.h 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | #ifndef powerwindow_RTW_HEADER_debounce_types_h_ 20 | #define powerwindow_RTW_HEADER_debounce_types_h_ 21 | 22 | /* Forward declaration for rtModel */ 23 | typedef struct powerwindow_tag_RTM_debounce_T powerwindow_RT_MODEL_debounce_T; 24 | 25 | #endif /* RTW_HEADER_debounce_types_h_ */ 26 | 27 | /* 28 | File trailer for generated code. 29 | 30 | [ EOF ] 31 | */ 32 | -------------------------------------------------------------------------------- /bench/kernel/fac/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: fac.c 2 | Original provenience: MDH WCET BENCHMARK SUITE 3 | 4 | 2016-02-26: 5 | - Added TACLeBench header to line 1 6 | - Removed unused functions 7 | - Removed unused variables 8 | - Declared s a global variable and renamed it to fac_s 9 | - Declared n a global variable and renamed it to fac_n 10 | - Renamed function fac to fac_fac 11 | - Renamed function main to fac_main 12 | - Created new function main, calling fac_init, fac_main and 13 | returning fac_return 14 | - Changed return type of fac_main to void 15 | - Move initialization code into new function fac_init 16 | - Reordered functions in source code: initialization- and 17 | return-value-related functions first, followed by algorithm core 18 | functions, followed by main functions 19 | - Applied code formatting with astyle as in the example 20 | 21 | 2016-03-09: 22 | - Subtract expected result from return value, such that the return code of the 23 | program is 0 if success. -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/x86/problems.h: -------------------------------------------------------------------------------- 1 | /* 2 | problems.h for intel/linux 3 | 4 | Part of the DEBIE-1 benchmark. 5 | 6 | $Id: problems.h,v 1.1 2008/03/28 08:22:17 niklas Exp $ 7 | */ 8 | 9 | 10 | #ifndef PROBLEMS_H 11 | #define PROBLEMS_H 12 | 13 | #include "rpt_ipoint.h" 14 | 15 | #define FOR_PROBLEM(P) { RPT_Ipoint(3); RPT_Ipoint(P); } 16 | /* A marker to indicate that the program is about to execute */ 17 | /* a test case that is to be included in the analysis problem */ 18 | /* identified by P. */ 19 | /* For RapiTime, ipoint 3 shall be defined as an "escape", and */ 20 | /* the associated info (P) shall be used to "demux" the trace. */ 21 | 22 | #define END_PROBLEM { RPT_Ipoint(3); RPT_Ipoint(0); } 23 | /* A marked to indicate the end of a test case that is to be */ 24 | /* included in the analysis problem identified by the last */ 25 | /* executed FOR_PROBLEM. */ 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_const_params.c: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow_const_params.c 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: the lookup table for stateflow chart in powerwindow_powerwindow_control 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_const_params.c 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | 20 | #include "powerwindow_HeaderFiles/powerwindow_rtwtypes.h" 21 | 22 | extern const powerwindow_boolean_T powerwindow_rtCP_pooled_6bUUQf1tASYw[ 12 ]; 23 | const powerwindow_boolean_T powerwindow_rtCP_pooled_6bUUQf1tASYw[ 12 ] = { 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 24 | 0 25 | } ; 26 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_DRV_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow_PW_Control_DRV_types.h 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: headerfile 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_DRV_types.h 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | 20 | #ifndef powerwindow_RTW_HEADER_PW_Control_DRV_types_h_ 21 | #define powerwindow_RTW_HEADER_PW_Control_DRV_types_h_ 22 | 23 | /* Forward declaration for rtModel */ 24 | typedef struct powerwindow_tag_RTM_PW_Control_DRV 25 | powerwindow_RT_MODEL_PW_Control_DRV; 26 | 27 | #endif /* RTW_HEADER_PW_Control_DRV_types_h_ */ 28 | 29 | /* 30 | File trailer for generated code. 31 | 32 | [ EOF ] 33 | */ 34 | -------------------------------------------------------------------------------- /doc/2017-TACLeBench-LITES_Journal/taclebench-listings.sty: -------------------------------------------------------------------------------- 1 | \usepackage{listings} 2 | 3 | \lstdefinelanguage{taclebench}{ 4 | keywords={const, typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break, TASK, ISR,void,volatile,int,for}, 5 | keywordstyle=\color{blue}\bfseries, 6 | keywords=[2]{boolean, string, number, objectid}, 7 | keywordstyle=[2]\color{green}\bfseries, 8 | identifierstyle=\color{black}, 9 | sensitive=false, 10 | comment=[l]{//}, 11 | morecomment=[s]{/*}{*/}, 12 | commentstyle=\color{darkgreen}\ttfamily, 13 | stringstyle=\color{red}\ttfamily, 14 | morestring=[b]', 15 | morestring=[b]" 16 | } 17 | 18 | \lstset{ 19 | language=taclebench, 20 | extendedchars=true, 21 | %basicstyle=\small\ttfamily, 22 | % displaystyle in \lstinline|| 23 | basicstyle=% 24 | \ttfamily% 25 | \lst@ifdisplaystyle\small\fi, 26 | showstringspaces=false, 27 | showspaces=false, 28 | tabsize=2, 29 | breaklines=true, 30 | showtabs=false 31 | } -------------------------------------------------------------------------------- /doc/code_review_1/sorting_searching.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | \select@language{english} 3 | \@writefile{toc}{\select@language{english}} 4 | \@writefile{lof}{\select@language{english}} 5 | \@writefile{lot}{\select@language{english}} 6 | \@writefile{toc}{\contentsline {section}{\numberline {1}Sorting}{1}} 7 | \@writefile{toc}{\contentsline {subsection}{\numberline {1.1}MRTC/bsort100}{1}} 8 | \@writefile{toc}{\contentsline {subsection}{\numberline {1.2}MRTC/insertsort}{1}} 9 | \@writefile{toc}{\contentsline {subsection}{\numberline {1.3}MRTC/qsort-exam}{1}} 10 | \@writefile{toc}{\contentsline {subsection}{\numberline {1.4}MiBench/qsort}{1}} 11 | \@writefile{toc}{\contentsline {subsection}{\numberline {1.5}StreamIt/bitonic}{1}} 12 | \@writefile{toc}{\contentsline {section}{\numberline {2}Searching}{2}} 13 | \@writefile{toc}{\contentsline {subsection}{\numberline {2.1}MRTC/binarysearch}{2}} 14 | \@writefile{toc}{\contentsline {subsection}{\numberline {2.2}MRTC/select}{2}} 15 | \@writefile{toc}{\contentsline {subsection}{\numberline {2.3}MiBench/bitcount}{2}} 16 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_controlexclusion_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow_controlexclusion_private.h 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: headerfile 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_controlexclusion_private.h 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | 20 | #ifndef powerwindow_RTW_HEADER_controlexclusion_private_h_ 21 | #define powerwindow_RTW_HEADER_controlexclusion_private_h_ 22 | #include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h" 23 | #include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h" 24 | #endif /* RTW_HEADER_controlexclusion_private_h_ */ 25 | 26 | /* 27 | File trailer for generated code. 28 | 29 | [ EOF ] 30 | */ 31 | -------------------------------------------------------------------------------- /bench/kernel/bitcount/bitops.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: bitops.h 7 | 8 | Author: Bob Stout & Auke Reitsma 9 | 10 | Function: test program for bit counting functions 11 | 12 | Source: 13 | 14 | Changes: no major functional changes 15 | 16 | License: May be used, modified, and re-distributed freely. 17 | 18 | */ 19 | 20 | #ifndef BITOPS__H 21 | #define BITOPS__H 22 | 23 | /* 24 | ** bitcount_1.c 25 | */ 26 | 27 | int bitcount_bit_count( long x ); 28 | 29 | /* 30 | ** bitcount_2.c 31 | */ 32 | 33 | int bitcount_bitcount( long i ); 34 | 35 | /* 36 | ** bitcount_3.c 37 | */ 38 | void bitcount_init3( void ); 39 | int bitcount_ntbl_bitcount( long int x ); 40 | int bitcount_BW_btbl_bitcount( long int x ); 41 | int bitcount_AR_btbl_bitcount( long int x ); 42 | 43 | /* 44 | ** bitcount_4.c 45 | */ 46 | void bitcount_init4( void ); 47 | int bitcount_ntbl_bitcnt( unsigned long x ); 48 | int bitcount_btbl_bitcnt( unsigned long x ); 49 | 50 | #endif /* BITOPS__H */ 51 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow_PW_Control_PSG_Front_private.h 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: headerfile 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front.h 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | 20 | #ifndef powerwindow_RTW_HEADER_PW_Control_PSG_Front_private_h_ 21 | #define powerwindow_RTW_HEADER_PW_Control_PSG_Front_private_h_ 22 | #include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h" 23 | #include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h" 24 | #endif /* RTW_HEADER_PW_Control_PSG_Front_private_h_ */ 25 | 26 | /* 27 | File trailer for generated code. 28 | 29 | [ EOF ] 30 | */ 31 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_DRV_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow_PW_Control_DRV_private.h 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: headerfile 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_DRV_private.h 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | 20 | #ifndef powerwindow_RTW_HEADER_powerwindow_PW_Control_DRV_private_h_ 21 | #define powerwindow_RTW_HEADER_powerwindow_PW_Control_DRV_private_h_ 22 | #include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h" 23 | #include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h" 24 | #endif /* RTW_HEADER_powerwindow_PW_Control_DRV_private_h_ */ 25 | 26 | /* 27 | File trailer for generated code. 28 | 29 | [ EOF ] 30 | */ 31 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackL_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow_PW_Control_PSG_BackL_private.h 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: headerfile 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackL_private.h 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | 20 | #ifndef powerwindow_RTW_HEADER_PW_Control_PSG_BackL_private_h_ 21 | #define powerwindow_RTW_HEADER_PW_Control_PSG_BackL_private_h_ 22 | #include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h" 23 | #include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h" 24 | #endif /* RTW_HEADER_PW_Control_PSG_BackL_private_h_ */ 25 | 26 | /* 27 | File trailer for generated code. 28 | 29 | [ EOF ] 30 | */ 31 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackR_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow_PW_Control_PSG_BackR_private.h 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: headerfile 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackR_private.h 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | 20 | #ifndef powerwindow_RTW_HEADER_PW_Control_PSG_BackR_private_h_ 21 | #define powerwindow_RTW_HEADER_PW_Control_PSG_BackR_private_h_ 22 | #include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h" 23 | #include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h" 24 | #endif /* RTW_HEADER_PW_Control_PSG_BackR_private_h_ */ 25 | 26 | /* 27 | File trailer for generated code. 28 | 29 | [ EOF ] 30 | */ 31 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackR_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow_PW_Control_PSG_BackR_tyoes.h 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: headerfile 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackR_types.h 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | #ifndef powerwindow_RTW_HEADER_PW_Control_PSG_BackR_types_h_ 20 | #define powerwindow_RTW_HEADER_PW_Control_PSG_BackR_types_h_ 21 | 22 | /* Forward declaration for rtModel */ 23 | typedef struct powerwindow_tag_RTM_PW_Control_PSG_BackR 24 | powerwindow_RT_MODEL_PW_Control_PSG_BackR; 25 | 26 | #endif /* RTW_HEADER_PW_Control_PSG_BackR_types_h_ */ 27 | 28 | /* 29 | File trailer for generated code. 30 | 31 | [ EOF ] 32 | */ 33 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_powerwindow_control_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow_powerwindow_control_types.h 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: headerfile 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_powerwindow_control_types.h 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | 20 | 21 | #ifndef powerwindow_RTW_HEADER_powerwindow_control_types_h_ 22 | #define powerwindow_RTW_HEADER_powerwindow_control_types_h_ 23 | 24 | /* Forward declaration for rtModel */ 25 | typedef struct powerwindow_tag_RTM_PowerWindow_control 26 | powerwindow_RT_MODEL_PowerWindow_control; 27 | 28 | #endif /* RTW_HEADER_powerwindow_control_types_h_ */ 29 | 30 | /* 31 | File trailer for generated code. 32 | 33 | [ EOF ] 34 | */ 35 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/airborne/autopilot/spi.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | 7 | #include "spi.h" 8 | #include "autopilot.h" 9 | #include "link_fbw.h" 10 | #include "ad7714.h" 11 | 12 | volatile uint8_t spi_cur_slave; 13 | uint8_t spi_nb_ovrn; 14 | 15 | void spi_init( void ) 16 | { 17 | /* Set MOSI and SCK output, all others input */ 18 | SPI_DDR |= _BV( SPI_MOSI_PIN ) | _BV( SPI_SCK_PIN ); 19 | 20 | /* enable pull up for miso */ 21 | // SPI_PORT |= _BV(SPI_MISO_PIN); 22 | 23 | /* Set SS0 output */ 24 | sbi( SPI_SS0_DDR, SPI_SS0_PIN ); 25 | /* SS0 idles high (don't select slave yet)*/ 26 | SPI_UNSELECT_SLAVE0(); 27 | 28 | /* Set SS1 output */ 29 | sbi( SPI_SS1_DDR, SPI_SS1_PIN ); 30 | /* SS1 idles high (don't select slave yet)*/ 31 | SPI_UNSELECT_SLAVE1(); 32 | 33 | spi_cur_slave = SPI_NONE; 34 | } 35 | 36 | 37 | SIGNAL( SIG_SPI ) 38 | { 39 | if ( spi_cur_slave == SPI_SLAVE0 ) 40 | link_fbw_on_spi_it(); 41 | else 42 | fatal_error_nb++; 43 | } 44 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackL_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow_PW_Control_PSG_BackL_types.h 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: headerfile 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_BackL_types.h 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | 20 | #ifndef powerwindow_RTW_HEADER_PW_Control_PSG_BackL_types_h_ 21 | #define powerwindow_RTW_HEADER_PW_Control_PSG_BackL_types_h_ 22 | 23 | /* Forward declaration for rtModel */ 24 | typedef struct powerwindow_tag_RTM_PW_Control_PSG_BackL 25 | powerwindow_RT_MODEL_PW_Control_PSG_BackL; 26 | 27 | #endif /* RTW_HEADER_PW_Control_PSG_BackL_types_h_ */ 28 | 29 | /* 30 | File trailer for generated code. 31 | 32 | [ EOF ] 33 | */ 34 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow_PW_Control_PSG_Front_types.h 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: headerfile 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_PW_Control_PSG_Front_types.h 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | 20 | 21 | #ifndef powerwindow_RTW_HEADER_PW_Control_PSG_Front_types_h_ 22 | #define powerwindow_RTW_HEADER_PW_Control_PSG_Front_types_h_ 23 | 24 | /* Forward declaration for rtModel */ 25 | typedef struct powerwindow_tag_RTM_PW_Control_PSG_Front 26 | powerwindow_RT_MODEL_PW_Control_PSG_Front; 27 | 28 | #endif /* RTW_HEADER_PW_Control_PSG_Front_types_h_ */ 29 | 30 | /* 31 | File trailer for generated code. 32 | 33 | [ EOF ] 34 | */ 35 | -------------------------------------------------------------------------------- /bench/sequential/huff_enc/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: huff_enc.c 2 | Original provenience: David Bourgin (David.Bourgin@ufrima.imag.fr) 3 | 4 | 2017-04-18: 5 | - Annotated huff_enc_main as entry-point for timing analysis 6 | 7 | 2016-03-24: 8 | - Replaced dynamic memory allocation by a fixed array with 514 entries 9 | - Replaced memset() with loops 10 | - Added source code for a special qsort() implementation without 11 | function pointer 12 | - Replaced file I/O by reading and writing to char arrays 13 | - Added huff_dec_main(), huff_dec_init() and huff_dec_return() 14 | - Added huff_dec_ prefix to all functions, types and global variables 15 | - Changed function arguments to ANSI style 16 | - Replaced macro definitions 17 | - Added forward declarations of all functions 18 | - Added generic TACLeBench header replacing previous header 19 | - Included license from compress.txt 20 | - Applied code formatting with astyle 21 | 22 | 2016-05-24: 23 | - Changed type of j to unsigned to avoid warning 24 | - Removed static declarations 25 | 26 | 2016-05-25: 27 | - Precise types to avoid gcc++ warnings 28 | -------------------------------------------------------------------------------- /bench/kernel/ludcmp/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: ludcmp.c 2 | Original provenience: SNU-RT benchmark suite, via Mälardalen benchmark 3 | suite, www.mrtc..... 4 | 5 | 2015-11-27: 6 | - Removed commented-out parameter nmax 7 | - Made chkerr a global variable, set in the ludmp function 8 | - Changed return value of ludcmp to void 9 | - Renamed ludcmp to ludcmp_test, wrap call in new function ludcmp_main 10 | - Move initialization code into new function ludcmp_init 11 | - Compute checksum in new function ludcmp_return 12 | - Prefix fabs and global variables with "ludcmp_" 13 | - Reordered functions in source code: initialization- and 14 | return-value-related functions first, followed by algorithm core 15 | functions, followed by main functions 16 | - Applied code formatting with astyle as in the example 17 | 18 | 2015-12-15: 19 | - Sorted out licensing terms, added general TACLeBench header to 20 | beginning of source code 21 | 22 | 2016-03-15: 23 | - Return 0 if checksum is as expected, -1 otherwise 24 | - Touch input matrix with volatile to rule out optimizations 25 | - Add entrypoint pragma 26 | 27 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-lpc2138-mam/crt0.s: -------------------------------------------------------------------------------- 1 | /* vector table section 2 | * __ASYST_STACK_TOP is defined in lcf file 3 | */ 4 | 5 | .code 32 6 | 7 | .extern __ASYST_STACK_TOP 8 | 9 | /* startup 10 | * initialize mode 11 | * initialize stack pointer 12 | * jump to __asyst_main in crt_asyst.c 13 | */ 14 | 15 | .section .text, "ax" 16 | 17 | .global __asyst_start 18 | 19 | __asyst_start: 20 | 21 | mrs r0, cpsr 22 | bic r0, r0, #0x1F /* clear mode flags */ 23 | orr r0, r0, #0x10 /* set user mode */ 24 | msr cpsr, r0 25 | 26 | /* Initialize MAM to Mode 2, 7 cycles flash: */ 27 | 28 | ldr r0,_MAMCR 29 | ldr r1,_MAMTIM 30 | ldr r2,=0 31 | str r2,[r0] 32 | ldr r2,=7 33 | str r2,[r1] 34 | ldr r2,=2 35 | str r2,[r0] 36 | 37 | ldr sp,_Lstack_top 38 | 39 | bl __asyst_main 40 | 41 | 42 | /* constants */ 43 | 44 | _MAMCR: 45 | .long 0xe01fc000 /* Address of MAM Control Register. */ 46 | 47 | _MAMTIM: 48 | .long 0xe01fc004 /* Address of MAM Timing register. */ 49 | 50 | _Lstack_top: 51 | .long __ASYST_STACK_TOP 52 | 53 | .end 54 | -------------------------------------------------------------------------------- /bench/sequential/g723_enc/license.txt: -------------------------------------------------------------------------------- 1 | This source code is a product of Sun Microsystems, Inc. and is provided 2 | for unrestricted use. Users may copy or modify this source code without 3 | charge. 4 | 5 | SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING 6 | THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR 7 | PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. 8 | 9 | Sun source code is provided with no support and without any obligation on 10 | the part of Sun Microsystems, Inc. to assist in its use, correction, 11 | modification or enhancement. 12 | 13 | SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE 14 | INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE 15 | OR ANY PART THEREOF. 16 | 17 | In no event will Sun Microsystems, Inc. be liable for any lost revenue 18 | or profits or other special, indirect and consequential damages, even if 19 | Sun has been advised of the possibility of such damages. 20 | 21 | Sun Microsystems, Inc. 22 | 2550 Garcia Avenue 23 | Mountain View, California 94043 -------------------------------------------------------------------------------- /bench/sequential/rijndael_dec/rijndael_dec_libc.h: -------------------------------------------------------------------------------- 1 | #ifndef RIJNDAEL_DEC_LIBC_H 2 | #define RIJNDAEL_DEC_LIBC_H 3 | 4 | int rijndael_dec_toupper ( int c ); 5 | 6 | enum _Origin_ { RIJNDAEL_DEC_SEEK_SET, RIJNDAEL_DEC_SEEK_CUR, RIJNDAEL_DEC_SEEK_END }; 7 | typedef enum _Origin_ Origin; 8 | struct rijndael_dec_FILE { 9 | unsigned char *data; 10 | unsigned long size; 11 | unsigned cur_pos; 12 | }; 13 | 14 | unsigned long rijndael_dec_fread ( void *ptr, unsigned long size, 15 | unsigned long count, struct rijndael_dec_FILE *stream ); 16 | unsigned long rijndael_dec_fwrite ( const void *ptr, unsigned long size, 17 | unsigned long count, struct rijndael_dec_FILE *stream ); 18 | int rijndael_dec_fseek ( struct rijndael_dec_FILE *stream, long int offset, 19 | Origin origin ); 20 | int rijndael_dec_fgetpos( struct rijndael_dec_FILE *stream, 21 | unsigned *position ); 22 | int rijndael_dec_feof ( struct rijndael_dec_FILE *stream ); 23 | 24 | #endif // RIJNDAEL_DEC_LIBC_H 25 | -------------------------------------------------------------------------------- /bench/sequential/rijndael_enc/rijndael_enc_libc.h: -------------------------------------------------------------------------------- 1 | #ifndef RIJNDAEL_ENC_LIBC_H 2 | #define RIJNDAEL_ENC_LIBC_H 3 | 4 | int rijndael_enc_toupper ( int c ); 5 | 6 | enum _Origin_ { RIJNDAEL_ENC_SEEK_SET, RIJNDAEL_ENC_SEEK_CUR, RIJNDAEL_ENC_SEEK_END }; 7 | typedef enum _Origin_ Origin; 8 | struct rijndael_enc_FILE { 9 | unsigned char *data; 10 | unsigned long size; 11 | unsigned cur_pos; 12 | }; 13 | 14 | unsigned long rijndael_enc_fread ( void *ptr, unsigned long size, 15 | unsigned long count, struct rijndael_enc_FILE *stream ); 16 | unsigned long rijndael_enc_fwrite ( const void *ptr, unsigned long size, 17 | unsigned long count, struct rijndael_enc_FILE *stream ); 18 | int rijndael_enc_fseek ( struct rijndael_enc_FILE *stream, long int offset, 19 | Origin origin ); 20 | int rijndael_enc_fgetpos( struct rijndael_enc_FILE *stream, 21 | unsigned *position ); 22 | int rijndael_enc_feof ( struct rijndael_enc_FILE *stream ); 23 | 24 | #endif // RIJNDAEL_ENC_LIBC_H 25 | -------------------------------------------------------------------------------- /bench/kernel/pm/pm_stdlib.c: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This file is part of the TACLeBench benchmark suite. 4 | Version 2.0 5 | 6 | Name: pm_stdlib.c 7 | 8 | Author: Hector Chan 9 | MIT Lincoln Laboratory 10 | 11 | Function: This file contains the C standard library functions used by pm. 12 | 13 | Source: HPEC Challenge Benchmark Suite, Pattern Match Kernel Benchmark 14 | 15 | Original name: pm 16 | 17 | Changes: See ChangeLog.txt 18 | 19 | License: BSD 3-clause 20 | 21 | */ 22 | 23 | /* 24 | Include section 25 | */ 26 | 27 | #include "pm_string.h" 28 | 29 | 30 | /* 31 | Standard library functions 32 | */ 33 | 34 | void pm_memcpy( void *dest, void *src, int size ) 35 | { 36 | int i; 37 | _Pragma( "loopbound min 44 max 256" ) 38 | for ( i = 0; i < size; i++ ) 39 | ( ( unsigned char * )dest )[ i ] = ( ( unsigned char * )src )[ i ]; 40 | return; 41 | } 42 | 43 | 44 | void pm_memset( void *s, int c, int n ) 45 | { 46 | int i; 47 | _Pragma( "loopbound min 64 max 64" ) 48 | for ( i = 0; i < n; i++ ) 49 | ( ( unsigned char * )s )[ i ] = ( unsigned char )c; 50 | return; 51 | } 52 | 53 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/reg52.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Module : reg52.h 14 | 15 | Definitions for 80C32 Special Function Registers to be used 16 | in portable parts of the DEBIE DPU software. 17 | 18 | Created for the DEBIE-I WCET benchmark program. Not based directly 19 | on any SSF sources. 20 | 21 | - * -------------------------------------------------------------------------- 22 | */ 23 | 24 | 25 | #ifndef REG52_H 26 | #define REG52_H 27 | 28 | #include "target_reg52.h" 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /doc/example/astylerc.txt: -------------------------------------------------------------------------------- 1 | # 2 | # This is an option file for the "astyle" source code formatting tool. The 3 | # options which are set here should model the WCC coding guidelines as close as 4 | # possible. Astyle can then be invoked in the following way: 5 | # 6 | # astyle --options=hacking.astylerc 7 | # 8 | # The command can be easily integrated into vim and emacs such that it filters 9 | # the text in the editor. In vim this can be done by setting the 'equalprg' 10 | # option and using '=' to format the selected area (visual mode) or the given 11 | # range (command mode). 12 | # 13 | 14 | # Bracket Style Options: 15 | --style=kr 16 | 17 | # Tab Options: 18 | --indent=spaces=2 19 | 20 | # Indentation Options: 21 | --indent-classes 22 | --indent-switches 23 | --indent-cases 24 | --indent-preproc-cond 25 | 26 | # Padding Options: 27 | --pad-oper 28 | --pad-header 29 | --pad-paren-in 30 | --align-pointer=name 31 | 32 | # Formatting Options: 33 | --break-elseifs 34 | --remove-brackets 35 | --convert-tabs 36 | --remove-comment-prefix 37 | --max-code-length=80 38 | --break-after-logical 39 | 40 | # Other Options: 41 | --lineend=linux 42 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/classtab.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Subsystem : DAS 14 | Module : classtab.h 15 | 16 | Prototypes etc. for the ClassTab (event classification table) module. 17 | 18 | Based on the SSF file classtab.h, rev 1.1, Mon Jan 18 11:53:20 1999. 19 | 20 | - * -------------------------------------------------------------------------- 21 | */ 22 | 23 | 24 | #ifndef CLASSTAB_H 25 | #define CLASSTAB_H 26 | 27 | #include "keyword.h" 28 | 29 | extern unsigned char EXTERNAL event_class[ 256 ]; 30 | 31 | #endif 32 | 33 | -------------------------------------------------------------------------------- /bench/kernel/bitonic/license.txt: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /bench/kernel/filterbank/license.txt: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /bench/sequential/fmref/license.txt: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /bench/sequential/audiobeam/license.txt: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7/target_tm_data.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Module : target_tm_data.h 14 | 15 | The target-specific aspects of the Telemetry Data Structure. 16 | 17 | Based on the SSF file tm_data.h, rev 1.22, Mon May 31 10:10:12 1999. 18 | 19 | - * -------------------------------------------------------------------------- 20 | */ 21 | 22 | #ifndef TARGET_TM_DATA_H 23 | #define TARGET_TM_DATA_H 24 | 25 | #define MAX_EVENTS 1261 26 | /* Same as in the original DEBIE-1 SW, although there limited 27 | by the size of the data memory. 28 | */ 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/x86/target_tm_data.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Module : target_tm_data.h 14 | 15 | The target-specific aspects of the Telemetry Data Structure. 16 | 17 | Based on the SSF file tm_data.h, rev 1.22, Mon May 31 10:10:12 1999. 18 | 19 | - * -------------------------------------------------------------------------- 20 | */ 21 | 22 | #ifndef TARGET_TM_DATA_H 23 | #define TARGET_TM_DATA_H 24 | 25 | #define MAX_EVENTS 1261 26 | /* Same as in the original DEBIE-1 SW, although there limited 27 | by the size of the data memory. 28 | */ 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-x1/target_tm_data.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Module : target_tm_data.h 14 | 15 | The target-specific aspects of the Telemetry Data Structure. 16 | 17 | Based on the SSF file tm_data.h, rev 1.22, Mon May 31 10:10:12 1999. 18 | 19 | - * -------------------------------------------------------------------------- 20 | */ 21 | 22 | #ifndef TARGET_TM_DATA_H 23 | #define TARGET_TM_DATA_H 24 | 25 | #define MAX_EVENTS 1261 26 | /* Same as in the original DEBIE-1 SW, although there limited 27 | by the size of the data memory. 28 | */ 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-x2/target_tm_data.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Module : target_tm_data.h 14 | 15 | The target-specific aspects of the Telemetry Data Structure. 16 | 17 | Based on the SSF file tm_data.h, rev 1.22, Mon May 31 10:10:12 1999. 18 | 19 | - * -------------------------------------------------------------------------- 20 | */ 21 | 22 | #ifndef TARGET_TM_DATA_H 23 | #define TARGET_TM_DATA_H 24 | 25 | #define MAX_EVENTS 1261 26 | /* Same as in the original DEBIE-1 SW, although there limited 27 | by the size of the data memory. 28 | */ 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-x4/target_tm_data.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Module : target_tm_data.h 14 | 15 | The target-specific aspects of the Telemetry Data Structure. 16 | 17 | Based on the SSF file tm_data.h, rev 1.22, Mon May 31 10:10:12 1999. 18 | 19 | - * -------------------------------------------------------------------------- 20 | */ 21 | 22 | #ifndef TARGET_TM_DATA_H 23 | #define TARGET_TM_DATA_H 24 | 25 | #define MAX_EVENTS 1261 26 | /* Same as in the original DEBIE-1 SW, although there limited 27 | by the size of the data memory. 28 | */ 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-x8/target_tm_data.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Module : target_tm_data.h 14 | 15 | The target-specific aspects of the Telemetry Data Structure. 16 | 17 | Based on the SSF file tm_data.h, rev 1.22, Mon May 31 10:10:12 1999. 18 | 19 | - * -------------------------------------------------------------------------- 20 | */ 21 | 22 | #ifndef TARGET_TM_DATA_H 23 | #define TARGET_TM_DATA_H 24 | 25 | #define MAX_EVENTS 1261 26 | /* Same as in the original DEBIE-1 SW, although there limited 27 | by the size of the data memory. 28 | */ 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/tc1796/target_tm_data.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Module : target_tm_data.h 14 | 15 | The target-specific aspects of the Telemetry Data Structure. 16 | 17 | Based on the SSF file tm_data.h, rev 1.22, Mon May 31 10:10:12 1999. 18 | 19 | - * -------------------------------------------------------------------------- 20 | */ 21 | 22 | #ifndef TARGET_TM_DATA_H 23 | #define TARGET_TM_DATA_H 24 | 25 | #define MAX_EVENTS 1261 26 | /* Same as in the original DEBIE-1 SW, although there limited 27 | by the size of the data memory. 28 | */ 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/tc1797/target_tm_data.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Module : target_tm_data.h 14 | 15 | The target-specific aspects of the Telemetry Data Structure. 16 | 17 | Based on the SSF file tm_data.h, rev 1.22, Mon May 31 10:10:12 1999. 18 | 19 | - * -------------------------------------------------------------------------- 20 | */ 21 | 22 | #ifndef TARGET_TM_DATA_H 23 | #define TARGET_TM_DATA_H 24 | 25 | #define MAX_EVENTS 1261 26 | /* Same as in the original DEBIE-1 SW, although there limited 27 | by the size of the data memory. 28 | */ 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-lpc2138-mam/target_tm_data.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Module : target_tm_data.h 14 | 15 | The target-specific aspects of the Telemetry Data Structure. 16 | This version for the target arm7/gcc-if07. 17 | 18 | Based on the SSF file tm_data.h, rev 1.22, Mon May 31 10:10:12 1999. 19 | 20 | - * -------------------------------------------------------------------------- 21 | */ 22 | 23 | #ifndef TARGET_TM_DATA_H 24 | #define TARGET_TM_DATA_H 25 | 26 | #define MAX_EVENTS 910 27 | /* Set to make the entire program fit in 32 KiB of data memory. */ 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/airborne/autopilot/downlink.h: -------------------------------------------------------------------------------- 1 | /* 2 | Paparazzi mcu0 $Id: downlink.h,v 1.1 2011-01-18 12:48:38 moellmer Exp $ 3 | 4 | Copyright (C) 2003 Pascal Brisset, Antoine Drouin 5 | 6 | This file is part of paparazzi. 7 | 8 | paparazzi is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2, or (at your option) 11 | any later version. 12 | 13 | paparazzi is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with paparazzi; see the file COPYING. If not, write to 20 | the Free Software Foundation, 59 Temple Place - Suite 330, 21 | Boston, MA 02111-1307, USA. 22 | 23 | */ 24 | 25 | #ifndef DOWNLINK_H 26 | #define DOWNLINK_H 27 | 28 | #include "modem.h" 29 | 30 | #define STX 0x05 31 | #define ETX 0x06 32 | 33 | #include "messages.h" 34 | 35 | #endif /* DOWNLINK_H */ 36 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/airborne/autopilot/sirf.h: -------------------------------------------------------------------------------- 1 | /* 2 | Paparazzi autopilot $Id: sirf.h,v 1.1 2011-01-18 12:48:39 moellmer Exp $ 3 | 4 | Copyright (C) 2004 Pascal Brisset, Antoine Drouin 5 | 6 | This file is part of paparazzi. 7 | 8 | paparazzi is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2, or (at your option) 11 | any later version. 12 | 13 | paparazzi is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with paparazzi; see the file COPYING. If not, write to 20 | the Free Software Foundation, 59 Temple Place - Suite 330, 21 | Boston, MA 02111-1307, USA. 22 | 23 | */ 24 | 25 | /* 26 | SIRF protocol specific code 27 | 28 | */ 29 | 30 | 31 | #ifndef SIRF_H 32 | #define SIRF_H 33 | 34 | #define GPS_FIX_VALID(gps_mode) (gps_mode & 1<<5) 35 | 36 | #endif /* SIRF_H */ 37 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-lpc2138-mam/setup.bat: -------------------------------------------------------------------------------- 1 | echo off 2 | Rem Batch file to set up environment for GCC ARM7 C compiler from iSYSTEMS 3 | Rem for the iF-DEV-LPC kit, for all test programs. 4 | Rem 5 | Rem Copyright (c) 2008 Tidorum Ltd. 6 | Rem 7 | Rem $Revision: 1.2 $ 8 | 9 | 10 | Rem GCC installation paths: 11 | 12 | set IFDEVD=C:\iFDEV\2007 13 | set GCCD=%IFDEVD%\gcc\arm 14 | set GCCbin=%GCCD%\bin 15 | set GCClib=%GCCD%\lib 16 | 17 | set PATH=%GCCbin%;%PATH% 18 | 19 | Rem C compiler and options: 20 | 21 | set CC=arm-elf-gcc.exe 22 | 23 | set CCOPT=-c -mcpu=arm7tdmi -g -O2 24 | 25 | set ASOPT=-c -mcpu=arm7tdmi -g 26 | 27 | Rem Linker and options: 28 | 29 | set LD=arm-elf-gcc.exe 30 | 31 | set LDOPT=-nostartfiles ^ 32 | -mlittle-endian ^ 33 | -mcpu=arm7tdmi ^ 34 | -Xlinker -lc ^ 35 | -lnosys ^ 36 | -Xlinker -Map=link.map ^ 37 | -Xlinker -n 38 | 39 | Rem Common runtime files to be included in the link: 40 | Rem crt0.s (use ASOPT) 41 | Rem intvec.s (use ASOPT) 42 | Rem crt_asyst.c (use CCOPT) 43 | Rem cpulib.c (use CCOPT) 44 | Rem 45 | Rem Use the linker script file link.txt, with the LD option 46 | Rem -Xlinker --script=%dir%\link.txt. 47 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/mpc5554/target_tm_data.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Module : target_tm_data.h 14 | 15 | The target-specific aspects of the Telemetry Data Structure. 16 | This version for the target mpc5554/gcc. 17 | 18 | Based on the SSF file tm_data.h, rev 1.22, Mon May 31 10:10:12 1999. 19 | 20 | - * -------------------------------------------------------------------------- 21 | */ 22 | 23 | #ifndef TARGET_TM_DATA_H 24 | #define TARGET_TM_DATA_H 25 | 26 | #define MAX_EVENTS 1261 27 | /* Same as in the original DEBIE-1 SW, although there limited 28 | by the size of the data memory. 29 | */ 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /bench/kernel/complex_updates/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: complex_updates.c 2 | Original provenience: DSP-Stone 3 | 4 | 2016-03-02: 5 | - Rename n_complex_updates_float to n_complex_updates 6 | - Add generic TACLeBench header 7 | - Prefix global function with benchmark name 8 | - Avoid accepting arbitrary number of parameters 9 | - Introduce return statement 10 | - Make A, B, C, D global variables 11 | - Split code into n_complex_updates_init and n_complex_updates_main 12 | 2016-04-25: 13 | - Rename to complex_updates in order to shorten prefixes 14 | - Remove second call of pin_down, since this was originally used as a border for 15 | constant propagation 16 | - Move pin_down call into init function 17 | - Add operation on input data with volatile variable to completely prevent 18 | constant propagation 19 | - Prefix all global symbols with benchmark name 20 | - Add calculation of checksum on result data, which is used in return statement 21 | - Apply code formatting with clang-format (manually move loop-bound annotation 22 | into separate line and align assignments in complex_updates_main) 23 | 2016-04-25: 24 | - Replace usages of macros by their expansions: 25 | STORAGE_CLASS => register, TYPE => float 26 | 2016-05-25: 27 | - Apply code formatting with astyle 28 | -------------------------------------------------------------------------------- /bench/app/powerwindow/changeLog: -------------------------------------------------------------------------------- 1 | Adjusted the original files to tacle benchmark requirements 2 | 3 | Created the input serials in void powerwindow_input_initialize(void) to cover the real life scenarios 4 | 5 | 23-03-2016: 6 | Deleted folder powerwindow_SourceFiles moved all the contained c files to PowerWindow folder 7 | 8 | Created headerfile powerwindow.h 9 | 10 | Added 11 | 12 | #ifndef NULL 13 | #define NULL ((void *) 0) 14 | #endif 15 | 16 | to header file powerwindow.h 17 | 18 | Deleted #include in all files replaced with headerfile powerwindow.h 19 | 20 | Deleted function powerwindow_GetErrorStatus(void) and the related code 21 | 22 | Commented 23 | long tic, toc, tictoc; 24 | tic = powerwindow_get_cycles(); 25 | toc = powerwindow_get_cycles(); 26 | tictoc = toc-tic; 27 | printf("%ld\n",tictoc ); 28 | 29 | in the int main(void). Uncomment can print the execution time of the powerwindow benchmark. 30 | 31 | Adjusted the description of all the files 32 | 33 | 21-04-2016 34 | 35 | Adjusted the author and license 36 | 37 | 18-04-2017: 38 | Annotated powerwindow_main as entry-point for timing analysis 39 | 40 | 10-07-2017 41 | - Fix changelog order so dates are correctly sorted. 42 | - Fix input array length to avoid possible buffer overflow. 43 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/airborne/autopilot/ubx.h: -------------------------------------------------------------------------------- 1 | /* 2 | Paparazzi autopilot $Id: ubx.h,v 1.1 2011-01-18 12:48:39 moellmer Exp $ 3 | 4 | Copyright (C) 2004 Pascal Brisset, Antoine Drouin 5 | 6 | This file is part of paparazzi. 7 | 8 | paparazzi is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2, or (at your option) 11 | any later version. 12 | 13 | paparazzi is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with paparazzi; see the file COPYING. If not, write to 20 | the Free Software Foundation, 59 Temple Place - Suite 330, 21 | Boston, MA 02111-1307, USA. 22 | 23 | */ 24 | 25 | /* 26 | UBX protocol specific code 27 | 28 | */ 29 | 30 | 31 | #ifndef UBX_H 32 | #define UBX_H 33 | 34 | #define GPS_FIX_VALID(gps_mode) (gps_mode == 3) 35 | extern const int32_t utm_east0; 36 | extern const int32_t utm_north0; 37 | 38 | #endif /* UBX_H */ 39 | -------------------------------------------------------------------------------- /bench/sequential/adpcm_dec/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: minver.c 2 | Original provenience: SNU-RT Benchmark Suite for Worst Case Timing Analysis 3 | 4 | 2016-02-26: 5 | - Added TACLeBench header to line 1 6 | - Rename global variable a to minver_a 7 | - Rename global variable b to minver_b 8 | - Rename global variable c to minver_c 9 | - Rename global variable aa to minver_aa 10 | - Rename global variable a_i to minver_a_i 11 | - Rename global variable e to minver_e 12 | - Rename global variable det to minver_det 13 | - Renamed function minver to minver_minver 14 | - Renamed function mmul to minver_mmul 15 | - Renamed function fabs to minver_fabs 16 | - Renamed function main to minver_main 17 | - Created new function main, calling minver_init, minver_main and 18 | returning minver_return 19 | - Reordered functions in source code: initialization- and 20 | return-value-related functions first, followed by algorithm core 21 | functions, followed by main functions 22 | - Applied code formatting with astyle as in the example 23 | 24 | 2016-03-09: 25 | - Removed static keyword for global variables 26 | - Renamed global variables, prepended adpcm_dec 27 | 28 | 2016-05-23: 29 | - Check sum added and checked against the expected value 30 | 31 | 2016-05-25: 32 | - Corrected expected value -------------------------------------------------------------------------------- /bench/sequential/audiobeam/audiobeam.h: -------------------------------------------------------------------------------- 1 | #ifndef AUDIOBEAM_MAIN_H 2 | #define AUDIOBEAM_MAIN_H 3 | 4 | struct audiobeam_DataQueue { 5 | float **sample_queue; 6 | int head; 7 | int tail; 8 | unsigned char full; 9 | }; 10 | 11 | 12 | struct audiobeam_Delays { 13 | float **delay_values; 14 | long int max_delay; 15 | }; 16 | 17 | 18 | struct audiobeam_PreprocessedDelays { 19 | float delay; 20 | int low; 21 | int high; 22 | float offset; 23 | }; 24 | 25 | 26 | #undef FLT_MAX 27 | #define FLT_MAX 999e999 28 | 29 | #define SOUND_SPEED 342 30 | #define SAMPLING_RATE 16000 31 | #define CARTESIAN_DISTANCE(x1,y1,z1,x2,y2,z2) (sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2))); 32 | 33 | #define NUM_MIC 15 34 | #define ANGLE_ENERGY_WINDOW_SIZE 400 35 | #define GRID_STEP_SIZE 0.003 // .3cm 36 | #define NUM_DIRS 7 37 | #define NUM_TILES 16 38 | 39 | #define MIC_HORIZ_SPACE 0.038257 40 | #define MIC_VERT_SPACE 0.015001 41 | #define TWO23 8388608.0 // 2^23 42 | #define BUFFER_SIZE 384 // No of input-tupels (each with NUM_MIC elements) 43 | #define NUM_MIC_IN_CHAIN 32 44 | #define NUM_BOARDS_IN_CHAIN 16 45 | #define INPUT_LENGTH 5760 46 | 47 | #define INTERPOLATE(low_value, high_value, offset) (((high_value-low_value)*(offset)) + low_value) 48 | 49 | #endif 50 | 51 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/harness/target_reg52.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Module : target_reg52.h 14 | 15 | Definitions for 80C32 Special Function Registers to be used 16 | in portable parts of the DEBIE DPU software. 17 | 18 | This "null" (DNI) version declares these Special Function Registers 19 | as global "unsigned char" variables. 20 | 21 | Created for the DEBIE-I WCET benchmark program. Not based directly 22 | on any SSF sources. 23 | 24 | - * -------------------------------------------------------------------------- 25 | */ 26 | 27 | 28 | #ifndef TARGET_REG52_H 29 | #define TARGET_REG52_H 30 | 31 | 32 | extern unsigned char EA; 33 | /* Interrupt enable register. */ 34 | 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/x86/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Script to compile debie1 on the host Intel/Linux system. 4 | # 5 | # Any arguments go into the CCOPT (eg. -Wpadded). 6 | 7 | 8 | # Set tpd to the Test Program Directory: 9 | tpd=../.. 10 | 11 | # Set hnd to the "harness" directory: 12 | 13 | hnd=${tpd}/harness 14 | 15 | # Native gcc and options: 16 | 17 | export CC="gcc" 18 | export CCOPT="-g -O2 -I. -I${hnd} -Wall $*" 19 | export LD="gcc" 20 | export LDOPT= 21 | 22 | ${CC} ${CCOPT} -c ${tpd}/class.c 23 | ${CC} ${CCOPT} -c ${tpd}/classtab.c 24 | ${CC} ${CCOPT} -c ${tpd}/debie.c 25 | ${CC} ${CCOPT} -c -I${tpd} ${hnd}/harness.c -DTRACE_HARNESS 26 | ${CC} ${CCOPT} -c ${tpd}/health.c 27 | ${CC} ${CCOPT} -c ${tpd}/hw_if.c 28 | ${CC} ${CCOPT} -c ${tpd}/measure.c 29 | ${CC} ${CCOPT} -c -I${tpd} target.c -DTRACE_TARGET 30 | ${CC} ${CCOPT} -c ${tpd}/tc_hand.c 31 | ${CC} ${CCOPT} -c ${tpd}/telem.c 32 | ${CC} ${CCOPT} -c wcc_memcpy.c 33 | 34 | 35 | ${CC} ${LDOPT} \ 36 | -o debie1 \ 37 | class.o \ 38 | classtab.o \ 39 | debie.o \ 40 | harness.o \ 41 | health.o \ 42 | hw_if.o \ 43 | measure.o \ 44 | target.o \ 45 | tc_hand.o \ 46 | telem.o \ 47 | wcc_memcpy.o 48 | 49 | -------------------------------------------------------------------------------- /bench/kernel/countnegative/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: countnegative.c 2 | Original provenience: Mälardalen benchmark suite, www.mrtc..... 3 | 4 | 2015-11-26: 5 | - Changed return type of InitSeed, Initialize, and Test to void 6 | because the result was ignored anyway 7 | - Prefixed all functions and global variables with "countnegative_" 8 | - Added new function countnegative_return computing a checksum as 9 | return value 10 | - Separated initialization (called from countnegative_init) from 11 | actual computation (called from countnegative_main), remove 12 | pointless function countnegative_test afterwards 13 | - Reordered functions in source code: initialization- and 14 | return-value-related functions first, followed by algorithm core 15 | function, followed by main functions 16 | - Eliminated definition of macro WORSTCASE and kept only the relevant 17 | part of the related #ifdef block 18 | - Removed comments that referred to MAXSIZE being 100 (instead of 20) 19 | - Made countnegative_seed volatile 20 | - Changed C++ style comments to C style comments 21 | - Applied code formatting with astyle as in the example 22 | - Added general TACLeBench header to beginning of source code 23 | 24 | 2016-03-15: 25 | - Return 0 if checksum is as expected, -1 otherwise 26 | - Add entrypoint pragma 27 | 28 | 2016-04-20: 29 | - Cast "expected" return value to int for comparison 30 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/ttc_ctrl.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Module : ttc_ctrl.h 14 | 15 | Macros and function prototypes for handling the Telecommand 16 | and Telemetry interface. 17 | 18 | Based on the SSF DHI file ttc_ctrl.h, rev 1.11, Sun May 16 09:20:10 1999. 19 | 20 | - * -------------------------------------------------------------------------- 21 | */ 22 | 23 | 24 | #ifndef TTC_CTRL_H 25 | #define TTC_CTRL_H 26 | 27 | #include "target_ttc_ctrl.h" 28 | 29 | /* TM interrupt service handling */ 30 | #define TM_ISR_MASK 0x04 31 | 32 | /* Error Status register bits concerning TM/TC interface */ 33 | 34 | #define PARITY_ERROR 2 35 | #define TC_ERROR 1 36 | 37 | #define TC_OR_PARITY_ERROR (TC_ERROR + PARITY_ERROR) 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/airborne/fly_by_wire/uart.h: -------------------------------------------------------------------------------- 1 | /* 2 | Paparazzi $Id: uart.h,v 1.1 2011-01-18 12:42:42 moellmer Exp $ 3 | 4 | Copyright (C) 2003 Pascal Brisset, Antoine Drouin 5 | 6 | This file is part of paparazzi. 7 | 8 | paparazzi is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2, or (at your option) 11 | any later version. 12 | 13 | paparazzi is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with paparazzi; see the file COPYING. If not, write to 20 | the Free Software Foundation, 59 Temple Place - Suite 330, 21 | Boston, MA 02111-1307, USA. 22 | 23 | */ 24 | 25 | #ifndef _UART_H_ 26 | #define _UART_H_ 27 | 28 | #include 29 | 30 | void uart_init_tx( void ); 31 | void uart_init_rx( void ); 32 | void uart_transmit( unsigned char data ); 33 | 34 | void uart_print_hex ( uint8_t c ); 35 | void uart_print_hex16 ( uint16_t c ); 36 | void uart_print_string( const uint8_t *s ); 37 | void uart_print_float( const float *f ); 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /bench/sequential/g723_enc/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: g723_enc.c 2 | Original provenience: SUN Microsystems 3 | 4 | 2016-03-02: 5 | - Renamed file to g723_enc and removed all g721 dead code 6 | - Added TACLeBench header to line 1 7 | - Moved SUN license to license.txt 8 | - Deleted unused code that was commented out 9 | - Renamed functions prepended g723_enc to all function names 10 | - Renamed function main to g723_enc_main 11 | - Created new function main, calling g723_enc_init, g723_enc_main and 12 | returning g723_enc_return 13 | - Reordered functions in source code: initialization- and 14 | return-value-related functions first, followed by algorithm core 15 | functions, followed by main functions 16 | - Applied code formatting with astyle as in the example 17 | 18 | 2016-03-09: 19 | - Renamed global variables, prepended g723_enc_ 20 | - Removed static keyword from global variables 21 | - Renamed datatype from g723_enc_g72x_state to g723_enc_state 22 | - Renamed function g723_enc_g72x_init_state to g723_enc_init_state 23 | 24 | 2016-05-23: 25 | - Added initialization with volatile int 26 | - Added check_sum and comparison with expected result 27 | 28 | 2016-05-25 29 | - Changed name of struct g723_enc_state to g723_enc_state_t 30 | - Changed name of variable state to g723_enc_state 31 | 32 | 2017-07-10 33 | - Fixed undefined behaviour introduced by accessing the result of a pointer 34 | type cast. 35 | -------------------------------------------------------------------------------- /bench/kernel/cosf/cosf.c: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.9 5 | 6 | Name: cosf 7 | 8 | Author: Dustin Green 9 | 10 | Function: cosf performs calculations of the cosinus function 11 | 12 | Source: 13 | 14 | Original name: 15 | 16 | Changes: 17 | 18 | License: this code is FREE with no restrictions 19 | 20 | */ 21 | 22 | #include "wcclibm.h" 23 | 24 | 25 | /* 26 | Forward declaration of functions 27 | */ 28 | 29 | void cosf_init( void ); 30 | void cosf_main( void ); 31 | int cosf_return( void ); 32 | int main( void ); 33 | 34 | 35 | /* 36 | Declaration of global variables 37 | */ 38 | 39 | float cosf_solutions; 40 | 41 | 42 | /* 43 | Initialization function 44 | */ 45 | 46 | void cosf_init( void ) 47 | { 48 | cosf_solutions = 0.0f; 49 | } 50 | 51 | 52 | /* 53 | Return function 54 | */ 55 | 56 | int cosf_return( void ) 57 | { 58 | int temp = cosf_solutions; 59 | 60 | if ( temp == -4 ) 61 | return 0; 62 | else 63 | return -1; 64 | } 65 | 66 | 67 | /* 68 | Main functions 69 | */ 70 | 71 | void _Pragma( "entrypoint" ) cosf_main( void ) 72 | { 73 | float i; 74 | _Pragma( "loopbound min 100 max 100" ) 75 | for ( i = 0.0f; i < 10; i += 0.1f ) 76 | cosf_solutions += basicmath___cosf( i ); 77 | } 78 | 79 | 80 | int main( void ) 81 | { 82 | cosf_init(); 83 | cosf_main(); 84 | return cosf_return(); 85 | } 86 | 87 | -------------------------------------------------------------------------------- /doc/wcet-paper/eval/pasim-eval.tikz: -------------------------------------------------------------------------------- 1 | % 2 | \makeatletter 3 | \pgfplotsset{ 4 | /pgfplots/flexible xticklabels from table/.code n args={3}{% 5 | \pgfplotstableread[#3]{#1}\coordinate@table 6 | \pgfplotstablegetcolumn{#2}\of{\coordinate@table}\to\pgfplots@xticklabels 7 | \let\pgfplots@xticklabel=\pgfplots@user@ticklabel@list@x 8 | } 9 | } 10 | \makeatother 11 | % 12 | % grid style 13 | \pgfplotsset{grid style={dashed,gray}} 14 | \pgfplotsset{minor grid style={dashed,red}} 15 | \pgfplotsset{major grid style={dotted,green!50!black}} 16 | % 17 | \begin{tikzpicture} 18 | \begin{axis}[ 19 | ybar, 20 | ymode=log, 21 | %grid=major, 22 | ymajorgrids, 23 | xtick=data, 24 | xmin=0, 25 | xmax=54, 26 | ymin=1e0, 27 | ymax=2e9, 28 | xtick pos=left, 29 | ytick pos=left, 30 | ytick={1e0,1e1,1e2,1e3,1e4,1e5,1e6,1e7,1e8,1e9}, 31 | font=\tiny, 32 | width=1.04\textwidth, 33 | height=0.4\textwidth, 34 | bar width=4pt, 35 | axis y line*=left, 36 | ylabel={\# Cycles}, 37 | ylabel style={anchor=south, yshift=-20}, 38 | flexible xticklabels from table={\resultfile}{benchmark}{col sep=space}, 39 | xticklabel style={rotate=50,anchor=east,xshift=1}, 40 | ] 41 | % 42 | \addplot [% 43 | draw=black, 44 | fill=gray!5!blue!70, % 45 | top color=gray!5!blue!20, bottom color=gray!5!blue!60, 46 | ] 47 | table [x=position, 48 | y=pasim, 49 | ] {\resultfile}; 50 | \end{axis} 51 | \end{tikzpicture} 52 | % 53 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/airborne/autopilot/infrared.h: -------------------------------------------------------------------------------- 1 | /* 2 | Paparazzi mcu0 $Id: infrared.h,v 1.2 2011-01-18 14:55:52 moellmer Exp $ 3 | 4 | Copyright (C) 2003 Pascal Brisset, Antoine Drouin 5 | 6 | This file is part of paparazzi. 7 | 8 | paparazzi is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2, or (at your option) 11 | any later version. 12 | 13 | paparazzi is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with paparazzi; see the file COPYING. If not, write to 20 | the Free Software Foundation, 59 Temple Place - Suite 330, 21 | Boston, MA 02111-1307, USA. 22 | 23 | */ 24 | 25 | #ifndef INFRARED_H 26 | #define INFRARED_H 27 | 28 | 29 | extern int16_t ir_roll; /* averaged roll adc */ 30 | extern int16_t ir_pitch; /* averaged pitch adc */ 31 | 32 | 33 | extern float ir_rad_of_ir; 34 | extern int16_t ir_contrast; 35 | extern int16_t ir_roll_neutral; 36 | extern int16_t ir_pitch_neutral; 37 | 38 | void ir_init( void ); 39 | void ir_update( void ); 40 | void ir_gain_calib( void ); 41 | 42 | #endif /* INFRARED_H */ 43 | -------------------------------------------------------------------------------- /bench/sequential/susan/wccmalloc.c: -------------------------------------------------------------------------------- 1 | #include "wccmalloc.h" 2 | 3 | // This must be redefined for each new benchmark 4 | #define HEAP_SIZE 30000 5 | 6 | char susan_simulated_heap[ HEAP_SIZE ]; 7 | unsigned int susan_freeHeapPos; 8 | 9 | void *susan_wccmalloc( unsigned int numberOfBytes ) 10 | { 11 | // Get a 4-byte adress for alignment purposes 12 | unsigned int offset = ( ( unsigned long )susan_simulated_heap + 13 | susan_freeHeapPos ) % 4; 14 | if ( offset ) 15 | susan_freeHeapPos += 4 - offset; 16 | void *currentPos = ( void * )&susan_simulated_heap[ susan_freeHeapPos ]; 17 | susan_freeHeapPos += numberOfBytes; 18 | return currentPos; 19 | } 20 | void susan_wccfreeall( void ) 21 | { 22 | susan_freeHeapPos = 0; 23 | } 24 | 25 | void *susan_wccmemcpy( void *dstpp, const void *srcpp, unsigned int len ) 26 | { 27 | unsigned long int dstp = ( long int ) dstpp; 28 | unsigned long int srcp = ( long int ) srcpp; 29 | 30 | _Pragma( "loopbound min 76 max 76" ) 31 | while ( len > 0 ) { 32 | char __x = ( ( char * ) srcp )[ 0 ]; 33 | srcp += 1; 34 | len -= 1; 35 | ( ( char * ) dstp )[ 0 ] = __x; 36 | dstp += 1; 37 | } 38 | 39 | return dstpp; 40 | } 41 | 42 | void susan_wccmemset( void *p, int value, unsigned int num ) 43 | { 44 | unsigned long i; 45 | char *char_ptr = ( char * )p; 46 | 47 | _Pragma( "loopbound min 7220 max 7220" ) 48 | for ( i = 0; i < num; ++i ) 49 | *char_ptr++ = ( unsigned char )value; 50 | } 51 | -------------------------------------------------------------------------------- /bench/sequential/h264_dec/copyright.txt: -------------------------------------------------------------------------------- 1 | /* 2 | *********************************************************************** 3 | * COPYRIGHT AND WARRANTY INFORMATION 4 | * 5 | * Copyright 2001, International Telecommunications Union, Geneva 6 | * 7 | * DISCLAIMER OF WARRANTY 8 | * 9 | * These software programs are available to the user without any 10 | * license fee or royalty on an "as is" basis. The ITU disclaims 11 | * any and all warranties, whether express, implied, or 12 | * statutory, including any implied warranties of merchantability 13 | * or of fitness for a particular purpose. In no event shall the 14 | * contributor or the ITU be liable for any incidental, punitive, or 15 | * consequential damages of any kind whatsoever arising from the 16 | * use of these programs. 17 | * 18 | * This disclaimer of warranty extends to the user of these programs 19 | * and user's customers, employees, agents, transferees, successors, 20 | * and assigns. 21 | * 22 | * The ITU does not represent or warrant that the programs furnished 23 | * hereunder are free of infringement of any third-party patents. 24 | * Commercial implementations of ITU-T Recommendations, including 25 | * shareware, may be subject to royalty fees to patent holders. 26 | * Information regarding the ITU-T patent policy is available from 27 | * the ITU Web site at http://www.itu.int. 28 | * 29 | * THIS IS NOT A GRANT OF PATENT RIGHTS - SEE THE ITU-T PATENT POLICY. 30 | ************************************************************************ 31 | */ 32 | 33 | -------------------------------------------------------------------------------- /bench/app/lift/liftlibcontrol.h: -------------------------------------------------------------------------------- 1 | #ifndef LIFTLIBCONTROL_H 2 | #define LIFTLIBCONTROL_H 3 | 4 | enum lift_Direction { 5 | lift_GO_LOAD = 8, 6 | lift_GO_TOP = 6, 7 | lift_GO_BOTTOM = 7, 8 | lift_GO_UP = 4, 9 | lift_GO_DOWN = 5 10 | }; 11 | 12 | enum lift_Sensor { 13 | lift_SENS_IMPULS = 0, 14 | lift_SENS_TOP = 1, 15 | lift_SENS_BOTTOM = 2, 16 | lift_SENS_LOAD = 3 17 | }; 18 | 19 | enum lift_Motor { 20 | lift_MOTOR_ON = 0, 21 | lift_MOTOR_UP = 1 22 | }; 23 | 24 | enum lift_Command { 25 | lift_CMD_NONE = 0, 26 | lift_CMD_TOP = 1, 27 | lift_CMD_BOTTOM = 2, 28 | lift_CMD_UP = 3, 29 | lift_CMD_DOWN = 4 30 | }; 31 | 32 | /* Global variables */ 33 | extern int lift_levelPos[ 16 ]; 34 | extern int lift_one_level; 35 | extern int lift_cntValid; 36 | extern int lift_cnt; 37 | extern int lift_level; 38 | extern int lift_loadLevel; 39 | extern int lift_loadPending; 40 | extern int lift_loadSensor; 41 | extern int lift_cmd; 42 | extern int lift_timMotor; 43 | extern int lift_timImp; 44 | extern int lift_directionUp; 45 | extern int lift_lastImp; 46 | extern int lift_dbgCnt; 47 | extern int lift_endCnt; 48 | 49 | /* Checksum */ 50 | extern int lift_checksum; 51 | 52 | /* prototypes */ 53 | void lift_ctrl_init(); 54 | void lift_ctrl_loop(); 55 | 56 | /* internal prototypes */ 57 | int lift_check_run(); 58 | void lift_wait_for_motor_start(); 59 | void lift_do_cmd(); 60 | void lift_do_impulse( int val, int motor, int reset ); 61 | void lift_check_cmd(); 62 | void lift_check_level(); 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /bench/app/lift/README: -------------------------------------------------------------------------------- 1 | Lift Controller 2 | =============== 3 | 4 | This is a port of Martin Schoeberl's Lift Controller [1] to C. The orignal 5 | version is an embedded Java program that controls a lift in a factory in Turkey. 6 | Benedikt Huber has ported the controller to C and Lucid [3]. It has been used in 7 | various research projects, including T-CREST[3] and the F-Shell test generator 8 | [4]. 9 | 10 | Overview 11 | -------- 12 | 13 | The sensors of the system consist of several buttons, a load sensor (to detect 14 | if the lift is positioned at the load), sensors to detect bottom and top 15 | position, and an index sensor for the motor. The motor is controlled using two 16 | digital outputs, one for its direction and one to turn it off or on. 17 | 18 | The controller itself consists of an initialization routine ctrl_init(), the 19 | controller step ctrl_loop(), which should be invoked every 10ms. Outside a test 20 | environment, ctrl_get_vals() should be called to read sensors before the 21 | controller runs, and ctrl_set_vals() should be called to set actuators after the 22 | controller ran. 23 | 24 | The digital IO interface (9 digital inputs, 2 digital outputs and 14 LEDs are 25 | used) is realized as global volatile variables (simio_in, simio_out, simio_led), 26 | that can be modified and read by test drivers or by the runtime environment. 27 | 28 | [1] http://www.jopdesign.com/doc/jembench.pdf 29 | [2] https://github.com/visq/99lifts 30 | [3] http://www.t-crest.org 31 | [4] http://forsyte.at/software/fshell/ 32 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/airborne/autopilot/link_fbw.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id: link_fbw.h,v 1.1 2011-01-18 12:48:38 moellmer Exp $ 3 | 4 | Copyright (C) 2003 Pascal Brisset, Antoine Drouin 5 | 6 | This file is part of paparazzi. 7 | 8 | paparazzi is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2, or (at your option) 11 | any later version. 12 | 13 | paparazzi is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with paparazzi; see the file COPYING. If not, write to 20 | the Free Software Foundation, 59 Temple Place - Suite 330, 21 | Boston, MA 02111-1307, USA. 22 | 23 | */ 24 | 25 | #ifndef LINK_FBW_H 26 | #define LINK_FBW_H 27 | 28 | #include 29 | 30 | #include "link_autopilot.h" 31 | 32 | void link_fbw_init( void ); 33 | void link_fbw_send( void ); 34 | void link_fbw_on_spi_it( void ); 35 | 36 | extern volatile uint8_t link_fbw_nb_err; 37 | extern uint8_t link_fbw_fbw_nb_err; 38 | 39 | extern struct inter_mcu_msg from_fbw; 40 | extern struct inter_mcu_msg to_fbw; 41 | extern volatile uint8_t link_fbw_receive_complete; 42 | extern volatile uint8_t link_fbw_receive_valid; 43 | 44 | #endif /* LINK_FBW_H */ 45 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/include/c/logger.h: -------------------------------------------------------------------------------- 1 | /* 2 | logger.h 3 | Copyright (C) 2003 Antoine Drouin 4 | 5 | This file is part of paparazzi. 6 | 7 | paparazzi is free software; you can redistribute it and/or modify 8 | it under the terms of the GNU General Public License as published by 9 | the Free Software Foundation; either version 2, or (at your option) 10 | any later version. 11 | 12 | paparazzi is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with paparazzi; see the file COPYING. If not, write to 19 | the Free Software Foundation, 59 Temple Place - Suite 330, 20 | Boston, MA 02111-1307, USA. 21 | */ 22 | 23 | /* 24 | write and read logs for the paparazzi 25 | */ 26 | 27 | 28 | #ifndef LOGGER_H 29 | #define LOGGER_H 30 | 31 | #include 32 | #include 33 | 34 | #include "downlink.h" 35 | #include "protocol.h" 36 | 37 | struct Logger { 38 | GIOChannel *channel; 39 | }; 40 | 41 | 42 | struct Logger *logger_new( const gchar *out_file, xmlDocPtr doc ); 43 | void logger_log( struct Logger *this, struct PprzMsg *msg ); 44 | void logger_free( struct Logger *this ); 45 | 46 | GList *logger_parse_log( const gchar *filename, 47 | struct PprzProtocol **protocol ); 48 | 49 | 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/airborne/fly_by_wire/spi.h: -------------------------------------------------------------------------------- 1 | /* $Id: spi.h,v 1.1 2011-01-18 12:42:42 moellmer Exp $ 2 | 3 | Paparazzi fbw spi functions 4 | 5 | Copyright (C) 2003 Pascal Brisset, Antoine Drouin 6 | 7 | This file is part of paparazzi. 8 | 9 | paparazzi is free software; you can redistribute it and/or modify 10 | it under the terms of the GNU General Public License as published by 11 | the Free Software Foundation; either version 2, or (at your option) 12 | any later version. 13 | 14 | paparazzi is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with paparazzi; see the file COPYING. If not, write to 21 | the Free Software Foundation, 59 Temple Place - Suite 330, 22 | Boston, MA 02111-1307, USA. 23 | 24 | */ 25 | 26 | #ifndef SPI_H 27 | #define SPI_H 28 | 29 | #include "link_autopilot.h" 30 | 31 | 32 | #define SPI_PORT PORTB 33 | #define SPI_PIN PINB 34 | #define SPI_SS_PIN 2 35 | 36 | #define SpiIsSelected() (bit_is_clear(SPI_PIN, SPI_SS_PIN)) 37 | 38 | extern struct inter_mcu_msg from_mega128; 39 | extern struct inter_mcu_msg to_mega128; 40 | extern volatile bool_t mega128_receive_valid; 41 | extern volatile bool_t spi_was_interrupted; 42 | 43 | 44 | void spi_init( void ); 45 | void spi_reset( void ); 46 | 47 | 48 | #endif /* SPI_H */ 49 | -------------------------------------------------------------------------------- /bench/kernel/minver/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: minver.c 2 | Original provenience: SNU-RT Benchmark Suite for Worst Case Timing Analysis 3 | 4 | 2016-02-26: 5 | - Added TACLeBench header to line 1 6 | - Rename global variable a to minver_a 7 | - Rename global variable b to minver_b 8 | - Rename global variable c to minver_c 9 | - Rename global variable aa to minver_aa 10 | - Rename global variable a_i to minver_a_i 11 | - Rename global variable e to minver_e 12 | - Rename global variable det to minver_det 13 | - Renamed function minver to minver_minver 14 | - Renamed function mmul to minver_mmul 15 | - Renamed function fabs to minver_fabs 16 | - Renamed function main to minver_main 17 | - Created new function main, calling minver_init, minver_main and 18 | returning minver_return 19 | - Reordered functions in source code: initialization- and 20 | return-value-related functions first, followed by algorithm core 21 | functions, followed by main functions 22 | - Applied code formatting with astyle as in the example 23 | 24 | 2016-03-09 25 | - Removed static keyword from global minver_a array. 26 | 27 | 2016-05-23 28 | - Added addition of volatile to test data to avoid constant propagation 29 | - Added check_sum and comparison with expected value 30 | 31 | 2016-05-25 32 | - Initialized variable r in function minver_minver() 33 | - Removed parameter cols of minver_minver() function 34 | - Renamed parameter rows of minver_minver() to side 35 | 36 | 2017-07-04 37 | - Removed self-assignment for WCC's flow-fact manager to avoid clangs 38 | self-assign warning. 39 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/mpc5554/host-build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Script to compile "debie1" on the host Intel/Linux system 4 | # using the target-specific code for mpc5554/gcc. This is 5 | # meant to check that the MPC5554 port has no target-specific 6 | # behaviour and (by default) no output; it does not generate 7 | # an executable for the MPC5554. 8 | # 9 | # Any command-line arguments go into the CCOPT (eg. -Wpadded). 10 | # As default, the trace output from the harness and target 11 | # modules are disabled. 12 | 13 | 14 | # Set tpd to the Test Program Directory: 15 | tpd=../.. 16 | 17 | # Set hnd to the "harness" directory: 18 | 19 | hnd=${tpd}/harness 20 | 21 | # Native gcc and options: 22 | 23 | export CC="gcc" 24 | export CCOPT="-g -O2 -I. -I${hnd} -Wall $*" 25 | export LD="gcc" 26 | export LDOPT= 27 | 28 | ${CC} ${CCOPT} -c ${tpd}/class.c 29 | ${CC} ${CCOPT} -c ${tpd}/classtab.c 30 | ${CC} ${CCOPT} -c ${tpd}/debie.c 31 | ${CC} ${CCOPT} -c -I${tpd} ${hnd}/harness.c 32 | ${CC} ${CCOPT} -c ${tpd}/health.c 33 | ${CC} ${CCOPT} -c ${tpd}/hw_if.c 34 | ${CC} ${CCOPT} -c ${tpd}/measure.c 35 | ${CC} ${CCOPT} -c -I${tpd} target.c 36 | ${CC} ${CCOPT} -c ${tpd}/tc_hand.c 37 | ${CC} ${CCOPT} -c ${tpd}/telem.c 38 | 39 | 40 | ${CC} ${LDOPT} \ 41 | -o debie1 \ 42 | class.o \ 43 | classtab.o \ 44 | debie.o \ 45 | harness.o \ 46 | health.o \ 47 | hw_if.o \ 48 | measure.o \ 49 | target.o \ 50 | tc_hand.o \ 51 | telem.o 52 | 53 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/isr_ctrl.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Module : isr_ctrl.h 14 | 15 | Macros and operations to control and handle interrupts. 16 | 17 | Based on the SSF DHI file isr_ctrl.h, rev 1.16, Sun Jul 25 15:02:08 1999. 18 | 19 | 20 | - * -------------------------------------------------------------------------- 21 | */ 22 | 23 | 24 | #ifndef ISR_CTRL_H 25 | #define ISR_CTRL_H 26 | 27 | #include "target_isr_ctrl.h" 28 | 29 | /* Function prototypes */ 30 | 31 | extern void AttachInterrupt( unsigned char ISR_VectorNumber ); 32 | 33 | extern void EnableInterrupt( unsigned char ISR_VectorNumber ); 34 | 35 | extern void DisableInterrupt( unsigned char ISR_VectorNumber ); 36 | 37 | extern signed char SetInterruptMask( unsigned char ISR_MaskNumber ); 38 | 39 | extern signed char ResetInterruptMask( unsigned char ISR_MaskNumber ); 40 | 41 | extern void WaitInterrupt ( unsigned char ISR_VectorNumber, 42 | unsigned char timer ); 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /bench/checkBenchmark.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | COMPILER=gcc # Please adapt this line to your favorite compiler. 4 | #COMPILER=patmos-clang 5 | 6 | OPTIONS=" -Wall -Wno-unknown-pragmas -Werror " 7 | 8 | EXEC= # Adapt if the executable is to be executed via another program 9 | #EXEC=valgrind\ -q 10 | #EXEC=pasim 11 | 12 | PASS=0 13 | FAIL_COMP=0 14 | FAIL_EXEC=0 15 | 16 | for dir in */; do 17 | 18 | cd "$dir" 19 | 20 | printf "Entering ${dir} \n" 21 | 22 | for BENCH in */; do 23 | cd "$BENCH" 24 | 25 | printf "Checking ${BENCH} ..." 26 | if [ -f a.out ]; then 27 | rm a.out 28 | fi 29 | 30 | if [ -f *.o ]; then 31 | rm *.o 32 | fi 33 | 34 | 35 | # Please remove '&>/dev/null' to identify the warnings (if any) 36 | $COMPILER $OPTIONS *.c &>/dev/null 37 | 38 | if [ -f a.out ]; then 39 | $EXEC ./a.out &>/dev/null 40 | RETURNVALUE=$(echo $?) 41 | if [ $RETURNVALUE -eq 0 ]; then 42 | printf "passed. \n" 43 | ((PASS++)) 44 | else 45 | printf "failed (wrong return value $RETURNVALUE). \n" 46 | ((FAIL_EXEC++)) 47 | fi 48 | else 49 | printf "failed (compiled with errors/warnings). \n" 50 | ((FAIL_COMP++)) 51 | fi 52 | 53 | cd .. 54 | done 55 | 56 | printf "Leaving ${dir} \n\n" 57 | 58 | cd .. 59 | done 60 | 61 | echo "PASS: $PASS, FAIL_COMP: $FAIL_COMP, FAIL_EXEC: $FAIL_EXEC" -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/airborne/autopilot/uart.h: -------------------------------------------------------------------------------- 1 | /* 2 | Paparazzi $Id: uart.h,v 1.2 2011-01-18 14:55:52 moellmer Exp $ 3 | 4 | Copyright (C) 2003 Pascal Brisset, Antoine Drouin 5 | 6 | This file is part of paparazzi. 7 | 8 | paparazzi is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2, or (at your option) 11 | any later version. 12 | 13 | paparazzi is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with paparazzi; see the file COPYING. If not, write to 20 | the Free Software Foundation, 59 Temple Place - Suite 330, 21 | Boston, MA 02111-1307, USA. 22 | 23 | */ 24 | #ifndef _UART_H_ 25 | #define _UART_H_ 26 | 27 | #include 28 | 29 | extern void uart0_init( void ); 30 | extern void uart1_init( void ); 31 | 32 | extern void uart0_print_string( const uint8_t * ); 33 | extern void uart0_print_hex( const uint8_t ); 34 | void uart0_transmit( const uint8_t ); 35 | void uart1_transmit( const uint8_t ); 36 | 37 | #define ReceiveUart0(cb) \ 38 | SIGNAL( SIG_UART0_RECV ) { \ 39 | uint8_t c = UDR0; \ 40 | cb(c); \ 41 | } 42 | #define ReceiveUart1(cb) \ 43 | SIGNAL( SIG_UART1_RECV ) { \ 44 | uint8_t c = UDR1; \ 45 | cb(c); \ 46 | } 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /bench/kernel/fft/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: fft.c 2 | Original provenience: DSP-Stone 3 | 4 | 2016-01-05: 5 | - Rename fft_1024_13 to fft 6 | - Add generic TACLeBench header 7 | - Remove original header from DSP-Stone group 8 | - Remove duplicate semicolon in bit_reduct 9 | - Introduce fft_init (initialization of input) 10 | and fft_main (main entry point) 11 | - Update comments about separate input-data file 12 | - Add entry-point annotation to fft_main 13 | - Introduce non-zero return value and make input_data global to reduce impact of 14 | compiler optimizations 15 | - Prefix the functions pin_down, float2frac, convert, exp2f and the global 16 | variables input_data, inputfract, input, twidtable with fft_ 17 | 2016-03-02: 18 | - Fix undefined behavior due to unsequenced modification and access 19 | - Reformat large arrays using clang-format to 80 columns 20 | - Apply code formatting with astyle as in the example 21 | 2016-04-25: 22 | - Remove unnecessary braces in fft_bit_reduct 23 | - Add void parameter to fft_float2fract 24 | - Add all forward declarations 25 | - Move input data into separate file 26 | - Compute check sum and compare it to expected value in return function 27 | 2016-04-26: 28 | - Remove unnecessary braces in fft_pin_down 29 | - Avoid constant propagation through addition with volatile variable 30 | on each element of fft_input_data, fft_twidtable, and fft_input 31 | - Reorganize functions into logical segments in main source file 32 | - Replace usage of macros by their expanded values: 33 | STORAGE_CLASS => register, TYPE => int 34 | 2017-07-10: 35 | - Fix loop bounds to avoid buffer overflow. 36 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_debounce_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow_debounce_private.h 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: headerfile 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_debounce_private.h 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | #ifndef powerwindow_RTW_HEADER_debounce_private_h_ 20 | #define powerwindow_RTW_HEADER_debounce_private_h_ 21 | #include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h" 22 | #include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h" 23 | 24 | /* Macros for accessing real-time model data structure */ 25 | #ifndef powerwindow_rtmGetErrorStatus 26 | # define powerwindow_rtmGetErrorStatus(rtm) (*((rtm)->errorStatus)) 27 | #endif 28 | 29 | #ifndef powerwindow_rtmSetErrorStatus 30 | # define powerwindow_rtmSetErrorStatus(rtm, val) (*((rtm)->errorStatus) = (val)) 31 | #endif 32 | 33 | #ifndef powerwindow_rtmGetErrorStatusPointer 34 | # define powerwindow_rtmGetErrorStatusPointer(rtm) (rtm)->errorStatus 35 | #endif 36 | 37 | #ifndef powerwindow_rtmSetErrorStatusPointer 38 | # define powerwindow_rtmSetErrorStatusPointer(rtm, val) ((rtm)->errorStatus = (val)) 39 | #endif 40 | #endif /* RTW_HEADER_debounce_private_h_ */ 41 | 42 | /* 43 | File trailer for generated code. 44 | 45 | [ EOF ] 46 | */ 47 | -------------------------------------------------------------------------------- /doc/wcet-paper/eval/wcet.csv: -------------------------------------------------------------------------------- 1 | position benchmark platinwcet platintrace pasim 2 | 1 adpcm\_dec -1 -1 10921 3 | 2 adpcm\_enc -1 -1 11747 4 | 3 ammunition -1 -1 703559714 5 | 4 anagram -1 -1 6182495 6 | 5 audiobeam -1 -1 6111625 7 | 6 basicmath -1 -1 42930487 8 | 7 binarysearch -1 -1 305 9 | 8 bitcount -1 -1 19345 10 | 9 bitonic -1 -1 17896 11 | 10 bsort -1 -1 282074 12 | 11 cjpeg\_transupp -1 -1 8563689 13 | 12 cjpeg\_wrbmp -1 -1 355197 14 | 13 complex\_updates -1 -1 14680 15 | 14 countnegative -1 -1 7516 16 | 15 cover -1 -1 3656 17 | # 16 crc -1 -1 46095 18 | 16 dijkstra -1 -1 86588086 19 | 17 duff -1 -1 1683 20 | 18 epic -1 -1 120285275 21 | 19 fac -1 -1 507 22 | 20 fft -1 -1 1787678 23 | 21 filterbank -1 -1 44319021 24 | 22 fir2dim -1 -1 103669 25 | 23 fmref -1 -1 21232326 26 | 24 g723\_enc -1 -1 1999379 27 | 25 gsm\_dec -1 -1 3515969 28 | 26 gsm\_encode -1 -1 6909409 29 | 27 h264\_dec -1 -1 413069 30 | 28 huff\_dec -1 -1 506172 31 | 29 huff\_enc -1 -1 1707651 32 | 30 iir -1 -1 4105 33 | 31 insertsort -1 -1 5026 34 | 32 jfdctint -1 -1 6282 35 | 33 lift -1 -1 1606777 36 | 34 lms -1 -1 2917030 37 | 35 ludcmp -1 -1 406706 38 | 36 matrix1 -1 -1 41491 39 | 37 md5 -1 -1 57179246 40 | 38 minver -1 -1 79734 41 | 39 mpeg2 -1 -1 247424328 42 | 40 ndes -1 -1 457112 43 | 41 petrinet -1 -1 8096 44 | 42 pm -1 -1 163518825 45 | 43 powerwindow -1 -1 15563338 46 | 44 prime -1 -1 8029 47 | 45 quicksort -1 -1 8045782 48 | 46 recursion -1 -1 3828 49 | 47 rijndael\_dec -1 -1 27612785 50 | 48 rijndael\_enc -1 -1 25942123 51 | 49 sha -1 -1 4037188 52 | 50 st -1 -1 2014167 53 | 51 statemate -1 -1 290429 54 | 52 susan -1 -1 56738904 55 | 53 test3 -1 -1 1658333567 56 | -------------------------------------------------------------------------------- /bench/kernel/rad2deg/rad2deg.c: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.9 5 | 6 | Name: rad2deg 7 | 8 | Author: unknown 9 | 10 | Function: rad2deg performs conversion of radiant to degree 11 | 12 | Source: MiBench 13 | http://wwweb.eecs.umich.edu/mibench 14 | 15 | Original name: basicmath_small 16 | 17 | Changes: no major functional changes 18 | 19 | License: this code is FREE with no restrictions 20 | 21 | */ 22 | 23 | 24 | #include "pi.h" 25 | 26 | #define rad2deg(r) ((r)*180/PI) 27 | 28 | 29 | /* 30 | Forward declaration of functions 31 | */ 32 | 33 | void rad2deg_init( void ); 34 | void rad2deg_main( void ); 35 | int rad2deg_return( void ); 36 | int main( void ); 37 | 38 | 39 | /* 40 | Declaration of global variables 41 | */ 42 | 43 | float rad2deg_X, rad2deg_Y; 44 | 45 | 46 | /* 47 | Initialization function 48 | */ 49 | 50 | void rad2deg_init( void ) 51 | { 52 | rad2deg_X = 0; 53 | rad2deg_Y = 0; 54 | } 55 | 56 | 57 | /* 58 | Return function 59 | */ 60 | 61 | int rad2deg_return( void ) 62 | { 63 | int temp = rad2deg_Y; 64 | 65 | if ( temp == 64620 ) 66 | return 0; 67 | else 68 | return -1; 69 | } 70 | 71 | 72 | /* 73 | Main functions 74 | */ 75 | 76 | void _Pragma ( "entrypoint" ) rad2deg_main( void ) 77 | { 78 | _Pragma( "loopbound min 360 max 360" ) 79 | for ( rad2deg_X = 0.0f; rad2deg_X <= ( 2 * PI + 1e-6f ); rad2deg_X += ( PI / 180 ) ) 80 | rad2deg_Y += rad2deg( rad2deg_X ); 81 | } 82 | 83 | 84 | int main( void ) 85 | { 86 | rad2deg_init(); 87 | rad2deg_main(); 88 | return rad2deg_return(); 89 | } 90 | -------------------------------------------------------------------------------- /bench/kernel/recursion/recursion.c: -------------------------------------------------------------------------------- 1 | /* 2 | This program is part of the TACLeBench benchmark suite. 3 | Version V 1.x 4 | 5 | Name: recursion 6 | 7 | Author: unknown 8 | 9 | Function: recursion is a recursion program. 10 | This program computes the Fibonacci number recursively. 11 | 12 | Source: MRTC 13 | http://www.mrtc.mdh.se/projects/wcet/wcet_bench/recursion/recursion.c 14 | 15 | Changes: no major functional changes 16 | 17 | License: May be used, modified, and re-distributed freely. 18 | 19 | */ 20 | 21 | 22 | /* 23 | Global Variables 24 | */ 25 | int recursion_result; 26 | int recursion_input; 27 | 28 | /* 29 | Forward declaration of functions 30 | */ 31 | int recursion_fib( int i ); 32 | void recursion_main( void ); 33 | void recursion_init( void ); 34 | int recursion_return( void ); 35 | int main ( void ); 36 | 37 | 38 | void recursion_init() 39 | { 40 | int volatile temp_input = 10; 41 | recursion_input = temp_input; 42 | } 43 | 44 | 45 | int recursion_fib( int i ) 46 | { 47 | if ( i == 0 ) 48 | return 1; 49 | if ( i == 1 ) 50 | return 1; 51 | 52 | return recursion_fib( i - 1 ) + recursion_fib( i - 2 ); 53 | } 54 | 55 | int recursion_return() 56 | { 57 | return ( recursion_result + ( -89 ) ) != 0; 58 | } 59 | 60 | void _Pragma( "entrypoint" ) recursion_main( void ) 61 | { 62 | _Pragma( "marker recursivecall" ) 63 | _Pragma( "flowrestriction 1*fib <= 177*recursivecall" ) 64 | recursion_result = recursion_fib( recursion_input ); 65 | } 66 | 67 | int main( void ) 68 | { 69 | recursion_init(); 70 | recursion_main(); 71 | return ( recursion_return() ); 72 | } 73 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/airborne/autopilot/ad7714.h: -------------------------------------------------------------------------------- 1 | #ifndef AD_7714_H 2 | #define AD_7714_H 3 | 4 | #include 5 | 6 | /* AD7714 COM register */ 7 | #define AD_COM_REG (0<<4) 8 | #define AD_MODE_REG (1<<4) 9 | #define AD_F_HIGH_REG (2<<4) 10 | #define AD_F_LOW_REG (3<<4) 11 | #define AD_TEST_REG (4<<4) 12 | #define AD_DATA_REG (5<<4) 13 | #define AD_ZS_CAL_REG (6<<4) 14 | #define AD_FS_CAL_REG (7<<4) 15 | 16 | #define AD_WR (1<<3) 17 | 18 | #define AD_FD0 (4<<0) 19 | #define AD_FD1 (5<<0) 20 | #define AD_FD2 (6<<0) 21 | 22 | /* AD7714 MODE register */ 23 | #define AD_NOR_MOD (0<<5) 24 | #define AD_SELFCAL_MOD (1<<5) 25 | #define AD_ZS_SYSCAL_MOD (2<<5) 26 | #define AD_FS_SYSCAL_MOD (3<<5) 27 | #define AD_SYSOFFCAL_MOD (4<<5) 28 | #define AD_BG_CAL_MOD (5<<5) 29 | #define AD_ZS_SELFCAL_MOD (6<<5) 30 | #define AD_FS_SELFCAL_MOD (7<<5) 31 | 32 | #define AD_GAIN_1 (0<<2) 33 | #define AD_GAIN_2 (1<<2) 34 | #define AD_GAIN_4 (2<<2) 35 | #define AD_GAIN_8 (3<<2) 36 | #define AD_GAIN_16 (4<<2) 37 | #define AD_GAIN_32 (5<<2) 38 | #define AD_GAIN_64 (6<<2) 39 | #define AD_GAIN_128 (7<<2) 40 | 41 | #define AD_BO (1<<1) 42 | #define AD_FSYNC (1<<0) 43 | 44 | #define Ad7714_Disable_It() { cbi(EIMSK, INT6); } 45 | 46 | #define Ad7714_Enable_It() { sbi(EIMSK, INT6); } 47 | 48 | #define Ad7714_Ready() (bit_is_clear(EIFR, INTF6)) 49 | 50 | extern uint16_t ad7714_sample; 51 | extern uint8_t ad7714_sample_read; 52 | void ad7714_init( void ); 53 | void ad7714_on_spi_it( void ); 54 | void ad7714_on_it( void ); 55 | 56 | #endif /* AD_7714_H */ 57 | -------------------------------------------------------------------------------- /bench/kernel/deg2rad/deg2rad.c: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.9 5 | 6 | Name: deg2rad 7 | 8 | Author: unknown 9 | 10 | Function: deg2rad performs conversion of degree to radiant 11 | 12 | Source: MiBench 13 | http://wwweb.eecs.umich.edu/mibench 14 | 15 | Original name: basicmath_small 16 | 17 | Changes: no major functional changes 18 | 19 | License: this code is FREE with no restrictions 20 | 21 | */ 22 | 23 | #include "pi.h" 24 | 25 | #define deg2rad(d) ((d)*PI/180) 26 | 27 | 28 | /* 29 | Forward declaration of functions 30 | */ 31 | 32 | void deg2rad_init( void ); 33 | void deg2rad_main( void ); 34 | int deg2rad_return( void ); 35 | int main( void ); 36 | 37 | 38 | /* 39 | Declaration of global variables 40 | */ 41 | 42 | float deg2rad_X, deg2rad_Y; 43 | 44 | 45 | /* 46 | Initialization function 47 | */ 48 | 49 | void deg2rad_init( void ) 50 | { 51 | deg2rad_X = 0; 52 | deg2rad_Y = 0; 53 | } 54 | 55 | 56 | /* 57 | Return function 58 | */ 59 | 60 | int deg2rad_return( void ) 61 | { 62 | int temp = deg2rad_Y; 63 | 64 | if ( temp == 1133 ) 65 | return 0; 66 | else 67 | return -1; 68 | 69 | } 70 | 71 | 72 | /* 73 | Main functions 74 | */ 75 | 76 | void _Pragma( "entrypoint" ) deg2rad_main( void ) 77 | { 78 | /* convert some rads to degrees */ 79 | _Pragma( "loopbound min 361 max 361" ) 80 | for ( deg2rad_X = 0.0f; deg2rad_X <= 360.0f; deg2rad_X += 1.0f ) 81 | deg2rad_Y += deg2rad( deg2rad_X ); 82 | } 83 | 84 | 85 | int main( void ) 86 | { 87 | deg2rad_init(); 88 | deg2rad_main(); 89 | return deg2rad_return(); 90 | } 91 | -------------------------------------------------------------------------------- /bench/sequential/gsm_dec/private.h: -------------------------------------------------------------------------------- 1 | #ifndef GSM_DEC_PRIVATE_H 2 | #define GSM_DEC_PRIVATE_H 3 | 4 | typedef short word; /* 16 bit signed int */ 5 | typedef long longword; /* 32 bit signed int */ 6 | 7 | typedef unsigned short uword; /* unsigned word */ 8 | typedef unsigned long ulongword; /* unsigned longword */ 9 | 10 | /* Table 4.6 Normalized direct mantissa used to compute xM/xmax 11 | */ 12 | /* i 0 1 2 3 4 5 6 7 */ 13 | word gsm_dec_FAC[ 8 ] = { 14 | 18431, 20479, 22527, 24575, 26623, 28671, 30719, 32767 15 | }; 16 | 17 | struct gsm_state { 18 | word dp0[ 280 ]; 19 | word z1; /* preprocessing.c, Offset_com. */ 20 | longword L_z2; /* Offset_com. */ 21 | int mp; /* Preemphasis */ 22 | word u[ 8 ]; /* short_term_aly_filter.c */ 23 | word LARpp[ 2 ][ 8 ]; /* */ 24 | word j; /* */ 25 | word nrp; /* 40 */ /* long_term.c, synthesis */ 26 | word v[ 9 ]; /* short_term.c, synthesis */ 27 | word msr; /* decoder.c, Postprocessing */ 28 | }; 29 | 30 | 31 | #define MIN_WORD ((-32767)-1) 32 | #define MAX_WORD ( 32767) 33 | 34 | #define MIN_LONGWORD ((-2147483647)-1) 35 | #define MAX_LONGWORD ( 2147483647) 36 | 37 | /* >> is a signed arithmetic shift right */ 38 | #define SASR(x, by) ((x) >> (by)) 39 | 40 | /* Table 4.3b Quantization levels of the LTP gain quantizer 41 | */ 42 | /* bc 0 1 2 3 */ 43 | word gsm_dec_QLB[ 4 ] = { 3277, 11469, 21299, 32767 }; 44 | 45 | #endif /* GSM_DEC_PRIVATE_H */ 46 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/include/c/downlink.h: -------------------------------------------------------------------------------- 1 | /* 2 | downlink.h 3 | Copyright (C) 2003 Antoine Drouin 4 | 5 | This file is part of paparazzi. 6 | 7 | paparazzi is free software; you can redistribute it and/or modify 8 | it under the terms of the GNU General Public License as published by 9 | the Free Software Foundation; either version 2, or (at your option) 10 | any later version. 11 | 12 | paparazzi is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with paparazzi; see the file COPYING. If not, write to 19 | the Free Software Foundation, 59 Temple Place - Suite 330, 20 | Boston, MA 02111-1307, USA. 21 | */ 22 | 23 | /* 24 | decodes downlink protocol 25 | */ 26 | 27 | #ifndef DOWNLINK_H 28 | #define DOWNLINK_H 29 | 30 | #include 31 | #include "protocol.h" 32 | #include "transport.h" 33 | #include "geometry.h" 34 | 35 | #define DL_STX 0x05 36 | #define DL_ETX 0x06 37 | #define DL_HEAD_LEN 1 38 | #define DL_PAYLOAD_OFFSET 1 39 | #define DL_TAIL_LEN 2 40 | 41 | 42 | struct Transport *downlink_new( struct PprzProtocol *protocol, 43 | void( *err_callback )( gpointer callback_data, GError *error ), 44 | void( *msg_callback )( gpointer callback_data, struct TransportMsg *msg ), 45 | gpointer callback_data ); 46 | 47 | 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/ad_conv.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Module : ad_conv.h 14 | 15 | Macros, functions, types and constants for controlling AD converter. 16 | 17 | Based on the SSF DHI file ad_conv.h, revision 1.6, Tue Jun 01 12:35:44 1999. 18 | 19 | 20 | - * -------------------------------------------------------------------------- 21 | */ 22 | 23 | 24 | #ifndef AD_CONV_H 25 | #define AD_CONV_H 26 | 27 | #include "keyword.h" 28 | 29 | /* Constant definitions */ 30 | 31 | #define AD_CHANNELS 0x28 32 | /* Number of possible ADC channels (includes GND channels) */ 33 | 34 | #define BP_UP 0x40 35 | #define BP_DOWN 0xBF 36 | 37 | #include "target_ad_conv.h" 38 | 39 | extern unsigned char EXTERNAL ADC_channel_register; 40 | /* Holds value of the ADC Channel HW register */ 41 | /* Is used by Hit Trigger ISR task and Health */ 42 | /* Monitoring task. */ 43 | /* Updating must be atomic in the Health Monitoring */ 44 | /* task, because Hit Trigger can preempt it. */ 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/mpc5554/target-build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Script to cross-compile "debie1" for the MPC5554 with the 4 | # CodeSourcery "G++ lite" GCC package. 5 | # 6 | # Any command-line arguments go into the CCOPT (eg. -Wpadded). 7 | # As default, the trace output from the harness and target 8 | # modules are disabled. 9 | # 10 | # One has to set the path to the compiler (i.e. CC) accordingly. 11 | 12 | 13 | # Set tpd to the Test Program Directory: 14 | tpd=../.. 15 | 16 | # Set hnd to the "harness" directory: 17 | hnd=${tpd}/harness 18 | 19 | # Target gcc and options: 20 | export CC="/local/swegener/CodeSourcery/Sourcery_G++_Lite/bin/powerpc-eabi-gcc" 21 | export CCOPT="-te500v1 -fshort-double -g -O2 -I. -I${hnd} -Wall -Wextra $*" 22 | export LD="/local/swegener/CodeSourcery/Sourcery_G++_Lite/bin/powerpc-eabi-gcc" 23 | export LDOPT="-te500v1 -fshort-double -Wl,-T./linker-mpc55xx-gcc.ld -static" 24 | 25 | ${CC} ${CCOPT} -c ${tpd}/class.c 26 | ${CC} ${CCOPT} -c ${tpd}/classtab.c 27 | ${CC} ${CCOPT} -c ${tpd}/debie.c 28 | ${CC} ${CCOPT} -c -I${tpd} ${hnd}/harness.c 29 | ${CC} ${CCOPT} -c ${tpd}/health.c 30 | ${CC} ${CCOPT} -c ${tpd}/hw_if.c 31 | ${CC} ${CCOPT} -c ${tpd}/measure.c 32 | ${CC} ${CCOPT} -c -I${tpd} target.c 33 | ${CC} ${CCOPT} -c ${tpd}/tc_hand.c 34 | ${CC} ${CCOPT} -c ${tpd}/telem.c 35 | 36 | 37 | ${CC} ${LDOPT} \ 38 | -o debie1.elf \ 39 | class.o \ 40 | classtab.o \ 41 | debie.o \ 42 | harness.o \ 43 | health.o \ 44 | hw_if.o \ 45 | measure.o \ 46 | target.o \ 47 | tc_hand.o \ 48 | telem.o 49 | 50 | -------------------------------------------------------------------------------- /bench/kernel/cosf/math_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | ==================================================== 3 | Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 4 | 5 | Developed at SunPro, a Sun Microsystems, Inc. business. 6 | Permission to use, copy, modify, and distribute this 7 | software is freely granted, provided that this notice 8 | is preserved. 9 | ==================================================== 10 | */ 11 | 12 | /* 13 | from: @(#)fdlibm.h 5.1 93/09/24 14 | */ 15 | 16 | /* 17 | 18 | This program is part of the TACLeBench benchmark suite. 19 | Version V 1.9 20 | 21 | Name: math_private.h 22 | 23 | Author: Unknown 24 | 25 | Function: IEEE754 software library routines. 26 | 27 | Source: Sun Microsystems 28 | 29 | Original name: fdlibm.h 30 | 31 | Changes: No major functional changes. 32 | 33 | License: See the terms above. 34 | 35 | */ 36 | 37 | 38 | #ifndef _MATH_PRIVATE_H_ 39 | #define _MATH_PRIVATE_H_ 40 | 41 | #include "wcclibm.h" 42 | 43 | /* A union which permits us to convert between a float and a 32 bit int. */ 44 | 45 | typedef union { 46 | float value; 47 | u_int32_t word; 48 | } ieee_float_shape_type; 49 | 50 | /* Get a 32 bit int from a float. */ 51 | 52 | #define GET_FLOAT_WORD(i,d) \ 53 | { \ 54 | ieee_float_shape_type gf_u; \ 55 | gf_u.value = (d); \ 56 | (i) = gf_u.word; \ 57 | } 58 | 59 | /* Set a float from a 32 bit int. */ 60 | 61 | #define SET_FLOAT_WORD(d,i) \ 62 | { \ 63 | ieee_float_shape_type sf_u; \ 64 | sf_u.word = (i); \ 65 | (d) = sf_u.value; \ 66 | } 67 | 68 | #endif /* _MATH_PRIVATE_H_ */ 69 | -------------------------------------------------------------------------------- /bench/kernel/cubic/math_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | ==================================================== 3 | Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 4 | 5 | Developed at SunPro, a Sun Microsystems, Inc. business. 6 | Permission to use, copy, modify, and distribute this 7 | software is freely granted, provided that this notice 8 | is preserved. 9 | ==================================================== 10 | */ 11 | 12 | /* 13 | from: @(#)fdlibm.h 5.1 93/09/24 14 | */ 15 | 16 | /* 17 | 18 | This program is part of the TACLeBench benchmark suite. 19 | Version V 1.9 20 | 21 | Name: math_private.h 22 | 23 | Author: Unknown 24 | 25 | Function: IEEE754 software library routines. 26 | 27 | Source: Sun Microsystems 28 | 29 | Original name: fdlibm.h 30 | 31 | Changes: No major functional changes. 32 | 33 | License: See the terms above. 34 | 35 | */ 36 | 37 | 38 | #ifndef _MATH_PRIVATE_H_ 39 | #define _MATH_PRIVATE_H_ 40 | 41 | #include "wcclibm.h" 42 | 43 | /* A union which permits us to convert between a float and a 32 bit int. */ 44 | 45 | typedef union { 46 | float value; 47 | u_int32_t word; 48 | } ieee_float_shape_type; 49 | 50 | /* Get a 32 bit int from a float. */ 51 | 52 | #define GET_FLOAT_WORD(i,d) \ 53 | { \ 54 | ieee_float_shape_type gf_u; \ 55 | gf_u.value = (d); \ 56 | (i) = gf_u.word; \ 57 | } 58 | 59 | /* Set a float from a 32 bit int. */ 60 | 61 | #define SET_FLOAT_WORD(d,i) \ 62 | { \ 63 | ieee_float_shape_type sf_u; \ 64 | sf_u.word = (i); \ 65 | (d) = sf_u.value; \ 66 | } 67 | 68 | #endif /* _MATH_PRIVATE_H_ */ 69 | -------------------------------------------------------------------------------- /bench/kernel/isqrt/math_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | ==================================================== 3 | Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 4 | 5 | Developed at SunPro, a Sun Microsystems, Inc. business. 6 | Permission to use, copy, modify, and distribute this 7 | software is freely granted, provided that this notice 8 | is preserved. 9 | ==================================================== 10 | */ 11 | 12 | /* 13 | from: @(#)fdlibm.h 5.1 93/09/24 14 | */ 15 | 16 | /* 17 | 18 | This program is part of the TACLeBench benchmark suite. 19 | Version V 1.9 20 | 21 | Name: math_private.h 22 | 23 | Author: Unknown 24 | 25 | Function: IEEE754 software library routines. 26 | 27 | Source: Sun Microsystems 28 | 29 | Original name: fdlibm.h 30 | 31 | Changes: No major functional changes. 32 | 33 | License: See the terms above. 34 | 35 | */ 36 | 37 | 38 | #ifndef _MATH_PRIVATE_H_ 39 | #define _MATH_PRIVATE_H_ 40 | 41 | #include "wcclibm.h" 42 | 43 | /* A union which permits us to convert between a float and a 32 bit int. */ 44 | 45 | typedef union { 46 | float value; 47 | u_int32_t word; 48 | } ieee_float_shape_type; 49 | 50 | /* Get a 32 bit int from a float. */ 51 | 52 | #define GET_FLOAT_WORD(i,d) \ 53 | { \ 54 | ieee_float_shape_type gf_u; \ 55 | gf_u.value = (d); \ 56 | (i) = gf_u.word; \ 57 | } 58 | 59 | /* Set a float from a 32 bit int. */ 60 | 61 | #define SET_FLOAT_WORD(d,i) \ 62 | { \ 63 | ieee_float_shape_type sf_u; \ 64 | sf_u.word = (i); \ 65 | (d) = sf_u.value; \ 66 | } 67 | 68 | #endif /* _MATH_PRIVATE_H_ */ 69 | -------------------------------------------------------------------------------- /bench/kernel/pm/license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2006, Massachusetts Institute of Technology 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | * Neither the name of the Massachusetts Institute of Technology nor 13 | the names of its contributors may be used to endorse or promote 14 | products derived from this software without specific prior written 15 | permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 27 | THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/airborne/autopilot/spi.h: -------------------------------------------------------------------------------- 1 | #ifndef SPI_H 2 | #define SPI_H 3 | 4 | //#include "link_autopilot.h" 5 | 6 | #define SPI_SS0_PIN 0 7 | #define SPI_SS0_PORT PORTB 8 | #define SPI_SS0_DDR DDRB 9 | #define SPI_IT0_PIN 1 10 | #define SPI_IT0_PORT PORTD 11 | #define SPI_IT0_DDR DDRD 12 | 13 | #define SPI_SS1_PIN 7 14 | #define SPI_SS1_PORT PORTE 15 | #define SPI_SS1_DDR DDRE 16 | #define SPI_IT1_PIN 6 17 | #define SPI_IT1_PORT PORTE 18 | #define SPI_IT1_DDR DDRE 19 | 20 | #define SPI_SCK_PIN 1 21 | #define SPI_MOSI_PIN 2 22 | #define SPI_MISO_PIN 3 23 | #define SPI_PORT PORTB 24 | #define SPI_DDR DDRB 25 | 26 | 27 | 28 | #define SPI_NONE 0 29 | #define SPI_SLAVE0 1 30 | #define SPI_SLAVE1 2 31 | 32 | extern volatile uint8_t spi_cur_slave; 33 | extern uint8_t spi_nb_ovrn; 34 | 35 | void spi_init( void ); 36 | 37 | #define SPI_START(_SPCR_VAL) { \ 38 | uint8_t foo; \ 39 | SPCR = _SPCR_VAL; \ 40 | if (bit_is_set(SPSR, SPIF)) \ 41 | foo = SPDR; \ 42 | SPCR |= _BV(SPIE); \ 43 | } 44 | 45 | #define SPI_SELECT_SLAVE0() { \ 46 | spi_cur_slave = SPI_SLAVE0; \ 47 | cbi( SPI_SS0_PORT, SPI_SS0_PIN );\ 48 | } 49 | 50 | #define SPI_UNSELECT_SLAVE0() { \ 51 | spi_cur_slave = SPI_NONE; \ 52 | sbi( SPI_SS0_PORT, SPI_SS0_PIN );\ 53 | } 54 | 55 | #define SPI_SELECT_SLAVE1() { \ 56 | spi_cur_slave = SPI_SLAVE1; \ 57 | cbi( SPI_SS1_PORT, SPI_SS1_PIN );\ 58 | } 59 | 60 | #define SPI_UNSELECT_SLAVE1() { \ 61 | spi_cur_slave = SPI_NONE; \ 62 | sbi( SPI_SS1_PORT, SPI_SS1_PIN );\ 63 | } 64 | 65 | #define SPI_SEND(data) { \ 66 | SPDR = data; \ 67 | } 68 | 69 | #define SPI_STOP() { \ 70 | cbi(SPCR,SPIE); \ 71 | cbi(SPCR, SPE); \ 72 | } 73 | 74 | #endif /* SPI_H */ 75 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/Loops_Bounds.txt: -------------------------------------------------------------------------------- 1 | Fly_By_wire 2 | ---------------------------------------------------- 3 | adc_fbw.c 4 | --------- 5 | function adc_init 6 | Loop for : 8 iterations 7 | 8 | 9 | servo.c 10 | ------- 11 | function servo_init 12 | Loop for : 10 iterations 13 | function servo_transmit 14 | Loop for : 10 iterations 15 | 16 | 17 | uart.c 18 | ------ 19 | function uart_print_string 20 | Loop while used once in the main function, its iterations number is estimated to 100. 21 | 22 | main.c 23 | ------ 24 | function to_autopilot_from_last_radio 25 | Loop for : 9 iterations 26 | 27 | ----------------------------------------------------------------- 28 | Autopilot 29 | ----------------------------------------------------------------- 30 | adc.c 31 | ----- 32 | function adc_init 33 | Loop for : 8 iterations 34 | 35 | estimator.c 36 | ----------- 37 | function estimator_update_ir_estim 38 | (NORM_RAD_ANGLE) 39 | while 1 while 2 40 | case 1 0 0 41 | case 2 0 1 42 | case 3 1 0 43 | (NORM_RAD_ANGLE) 44 | while 1 while 2 45 | case 1 0 0 46 | case 2 0 1 47 | case 3 1 0 48 | 49 | mainloop.c 50 | ---------- 51 | function main 52 | the first while Loop has at most 31 iterations 53 | 54 | nav.c 55 | ----- 56 | 57 | function nav_home 58 | (Macro NormCourse) 59 | while 1 while 2 60 | case 1 0 0 61 | case 2 0 1-2 62 | case 3 1-2 0 63 | 64 | function auto_nav 65 | (Macro Goto3D / CircleXY / NormCourse) 66 | while 1 while 2 67 | case 1 0 0 68 | case 2 0 1 69 | case 3 1 0 70 | 71 | pid.c 72 | ----- 73 | function course_pid_run 74 | (macro NORM_RAD_ANGLE) 75 | while 1 while 2 76 | case 1 0 0 77 | case 2 0 1 78 | case 3 1 0 79 | -------------------------------------------------------------------------------- /bench/kernel/sha/sha.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: sha.h 7 | 8 | Author: Peter C. Gutmann's (heavily modified by Uwe Hollerbach) 9 | 10 | NIST Secure Hash Algorithm 11 | 12 | Source: Peter C. Gutmann's implementation as found in Applied Cryptography by Bruce Schneier 13 | 14 | Changes: no major functional changes 15 | 16 | License: May be used, modified, and re-distributed freely. 17 | */ 18 | 19 | #ifndef SHA_H 20 | #define SHA_H 21 | 22 | /* Useful defines & typedefs */ 23 | 24 | typedef unsigned char BYTE; 25 | typedef unsigned long LONG; 26 | typedef unsigned size_t; 27 | 28 | /* Type to use for unaligned operations. */ 29 | #define SHA_BLOCKSIZE 64 30 | #define SHA_DIGESTSIZE 20 31 | #define LITTLE_ENDIAN 32 | #define NULL ((void*)0) 33 | 34 | extern unsigned volatile char sha_data[ 32743 ]; 35 | 36 | struct SHA_MY_FILE { 37 | unsigned volatile char *data; 38 | size_t size; 39 | unsigned cur_pos; 40 | }; 41 | 42 | struct SHA_INFO { 43 | LONG digest[ 5 ]; /* message digest */ 44 | LONG count_lo, count_hi; /* 64-bit bit count */ 45 | LONG data[ 16 ]; /* SHA data buffer */ 46 | }; 47 | 48 | /* 49 | Forward declaration of functions 50 | */ 51 | void sha_transform( struct SHA_INFO * ); 52 | void sha_byte_reverse( LONG *buffer, int count ); 53 | void sha_init( void ); 54 | size_t sha_fread( void *, size_t, size_t, struct SHA_MY_FILE * ); 55 | void sha_update( struct SHA_INFO *, BYTE *, int ); 56 | void sha_final( struct SHA_INFO * ); 57 | void sha_stream( struct SHA_INFO *, struct SHA_MY_FILE * ); 58 | void sha_main( void ); 59 | int sha_return ( void ); 60 | int main( void ); 61 | 62 | #endif // SHA_H 63 | 64 | -------------------------------------------------------------------------------- /bench/kernel/quicksort/math_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 2.0 5 | 6 | Name: math_private.h 7 | 8 | Author: Unknown 9 | 10 | Function: IEEE754 software library routines. 11 | 12 | Source: Sun Microsystems 13 | 14 | Original name: fdlibm.h 15 | 16 | Changes: No major functional changes. 17 | 18 | License: See the terms below. 19 | 20 | */ 21 | 22 | 23 | /* 24 | ==================================================== 25 | Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 26 | 27 | Developed at SunPro, a Sun Microsystems, Inc. business. 28 | Permission to use, copy, modify, and distribute this 29 | software is freely granted, provided that this notice 30 | is preserved. 31 | ==================================================== 32 | */ 33 | 34 | /* 35 | from: @(#)fdlibm.h 5.1 93/09/24 36 | */ 37 | 38 | #ifndef _MATH_PRIVATE_H_ 39 | #define _MATH_PRIVATE_H_ 40 | 41 | /* A union which permits us to convert between a float and a 32 bit 42 | int. */ 43 | 44 | typedef union { 45 | float value; 46 | unsigned int word; 47 | } quicksort_ieee_float_shape_type; 48 | 49 | /* Get a 32 bit int from a float. */ 50 | 51 | #define QUICKSORT_GET_FLOAT_WORD(i,d) \ 52 | { \ 53 | quicksort_ieee_float_shape_type gf_u; \ 54 | gf_u.value = (d); \ 55 | (i) = gf_u.word; \ 56 | } 57 | 58 | /* Set a float from a 32 bit int. */ 59 | 60 | #define QUICKSORT_SET_FLOAT_WORD(d,i) \ 61 | { \ 62 | quicksort_ieee_float_shape_type sf_u; \ 63 | sf_u.word = (i); \ 64 | (d) = sf_u.value; \ 65 | } 66 | 67 | #endif /* _MATH_PRIVATE_H_ */ 68 | -------------------------------------------------------------------------------- /bench/parallel/rosace/thread1/math_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | ==================================================== 3 | Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 4 | 5 | Developed at SunPro, a Sun Microsystems, Inc. business. 6 | Permission to use, copy, modify, and distribute this 7 | software is freely granted, provided that this notice 8 | is preserved. 9 | ==================================================== 10 | */ 11 | 12 | /* 13 | from: @(#)fdlibm.h 5.1 93/09/24 14 | */ 15 | 16 | /* 17 | 18 | This program is part of the TACLeBench benchmark suite. 19 | Version V 1.9 20 | 21 | Name: math_private.h 22 | 23 | Author: Unknown 24 | 25 | Function: IEEE754 software library routines. 26 | 27 | Source: Sun Microsystems 28 | 29 | Original name: fdlibm.h 30 | 31 | Changes: No major functional changes. 32 | 33 | License: See the terms above. 34 | 35 | */ 36 | 37 | #ifndef _MATH_PRIVATE_H_ 38 | #define _MATH_PRIVATE_H_ 39 | 40 | #include "wcclibm.h" 41 | 42 | /* A union which permits us to convert between a float and a 32 bit int. */ 43 | 44 | typedef union { 45 | float value; 46 | u_int32_t word; 47 | } ieee_float_shape_type; 48 | 49 | 50 | /* Get a 32 bit int from a float. */ 51 | 52 | #define GET_FLOAT_WORD(i,d) \ 53 | { \ 54 | ieee_float_shape_type gf_u; \ 55 | gf_u.value = ( d ); \ 56 | ( i ) = gf_u.word; \ 57 | } 58 | 59 | /* Set a float from a 32 bit int. */ 60 | 61 | #define SET_FLOAT_WORD( d, i ) \ 62 | { \ 63 | ieee_float_shape_type sf_u; \ 64 | sf_u.word = ( i ); \ 65 | ( d ) = sf_u.value; \ 66 | } 67 | 68 | #endif /* _MATH_PRIVATE_H_ */ 69 | -------------------------------------------------------------------------------- /bench/parallel/rosace/thread2/math_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | ==================================================== 3 | Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 4 | 5 | Developed at SunPro, a Sun Microsystems, Inc. business. 6 | Permission to use, copy, modify, and distribute this 7 | software is freely granted, provided that this notice 8 | is preserved. 9 | ==================================================== 10 | */ 11 | 12 | /* 13 | from: @(#)fdlibm.h 5.1 93/09/24 14 | */ 15 | 16 | /* 17 | 18 | This program is part of the TACLeBench benchmark suite. 19 | Version V 1.9 20 | 21 | Name: math_private.h 22 | 23 | Author: Unknown 24 | 25 | Function: IEEE754 software library routines. 26 | 27 | Source: Sun Microsystems 28 | 29 | Original name: fdlibm.h 30 | 31 | Changes: No major functional changes. 32 | 33 | License: See the terms above. 34 | 35 | */ 36 | 37 | #ifndef _MATH_PRIVATE_H_ 38 | #define _MATH_PRIVATE_H_ 39 | 40 | #include "wcclibm.h" 41 | 42 | /* A union which permits us to convert between a float and a 32 bit int. */ 43 | 44 | typedef union { 45 | float value; 46 | u_int32_t word; 47 | } ieee_float_shape_type; 48 | 49 | 50 | /* Get a 32 bit int from a float. */ 51 | 52 | #define GET_FLOAT_WORD(i,d) \ 53 | { \ 54 | ieee_float_shape_type gf_u; \ 55 | gf_u.value = ( d ); \ 56 | ( i ) = gf_u.word; \ 57 | } 58 | 59 | /* Set a float from a 32 bit int. */ 60 | 61 | #define SET_FLOAT_WORD( d, i ) \ 62 | { \ 63 | ieee_float_shape_type sf_u; \ 64 | sf_u.word = ( i ); \ 65 | ( d ) = sf_u.value; \ 66 | } 67 | 68 | #endif /* _MATH_PRIVATE_H_ */ 69 | -------------------------------------------------------------------------------- /bench/parallel/rosace/thread3/math_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | ==================================================== 3 | Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 4 | 5 | Developed at SunPro, a Sun Microsystems, Inc. business. 6 | Permission to use, copy, modify, and distribute this 7 | software is freely granted, provided that this notice 8 | is preserved. 9 | ==================================================== 10 | */ 11 | 12 | /* 13 | from: @(#)fdlibm.h 5.1 93/09/24 14 | */ 15 | 16 | /* 17 | 18 | This program is part of the TACLeBench benchmark suite. 19 | Version V 1.9 20 | 21 | Name: math_private.h 22 | 23 | Author: Unknown 24 | 25 | Function: IEEE754 software library routines. 26 | 27 | Source: Sun Microsystems 28 | 29 | Original name: fdlibm.h 30 | 31 | Changes: No major functional changes. 32 | 33 | License: See the terms above. 34 | 35 | */ 36 | 37 | #ifndef _MATH_PRIVATE_H_ 38 | #define _MATH_PRIVATE_H_ 39 | 40 | #include "wcclibm.h" 41 | 42 | /* A union which permits us to convert between a float and a 32 bit int. */ 43 | 44 | typedef union { 45 | float value; 46 | u_int32_t word; 47 | } ieee_float_shape_type; 48 | 49 | 50 | /* Get a 32 bit int from a float. */ 51 | 52 | #define GET_FLOAT_WORD(i,d) \ 53 | { \ 54 | ieee_float_shape_type gf_u; \ 55 | gf_u.value = ( d ); \ 56 | ( i ) = gf_u.word; \ 57 | } 58 | 59 | /* Set a float from a 32 bit int. */ 60 | 61 | #define SET_FLOAT_WORD( d, i ) \ 62 | { \ 63 | ieee_float_shape_type sf_u; \ 64 | sf_u.word = ( i ); \ 65 | ( d ) = sf_u.value; \ 66 | } 67 | 68 | #endif /* _MATH_PRIVATE_H_ */ 69 | -------------------------------------------------------------------------------- /bench/parallel/rosace/thread4/math_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | ==================================================== 3 | Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 4 | 5 | Developed at SunPro, a Sun Microsystems, Inc. business. 6 | Permission to use, copy, modify, and distribute this 7 | software is freely granted, provided that this notice 8 | is preserved. 9 | ==================================================== 10 | */ 11 | 12 | /* 13 | from: @(#)fdlibm.h 5.1 93/09/24 14 | */ 15 | 16 | /* 17 | 18 | This program is part of the TACLeBench benchmark suite. 19 | Version V 1.9 20 | 21 | Name: math_private.h 22 | 23 | Author: Unknown 24 | 25 | Function: IEEE754 software library routines. 26 | 27 | Source: Sun Microsystems 28 | 29 | Original name: fdlibm.h 30 | 31 | Changes: No major functional changes. 32 | 33 | License: See the terms above. 34 | 35 | */ 36 | 37 | #ifndef _MATH_PRIVATE_H_ 38 | #define _MATH_PRIVATE_H_ 39 | 40 | #include "wcclibm.h" 41 | 42 | /* A union which permits us to convert between a float and a 32 bit int. */ 43 | 44 | typedef union { 45 | float value; 46 | u_int32_t word; 47 | } ieee_float_shape_type; 48 | 49 | 50 | /* Get a 32 bit int from a float. */ 51 | 52 | #define GET_FLOAT_WORD(i,d) \ 53 | { \ 54 | ieee_float_shape_type gf_u; \ 55 | gf_u.value = ( d ); \ 56 | ( i ) = gf_u.word; \ 57 | } 58 | 59 | /* Set a float from a 32 bit int. */ 60 | 61 | #define SET_FLOAT_WORD( d, i ) \ 62 | { \ 63 | ieee_float_shape_type sf_u; \ 64 | sf_u.word = ( i ); \ 65 | ( d ) = sf_u.value; \ 66 | } 67 | 68 | #endif /* _MATH_PRIVATE_H_ */ 69 | -------------------------------------------------------------------------------- /bench/parallel/rosace/thread5/math_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | ==================================================== 3 | Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 4 | 5 | Developed at SunPro, a Sun Microsystems, Inc. business. 6 | Permission to use, copy, modify, and distribute this 7 | software is freely granted, provided that this notice 8 | is preserved. 9 | ==================================================== 10 | */ 11 | 12 | /* 13 | from: @(#)fdlibm.h 5.1 93/09/24 14 | */ 15 | 16 | /* 17 | 18 | This program is part of the TACLeBench benchmark suite. 19 | Version V 1.9 20 | 21 | Name: math_private.h 22 | 23 | Author: Unknown 24 | 25 | Function: IEEE754 software library routines. 26 | 27 | Source: Sun Microsystems 28 | 29 | Original name: fdlibm.h 30 | 31 | Changes: No major functional changes. 32 | 33 | License: See the terms above. 34 | 35 | */ 36 | 37 | #ifndef _MATH_PRIVATE_H_ 38 | #define _MATH_PRIVATE_H_ 39 | 40 | #include "wcclibm.h" 41 | 42 | /* A union which permits us to convert between a float and a 32 bit int. */ 43 | 44 | typedef union { 45 | float value; 46 | u_int32_t word; 47 | } ieee_float_shape_type; 48 | 49 | 50 | /* Get a 32 bit int from a float. */ 51 | 52 | #define GET_FLOAT_WORD(i,d) \ 53 | { \ 54 | ieee_float_shape_type gf_u; \ 55 | gf_u.value = ( d ); \ 56 | ( i ) = gf_u.word; \ 57 | } 58 | 59 | /* Set a float from a 32 bit int. */ 60 | 61 | #define SET_FLOAT_WORD( d, i ) \ 62 | { \ 63 | ieee_float_shape_type sf_u; \ 64 | sf_u.word = ( i ); \ 65 | ( d ) = sf_u.value; \ 66 | } 67 | 68 | #endif /* _MATH_PRIVATE_H_ */ 69 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-lpc2138-mam/cpulib.c: -------------------------------------------------------------------------------- 1 | /* 2 | cpulib: Routines for CPU initialization and configuration. 3 | 4 | Target : iSYSTEM LPC2138-M minitarget board (ARM7TDMI) 5 | Source : iSYSTEM iF-DEV-LPC kit 6 | Changes : Tidorum Ltd (N. Holsti) 7 | 8 | $Id: cpulib.c,v 1.1 2008/04/08 09:44:55 niklas Exp $ 9 | */ 10 | 11 | #include "cpulib.h" 12 | 13 | void cpulib_init_cpu ( void ) 14 | { 15 | // The MAM is assumed to be initialized in crt0.s. 16 | 17 | // Turn off the LED: 18 | 19 | IO0DIR |= IO_LED; // Set pin direction to output. 20 | IO0SET |= IO_LED; // Set pin value to 1 = turn off LED. 21 | } 22 | 23 | 24 | void cpulib_go_fast ( unsigned int mode ) 25 | { 26 | // Turn on PLL from 12 MHz to 60 MHz cclk: 27 | 28 | PLLCFG = 0x24; 29 | PLLCON = 0x1; 30 | PLLFEED = 0xAA; 31 | PLLFEED = 0x55; 32 | while ( !( PLLSTAT & 0x400 ) ) {}; 33 | PLLCON = 0x3; 34 | PLLFEED = 0xAA; 35 | PLLFEED = 0x55; 36 | } 37 | 38 | 39 | void cpulib_set_led ( int state ) 40 | { 41 | if ( state ) 42 | IO0CLR = IO_LED; // LED on. 43 | else 44 | IO0SET = IO_LED; // LED off. 45 | } 46 | 47 | 48 | static volatile int flash_timer; 49 | /* Loop counter for timing flash_led. */ 50 | 51 | 52 | void cpulib_flash_led ( void ) 53 | { 54 | cpulib_set_led ( 1 ); 55 | 56 | flash_timer = 10000; 57 | while ( flash_timer > 0 ) flash_timer--; 58 | 59 | cpulib_set_led ( 0 ); 60 | } 61 | 62 | 63 | void cpulib_blink_led ( void ) 64 | { 65 | cpulib_set_led ( 0 ); 66 | 67 | flash_timer = 30000; 68 | while ( flash_timer > 0 ) flash_timer--; 69 | 70 | cpulib_set_led ( 1 ); 71 | 72 | flash_timer = 10000; 73 | while ( flash_timer > 0 ) flash_timer--; 74 | 75 | cpulib_set_led ( 0 ); 76 | } 77 | 78 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/debie.c: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Subsystem : DAS 14 | Module : debie.c 15 | 16 | Main function. 17 | 18 | Based on the SSF file debie.c, revision 1.4, Tue Jun 01 13:37:20 1999. 19 | 20 | - * -------------------------------------------------------------------------- 21 | */ 22 | 23 | #include "reg52.h" 24 | #include "kernobj.h" 25 | #include "keyword.h" 26 | #include "health.h" 27 | #include "taskctrl.h" 28 | 29 | 30 | int main( void ) 31 | { 32 | TARGET_INIT; 33 | /* Initialize the benchmark target system. */ 34 | 35 | EA = 0; 36 | /* Disable all interrupts */ 37 | 38 | Boot(); 39 | /* Execute boot sequence */ 40 | 41 | EA = 1; 42 | /* Enable 'enabled' interrupts */ 43 | 44 | StartSystem( HEALTH_MONITORING_TASK ); 45 | /* Start RTX kernel and first task */ 46 | 47 | // do not run simulation for ever, just exit here 48 | return 0; 49 | 50 | _Pragma( "loopbound min 0 max 0" ) 51 | while ( 1 ) { 52 | /* StartSystem has failed, so we just */ 53 | /* wait here for a while for the Watch Dog */ 54 | /* to wake up. */ 55 | } 56 | } 57 | 58 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/airborne/autopilot/adc.h: -------------------------------------------------------------------------------- 1 | /* 2 | Paparazzi mcu0 adc functions 3 | 4 | Copied from autopilot (autopilot.sf.net) thanx alot Trammell 5 | 6 | Copyright (C) 2002 Trammell Hudson 7 | Copyright (C) 2003 Pascal Brisset, Antoine Drouin 8 | 9 | This file is part of paparazzi. 10 | 11 | paparazzi is free software; you can redistribute it and/or modify 12 | it under the terms of the GNU General Public License as published by 13 | the Free Software Foundation; either version 2, or (at your option) 14 | any later version. 15 | 16 | paparazzi is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | GNU General Public License for more details. 20 | 21 | You should have received a copy of the GNU General Public License 22 | along with paparazzi; see the file COPYING. If not, write to 23 | the Free Software Foundation, 59 Temple Place - Suite 330, 24 | Boston, MA 02111-1307, USA. 25 | 26 | */ 27 | 28 | #ifndef _ADC_H_ 29 | #define _ADC_H_ 30 | 31 | #include 32 | 33 | 34 | #define NB_ADC 8 35 | 36 | /* Array containing the last measured value */ 37 | extern uint16_t adc_samples[ NB_ADC ]; 38 | 39 | void adc_init( void ); 40 | 41 | #define AV_NB_SAMPLE 0x20 42 | 43 | struct adc_buf { 44 | uint16_t sum; 45 | uint16_t values[ AV_NB_SAMPLE ]; 46 | uint8_t head; 47 | }; 48 | 49 | /* Facility to store last values in a circular buffer for a specific 50 | channel: allocate a (struct adc_buf) and register it with the following 51 | function */ 52 | void adc_buf_channel( uint8_t adc_channel, struct adc_buf *s ); 53 | #endif 54 | -------------------------------------------------------------------------------- /bench/sequential/adpcm_enc/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: adpcm_enc.c 2 | Original provenience: C Algorithms for Real-Time DSP by P. M. Embree 3 | 4 | 2016-03-07: 5 | - Rename adpcm_encode to adpcm_enc 6 | - Add generic TACLeBench header 7 | - Remove #define Seoul_Mate around main 8 | - Remove swedish comment after setting frequency to 2000 9 | - Introduce adpcm_enc_init, adpcm_main, adpcm_return 10 | - Make test_data and compressed global variables 11 | 2016-04-26: 12 | - Remove forward declarations of functions gaussian, iir_filter, fir_filter, 13 | fft, setup_codec, key_down, int_enable, int_disable, flags, getinput, 14 | sendout, which are never defined 15 | - Remove commented declarations of invqxl and invqah 16 | - Remove unused structure COMPLEX 17 | - Remove prefix my_ from functions names my_fabs, my_cos, my_sin, my_abs 18 | - Prefix all global symbols with benchmark name 19 | - Remove variables accumc and accumd together with their initialization loop, 20 | since they are never read 21 | - Remove unused variables xs and xd 22 | - Remove unused array wl_table 23 | - Remove unused variable rs and rh 24 | - Remove unused variables and their initializations (only required for decoder): 25 | ilr, yl, rl, dec_deth, dec_del_bpl, dec_plt, dec_plt1, dec_plt2, dec_szl, 26 | dec_spl, dec_sl, dec_rlt1, dec_rlt2, dec_rlt, dec_al1, dec_al2, dl, dec_nbl, 27 | dec_yh, dec_dh, dec_nbh, dec_rh2, dec_ah1, dec_ah2, dec_ph, dec_sph, dec_sh, 28 | dec_rh, dec_ph1, dec_ph2, 29 | - Add addition on each element of input data with volatile variable to 30 | avoid constant-propagation optimizations through the compoiler 31 | - Add computation of check sum 32 | - Add return return statement: zero if check sum is correct 33 | 2016-05-20: 34 | - Apply code formatting with astyle 35 | -------------------------------------------------------------------------------- /bench/kernel/fac/fac.c: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: fac 7 | 8 | Author: unknown 9 | 10 | Function: fac is a program to calculate factorials. 11 | This program computes the sum of the factorials 12 | from zero to five. 13 | 14 | Source: MRTC 15 | http://www.mrtc.mdh.se/projects/wcet/wcet_bench/fac/fac.c 16 | 17 | Changes: CS 2006/05/19: Changed loop bound from constant to variable. 18 | 19 | License: public domain 20 | 21 | */ 22 | 23 | /* 24 | Forward declaration of functions 25 | */ 26 | int fac_fac( int n ); 27 | void fac_init(); 28 | int fac_return(); 29 | void fac_main(); 30 | int main( void ); 31 | /* 32 | Declaration of global variables 33 | */ 34 | 35 | int fac_s; 36 | volatile int fac_n; 37 | 38 | 39 | /* 40 | Initialization- and return-value-related functions 41 | */ 42 | 43 | 44 | void fac_init() 45 | { 46 | fac_s = 0; 47 | fac_n = 5; 48 | } 49 | 50 | 51 | int fac_return() 52 | { 53 | int expected_result = 154; 54 | return fac_s - expected_result; 55 | } 56 | 57 | 58 | /* 59 | Arithmetic math functions 60 | */ 61 | 62 | 63 | int fac_fac ( int n ) 64 | { 65 | if ( n == 0 ) 66 | return 1; 67 | else 68 | return ( n * fac_fac ( n - 1 ) ); 69 | } 70 | 71 | 72 | /* 73 | Main functions 74 | */ 75 | 76 | 77 | void _Pragma( "entrypoint" ) fac_main () 78 | { 79 | int i; 80 | 81 | _Pragma( "loopbound min 6 max 6" ) 82 | for ( i = 0; i <= fac_n; i++ ) { 83 | _Pragma( "marker recursivecall" ) 84 | fac_s += fac_fac ( i ); 85 | _Pragma( "flowrestriction 1*fac_fac <= 6*recursivecall" ) 86 | } 87 | } 88 | 89 | 90 | int main ( void ) 91 | { 92 | fac_init(); 93 | fac_main(); 94 | 95 | return ( fac_return() ); 96 | } 97 | 98 | -------------------------------------------------------------------------------- /bench/sequential/audiobeam/audiobeamlibmath.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 2.0 5 | 6 | Name: audiobeamlibmath.h 7 | 8 | Author: Unknown 9 | 10 | Function: IEEE754 software library routines. 11 | 12 | Source: Sun Microsystems 13 | 14 | Original name: math_private.h 15 | 16 | Changes: No major functional changes. 17 | 18 | License: See the terms below. 19 | 20 | */ 21 | 22 | 23 | /* 24 | ==================================================== 25 | Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 26 | 27 | Developed at SunPro, a Sun Microsystems, Inc. business. 28 | Permission to use, copy, modify, and distribute this 29 | software is freely granted, provided that this notice 30 | is preserved. 31 | ==================================================== 32 | */ 33 | 34 | /* 35 | from: @(#)fdlibm.h 5.1 93/09/24 36 | */ 37 | 38 | #ifndef AUDIOBEAM_MATH_PRIVATE_H_ 39 | #define AUDIOBEAM_MATH_PRIVATE_H_ 40 | 41 | #include "audiobeamlibm.h" 42 | 43 | /* A union which permits us to convert between a float and a 32 bit 44 | int. */ 45 | 46 | typedef union { 47 | float value; 48 | unsigned int word; 49 | } audiobeam_ieee_float_shape_type; 50 | 51 | /* Get a 32 bit int from a float. */ 52 | 53 | #define AUDIOBEAM_GET_FLOAT_WORD(i,d) \ 54 | { \ 55 | audiobeam_ieee_float_shape_type gf_u; \ 56 | gf_u.value = (d); \ 57 | (i) = gf_u.word; \ 58 | } 59 | 60 | /* Set a float from a 32 bit int. */ 61 | 62 | #define AUDIOBEAM_SET_FLOAT_WORD(d,i) \ 63 | { \ 64 | audiobeam_ieee_float_shape_type sf_u; \ 65 | sf_u.word = (i); \ 66 | (d) = sf_u.value; \ 67 | } 68 | 69 | #endif /* _MATH_PRIVATE_H_ */ 70 | -------------------------------------------------------------------------------- /bench/sequential/dijkstra/ChangeLog.txt: -------------------------------------------------------------------------------- 1 | File: dijkstra.c 2 | Original provenience: network section of MiBench 3 | 4 | 2015-11-30: 5 | - Replaced "NULL" with "0", remove #include of glibc_common.h 6 | - Removed commented code referring to variable "qKill" 7 | - Made ch, i, iPrev, iNode, iCost and iDist local variables 8 | - Stripped (inconsistently applied) Hungarian notation, replaced 9 | prefix "q" with prefix "queue" for global variables, renamed 10 | "next_in" to "queueNext" and "qNew" to "newItem" 11 | - Initialize queueHead statically (like queueCount and queueNext) 12 | - Prefixed all functions and global variables with "dijkstra_", 13 | renaming "dijkstra" to "dijkstra_find" 14 | - Calculate a checksum in dijkstra_main, return its value in new 15 | function dijkstra_return 16 | - Added (empty) function dijkstra_init and a main function 17 | - Reordered functions in source code: initialization- and 18 | return-value-related functions first, followed by algorithm core 19 | functions, followed by main functions 20 | - Added function prototypes 21 | - Applied code formatting with astyle as in the example 22 | - Added general TACLeBench header to beginning of source code 23 | 24 | 2016-03-15: 25 | - Return 0 if checksum is as expected, -1 otherwise 26 | - Make all initializations explicit 27 | - Touch input matrix with volatile to rule out optimizations 28 | - Add entrypoint pragma 29 | 30 | 2016-06-14: 31 | - Removed cast to make C++ compiler happy 32 | 33 | Files: input.h, input.c 34 | Original provenience: network section of MiBench 35 | 36 | 2015-11-30: 37 | - Prefix global variable "AdjMatrix" with "dijkstra_" 38 | - Applied code formatting with astyle as in the example 39 | 40 | File: glibc_common.h 41 | Original provenience: network section of MiBench 42 | 43 | 2015-11-30: 44 | - Removed file 45 | -------------------------------------------------------------------------------- /bench/parallel/PapaBench/sw/airborne/autopilot/gps.h: -------------------------------------------------------------------------------- 1 | /* 2 | Paparazzi mcu0 $Id: gps.h,v 1.1 2011-01-18 12:48:38 moellmer Exp $ 3 | 4 | Copyright (C) 2003 Pascal Brisset, Antoine Drouin 5 | 6 | This file is part of paparazzi. 7 | 8 | paparazzi is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2, or (at your option) 11 | any later version. 12 | 13 | paparazzi is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with paparazzi; see the file COPYING. If not, write to 20 | the Free Software Foundation, 59 Temple Place - Suite 330, 21 | Boston, MA 02111-1307, USA. 22 | 23 | */ 24 | 25 | /* 26 | Parse SIRF protocol from ublox SAM module 27 | 28 | */ 29 | 30 | 31 | #ifndef GPS_H 32 | #define GPS_H 33 | 34 | #include "std.h" 35 | 36 | extern uint8_t gps_mode; 37 | extern float gps_ftow; /* ms */ 38 | extern float gps_falt; /* m */ 39 | extern float gps_fspeed; /* m/s */ 40 | extern float gps_fclimb; /* m/s */ 41 | extern float gps_fcourse; /* rad */ 42 | extern int32_t gps_utm_east, gps_utm_north; 43 | extern float gps_east, gps_north; /* m */ 44 | 45 | void gps_init( void ); 46 | void parse_gps_msg( void ); 47 | extern volatile uint8_t gps_msg_received; 48 | extern bool_t gps_pos_available; 49 | extern uint8_t gps_nb_ovrn; 50 | 51 | #ifdef UBX 52 | #include "ubx.h" 53 | #else 54 | #include "sirf.h" 55 | #endif 56 | 57 | 58 | #endif /* GPS_H */ 59 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/kernobj.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------------ 2 | 3 | Copyright (C) 1998 : Space Systems Finland Ltd. 4 | 5 | Space Systems Finland Ltd (SSF) allows you to use this version of 6 | the DEBIE-I DPU software for the specific purpose and under the 7 | specific conditions set forth in the Terms Of Use document enclosed 8 | with or attached to this software. In particular, the software 9 | remains the property of SSF and you must not distribute the software 10 | to third parties without written and signed authorization from SSF. 11 | 12 | System Name: DEBIE DPU SW 13 | Subsystem : DAS 14 | Module : kernobj.h 15 | 16 | Definitions for the interface to the real-time kernel. 17 | 18 | Based on the SSF file kernobj.h, revision 1.3, Thu Sep 09 16:01:56 1999. 19 | 20 | - * -------------------------------------------------------------------------- 21 | */ 22 | 23 | /* Definitions of kernel objects (eg. task and mailbox numbers) */ 24 | 25 | /* Task numbers */ 26 | 27 | #ifndef KERNOBJ_H 28 | #define KERNOBJ_H 29 | 30 | #define HEALTH_MONITORING_TASK 0 31 | #define TC_TM_INTERFACE_TASK 1 32 | #define ACQUISITION_TASK 2 33 | 34 | #define HIT_TRIGGER_ISR_TASK 3 35 | 36 | /* Task priorities */ 37 | 38 | #define HEALTH_MONITORING_PR 0 39 | #define ACQUISITION_PR 1 40 | #define TC_TM_INTERFACE_PR 2 41 | 42 | #define HIT_TRIGGER_PR 3 43 | 44 | /* Mailbox numbers */ 45 | 46 | #define TCTM_MAILBOX 0 47 | #define ACQUISITION_MAILBOX 1 48 | 49 | /* ISR source numbers */ 50 | 51 | #define TC_ISR_SOURCE 0 52 | #define TM_ISR_SOURCE 2 53 | #define HIT_TRIGGER_ISR_SOURCE 5 54 | 55 | #endif 56 | 57 | -------------------------------------------------------------------------------- /bench/app/powerwindow/powerwindow_HeaderFiles/powerwindow_model_reference_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: powerwindow_model_reference_types.h 7 | 8 | Author: CoSys-Lab, University of Antwerp 9 | 10 | Function: headerfile 11 | 12 | Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_model_reference_types.h 13 | 14 | Changes: a brief summary of major functional changes and formatting) 15 | 16 | License: GNU General Public License 17 | 18 | */ 19 | 20 | #ifndef powerwindow___MODEL_REFERENCE_TYPES_H__ 21 | #define powerwindow___MODEL_REFERENCE_TYPES_H__ 22 | #include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h" 23 | #ifndef powerwindow___MODEL_REFERENCE_TYPES__ 24 | #define powerwindow___MODEL_REFERENCE_TYPES__ 25 | 26 | /*===========================================================================* 27 | Model reference type definitions 28 | ===========================================================================*/ 29 | /* 30 | This structure is used by model reference to 31 | communicate timing information through the hierarchy. 32 | */ 33 | typedef struct powerwindow__rtTimingBridge_tag powerwindow_rtTimingBridge; 34 | struct powerwindow__rtTimingBridge_tag { 35 | powerwindow_uint32_T nTasks; 36 | powerwindow_uint32_T **clockTick; 37 | powerwindow_uint32_T **clockTickH; 38 | powerwindow_uint32_T *taskCounter; 39 | powerwindow_real_T **taskTime; 40 | powerwindow_boolean_T **rateTransition; 41 | powerwindow_boolean_T *firstInitCond; 42 | }; 43 | 44 | #endif /* __MODEL_REFERENCE_TYPES__ */ 45 | #endif /* __MODEL_REFERENCE_TYPES_H__ */ 46 | 47 | /* 48 | File trailer for generated code. 49 | 50 | [ EOF ] 51 | */ 52 | -------------------------------------------------------------------------------- /bench/parallel/DEBIE/code/arch/arm7-lpc2138-mam/cpulib.h: -------------------------------------------------------------------------------- 1 | /* 2 | cpulib: Routines for CPU initialization and configuration. 3 | 4 | Target : iSYSTEM LPC2138-M minitarget board (ARM7TDMI) 5 | Source : iSYSTEM iF-DEV-LPC kit 6 | Changes : Tidorum Ltd (N. Holsti) 7 | 8 | $Id: cpulib.h,v 1.1 2008/04/08 09:44:55 niklas Exp $ 9 | */ 10 | 11 | 12 | #ifndef CPULIB_H 13 | #define CPULIB_H 14 | 15 | #define REG(x) (*((volatile unsigned int *)(x))) 16 | #define IO0DIR REG(0xE0028008) // I/O direction control 17 | #define IO0CLR REG(0xE002800C) // output clear 18 | #define IO0SET REG(0xE0028004) // output set 19 | #define PLLCFG REG(0xE01FC084) // PLL Config Reg. 20 | #define PLLCON REG(0xE01FC080) // PLL Control Reg. 21 | #define PLLFEED REG(0xE01FC08C) // PLL-Feed 0xAA, 0x55 22 | #define PLLSTAT REG(0xE01FC088) // PLL-Status register 23 | #define MAMCR REG(0xE01FC000) // MAM Control register 24 | #define MAMTIM REG(0xE01FC004) // MAM Timing register 25 | 26 | 27 | #define IO_LED 0x00000001 28 | // The LED is connected to pin P0.0. 29 | 30 | 31 | void cpulib_init_cpu ( void ); 32 | // Initializes the processor (in addition to crt0 actions). 33 | // Defines the LED control pin (P0.0) as output and emits a "1" 34 | // to turn off the LED. 35 | 36 | void cpulib_go_fast ( unsigned int mode ); 37 | // Sets the PLL to run the processor at 60 MHz. 38 | // Does not alter the MAM mode (because of the LPC2138 errata). 39 | 40 | void cpulib_set_led ( int state ); 41 | // Turns the LED on if state != 0, off if state = 0. 42 | 43 | void cpulib_flash_led ( void ); 44 | // Turns the LED on for a brief time, then off. 45 | // Useful only if the LED is initially off. 46 | 47 | void cpulib_blink_led ( void ); 48 | // Turns the LED off for short time, then on 49 | // for a shorter time, then off again. 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /bench/kernel/sha/memhelper.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is part of the TACLeBench benchmark suite. 4 | Version V 1.x 5 | 6 | Name: memhelper.h 7 | 8 | Author: Peter C. Gutmann's (heavily modified by Uwe Hollerbach) 9 | 10 | NIST Secure Hash Algorithm 11 | 12 | Source: Peter C. Gutmann's implementation as found in Applied Cryptography by Bruce Schneier 13 | 14 | License: GNU Lesser General Public License 15 | 16 | Changes: no major functional changes 17 | 18 | */ 19 | 20 | #ifndef MEM_HELPER_H 21 | #define MEM_HELPER_H 22 | 23 | #include "sha.h" 24 | 25 | void sha_wordcopy_fwd_aligned( long int dstp, long int srcp, size_t len ); 26 | 27 | /* Type to use for aligned memory operations. 28 | This should normally be the biggest type supported by a single load 29 | and store. */ 30 | #define op_t unsigned long int 31 | #define OPSIZ (sizeof(op_t)) 32 | 33 | /* Threshold value for when to enter the unrolled loops. */ 34 | #define OP_T_THRES 16 35 | 36 | #define PAGE_COPY_FWD_MAYBE(dstp, srcp, nbytes_left, nbytes) 37 | #define MERGE(w0, sh_1, w1, sh_2) (((w0) >> (sh_1)) | ((w1) << (sh_2))) 38 | 39 | 40 | /* Copy *up to* NBYTES bytes from SRC_BP to DST_BP, with 41 | the assumption that DST_BP is aligned on an OPSIZ multiple. If 42 | not all bytes could be easily copied, store remaining number of bytes 43 | in NBYTES_LEFT, otherwise store 0. */ 44 | #define WORD_COPY_FWD(dst_bp, src_bp, nbytes_left, nbytes) \ 45 | { \ 46 | if (src_bp % OPSIZ == 0) \ 47 | sha_wordcopy_fwd_aligned (dst_bp, src_bp, (nbytes) / OPSIZ); \ 48 | else \ 49 | src_bp += (nbytes) & -OPSIZ; \ 50 | dst_bp += (nbytes) & -OPSIZ; \ 51 | (nbytes_left) = (nbytes) % OPSIZ; \ 52 | } 53 | 54 | #endif // MEM_HELPER_H 55 | 56 | --------------------------------------------------------------------------------