Example #1
0
/*
 * __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);
}
Example #2
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);
}
Example #3
0
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();
}