Adds devalarm (#A)
[akaros.git] / tests / idle.c
1 #include <parlib.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4
5 /* This will keep a core from spinning forever, but will also allow it to still
6  * schedule() and run _S processes.  arg1 is the number of loops (0 for
7  * forever), and arg2 is how many usec to wait per loop. */
8 int main(int argc, char** argv)
9 {
10         unsigned long nr_loops = 1;                     /* default, 1 loop */
11         unsigned long timeout = 5000000;        /* default, 5 sec */
12         int i = 0;
13         if (argc > 1)
14                 nr_loops = strtol(argv[1], 0, 10);
15         if (argc > 2)
16                 timeout = strtol(argv[2], 0, 10);
17         printf("Idling for %d usec for %d loops\n", timeout, nr_loops);
18         while (!nr_loops || i++ < nr_loops) {
19                 sys_halt_core(timeout);
20                 sys_yield(0);
21         }
22         return 0;
23 }