Adds sys_mkdir() and sys_rmdir() (XCC)
[akaros.git] / tests / msr_dumb_while.c
1 /* tests/msr_dumb_while.c
2  *
3  * This requests the max_vcores in the system, then just dumbly while loops.
4  * If you send it an NE_ALARM, it'll print its TSC. */
5
6 #include <rstdio.h>
7 #include <vcore.h>
8 #include <arch/arch.h>
9 #include <ros/bcq.h>
10
11 int main(int argc, char** argv)
12 {
13
14         /* don't forget to enable notifs on vcore0.  if you don't, the kernel will
15          * restart your _S with notifs disabled, which is a path to confusion. */
16         struct preempt_data *vcpd = &__procdata.vcore_preempt_data[0];
17         vcpd->notif_enabled = TRUE;
18
19         vcore_request(max_vcores());
20
21         /* should never make it here */
22         return -1;
23 }
24
25 void vcore_entry(void)
26 {
27         struct preempt_data *vcpd = &__procdata.vcore_preempt_data[0];
28         vcpd->notif_enabled = TRUE;
29
30         struct notif_method *nm = &__procdata.notif_methods[NE_ALARM];
31         nm->flags = NOTIF_WANTED | NOTIF_MSG | NOTIF_IPI;
32         nm->vcoreid = 1;
33
34         struct notif_event ne = {0};
35         bcq_dequeue(&vcpd->notif_evts, &ne, NR_PERCORE_EVENTS);
36         if (ne.ne_type == NE_ALARM)
37                 printf("[T]:009:E:%llu\n", read_tsc());
38         while(1);
39 }
40