diff --git a/riscv-coremark/coremark/core_main.c b/riscv-coremark/coremark/core_main.c index edd1ac46..a2c3ac67 100644 --- a/riscv-coremark/coremark/core_main.c +++ b/riscv-coremark/coremark/core_main.c @@ -211,26 +211,53 @@ MAIN_RETURN_TYPE main(int argc, char *argv[]) { core_init_state(results[0].size,results[i].seed1,results[i].memblock[3]); } } - + + /*int foreverLoop = 1; + secs_ret timing = 0; + int timingInt; + ee_printf("\nENTERING FOREVER WHILE LOOP\n"); + while(foreverLoop == 1) + { + start_time(); + //filler + stop_time(); + timing += time_in_secs(get_time()); + timingInt = (int)timing; + ee_printf("Timing is %d\n", timingInt); + }/* + /* automatically determine number of iterations if not set */ if (results[0].iterations==0) { secs_ret secs_passed=0; ee_u32 divisor; results[0].iterations=1; + int iterationInc = 0; + ee_printf("\n\nENTERING ITERATION WHILE LOOP\n"); while (secs_passed < (secs_ret)1) { - results[0].iterations*=10; + if(iterationInc != 0) + { + results[0].iterations++; + } + ee_printf("iterations is %d\n", results[0].iterations); start_time(); iterate(&results[0]); stop_time(); - secs_passed=time_in_secs(get_time()); + secs_passed = time_in_secs(get_time()); + int secs_passed_int = (int)secs_passed; + ee_printf("secs passed is %d\n", secs_passed_int); + iterationInc++; } + ee_printf("LEAVING ITERATION WHILE LOOP!\n\n"); /* now we know it executes for at least 1 sec, set actual run time at about 10 secs */ divisor=(ee_u32)secs_passed; + ee_printf("divisor is %lu\n", divisor); if (divisor==0) /* some machines cast float to int as 0 since this conversion is not defined by ANSI, but we know at least one second passed */ divisor=1; results[0].iterations*=1+10/divisor; + ee_printf("iterations is %d\n", results[0].iterations); } /* perform actual benchmark */ + ee_printf("Starting benchmark\n"); start_time(); #if (MULTITHREAD>1) if (default_num_contexts>MULTITHREAD) { @@ -249,7 +276,8 @@ MAIN_RETURN_TYPE main(int argc, char *argv[]) { #endif stop_time(); total_time=get_time(); - ee_printf("ending benchmark"); + ee_printf("total time is %u\n", total_time); + ee_printf("ending benchmark\n"); /* get a function of the input to report */ seedcrc=crc16(results[0].seed1,seedcrc); seedcrc=crc16(results[0].seed2,seedcrc); @@ -340,12 +368,17 @@ MAIN_RETURN_TYPE main(int argc, char *argv[]) { for (i=0 ; i