/*! @brief Main timer server entry point. */ int main(void) { SET_MUSLC_SYSCALL_TABLE; //dprintf("Initialising RefOS timer server.\n"); refosio_setup_morecore_override(timeServMMapRegion, TIMESERV_MMAP_REGION_SIZE); refos_initialise(); timeserv_init(); test_server(); timer_server_mainloop(); return 0; }
/*! @brief Main CPIO file server entry point. */ int main() { SET_MUSLC_SYSCALL_TABLE; seL4_DebugPrintf("hi, I'm in file_server main!\n"); refosio_setup_morecore_override(mmapRegion, MMAP_SIZE); seL4_DebugPrintf("hi, I'm in file_server main2!\n"); refos_initialise_os_minimal(); seL4_DebugPrintf("hi, I'm in file_server main3!\n"); refos_setup_dataspace_stdio(REFOS_DEFAULT_STDIO_DSPACE); seL4_DebugPrintf("hi, I'm in file_server main4!\n"); fileserv_init(); seL4_DebugPrintf("hi, I'm in file_server main5!\n"); fileserv_mainloop(); seL4_DebugPrintf("hi, I'm in file_server main6!\n"); return 0; }
/*! @brief Main timer server entry point. */ int main() { /* Future Work 3: How the selfloader bootstraps user processes needs to be modified further. Changes were made to accomodate the new way that muslc expects process's stacks to be set up when processes start, but the one part of this that still needs to changed is how user processes find their system call table. Currently the selfloader sets up user processes so that the selfloader's system call table is used by user processes by passing the address of the selfloader's system call table to the user processes via the user process's environment variables. Ideally, user processes would use their own system call table. */ uintptr_t address = strtoll(getenv("SYSTABLE"), NULL, 16); refos_init_selfload_child(address); dprintf("Initialising RefOS timer server.\n"); refosio_setup_morecore_override(timeServMMapRegion, TIMESERV_MMAP_REGION_SIZE); refos_initialise_timer(); timeserv_init(); timer_server_mainloop(); return 0; }