/* * __wt_os_stdio -- * Initialize the stdio configuration. */ int __wt_os_stdio(WT_SESSION_IMPL *session) { __stdio_init(WT_STDERR(session), "stderr", stderr); __stdio_init(WT_STDOUT(session), "stdout", stdout); return (0); }
void __main(void *pcb_ptr) { /* Initialize user task run-time environment */ __malloc_init(); __async_init(); fibril_t *fibril = fibril_setup(); if (fibril == NULL) abort(); __tcb_set(fibril->tcb); /* Save the PCB pointer */ __pcb = (pcb_t *) pcb_ptr; /* The basic run-time environment is setup */ env_setup = true; int argc; char **argv; #ifdef __IN_SHARED_LIBC__ if (__pcb != NULL && __pcb->rtld_runtime != NULL) { runtime_env = (runtime_env_t *) __pcb->rtld_runtime; } #endif /* * Get command line arguments and initialize * standard input and output */ if (__pcb == NULL) { argc = 0; argv = NULL; __stdio_init(0); } else { argc = __pcb->argc; argv = __pcb->argv; __stdio_init(__pcb->filc); (void) chdir(__pcb->cwd); } /* * Run main() and set task return value * according the result */ int retval = main(argc, argv); exit(retval); }
void __syslib_init() { __heap_init(); __stdio_init(); }
/*------------------------------------------- | Name:start_kernel | Description: | Parameters: | Return Type: | Comments: | See: ---------------------------------------------*/ void _start_kernel(char* arg){ pthread_mutexattr_t mutex_attr=0; pthread_attr_t thread_attr; rttmr_attr_t rttmr_attr={0}; // __kernel_static_mode_in(); //init kernel system _pid(); // _vfs(); // _flocks(); // kernel_pthread_mutex_init(&kernel_mutex,&mutex_attr); // rttmr_attr.tm_msec=__KERNEL_ALARM_TIMER; // rttmr_attr.func = _kernel_timer; // rttmr_create(&kernel_tmr,&rttmr_attr); // rttmr_start(&kernel_tmr); //stdio init(mutex for stdin, stdout, stderr) __stdio_init(); // thread_attr.stacksize = KERNEL_STACK_SIZE; thread_attr.stackaddr = (void*)&kernel_stack; thread_attr.priority = KERNEL_PRIORITY; thread_attr.timeslice = 0; thread_attr.name ="kernel_thread"; kernel_pthread_create(&kernel_thread,&thread_attr,kernel_routine,arg); // _kernel_warmup_profiler(); //create directory /dev, /bin, /usr, /etc. //detect and create devices in /dev _kernel_warmup_rootfs(); // _kernel_warmup_cpu(); // _kernel_warmup_load_mount_cpufs(); // _kernel_warmup_i2c(); // _kernel_warmup_spi(); // _kernel_warmup_dev(); // _kernel_warmup_tty(); // _kernel_warmup_stream(); // _kernel_warmup_object_manager(); // _kernel_warmup_rtc(); // _kernel_warmup_mount(); // _kernel_warmup_boot(); //only in bootstrap configuration //_kernel_warmup_elfloader(); // #if defined (__KERNEL_NET_IPSTACK) #if defined(USE_UIP) uip_core_run(); #endif #endif // kernel_printk_init(); // __kernel_static_mode_out(); }