benchmark/kernel-only_arm/main.c
00001 // Emtpy main.c file generated by the wizard 00002 #include <cpu/irq.h> 00003 #include <kern/proc.h> 00004 #include <kern/signal.h> 00005 #include <kern/msg.h> 00006 00007 MsgPort in_port; 00008 00009 static void init(void) 00010 { 00011 IRQ_ENABLE; 00012 proc_init(); 00013 } 00014 00015 static cpu_stack_t proc1_stack[500]; 00016 00017 static void proc1_main(void) 00018 { 00019 00020 } 00021 00022 int main(void) 00023 { 00024 init(); 00025 // generate code for process 00026 struct Process *p = proc_new(proc1_main, 0, sizeof(proc1_stack), proc1_stack); 00027 proc_setPri(p, 5); 00028 proc_yield(); 00029 // generate code for msg 00030 Msg msg; 00031 msg_initPort(&in_port, event_createSignal(p, SIG_USER1)); 00032 msg_put(&in_port, &msg); 00033 msg_peek(&in_port); 00034 Msg *msg_re = msg_get(&in_port); 00035 msg_reply(msg_re); 00036 // generate code for signals 00037 sig_signal(p, SIG_USER0); 00038 sig_wait(SIG_USER0); 00039 00040 return 0; 00041 } 00042
