static int psos_init(void) { int ret; registry_add_dir("/psos"); registry_add_dir("/psos/tasks"); registry_add_dir("/psos/semaphores"); registry_add_dir("/psos/queues"); registry_add_dir("/psos/timers"); registry_add_dir("/psos/partitions"); registry_add_dir("/psos/regions"); cluster_init(&psos_task_table, "psos.task"); cluster_init(&psos_sem_table, "psos.sema4"); cluster_init(&psos_queue_table, "psos.queue"); pvcluster_init(&psos_pt_table, "psos.pt"); pvcluster_init(&psos_rn_table, "psos.rn"); ret = clockobj_init(&psos_clock, "psos", clock_resolution); if (ret) { warning("%s: failed to initialize pSOS clock (res=%u ns)", __FUNCTION__, clock_resolution); return __bt(ret); } /* Convert pSOS ticks to timespec. */ clockobj_ticks_to_timespec(&psos_clock, time_slice_in_ticks, &psos_rrperiod); return 0; }
static int alchemy_init(void) { int ret; syncluster_init(&alchemy_task_table, "alchemy.task"); syncluster_init(&alchemy_sem_table, "alchemy.sem"); syncluster_init(&alchemy_event_table, "alchemy.event"); syncluster_init(&alchemy_cond_table, "alchemy.cond"); syncluster_init(&alchemy_mutex_table, "alchemy.mutex"); syncluster_init(&alchemy_queue_table, "alchemy.queue"); syncluster_init(&alchemy_buffer_table, "alchemy.buffer"); syncluster_init(&alchemy_heap_table, "alchemy.heap"); pvcluster_init(&alchemy_alarm_table, "alchemy.alarm"); ret = clockobj_init(&alchemy_clock, clock_resolution); if (ret) { warning("%s: failed to initialize Alchemy clock (res=%u ns)", __FUNCTION__, clock_resolution); return __bt(ret); } registry_add_dir("/alchemy"); registry_add_dir("/alchemy/tasks"); registry_add_dir("/alchemy/semaphores"); registry_add_dir("/alchemy/events"); registry_add_dir("/alchemy/condvars"); registry_add_dir("/alchemy/mutexes"); registry_add_dir("/alchemy/queues"); registry_add_dir("/alchemy/buffers"); registry_add_dir("/alchemy/heaps"); registry_add_dir("/alchemy/alarms"); init_corespec(); return 0; }