/* * Initialize sequence before T-Kernel starts */ EXPORT ER init_system( void ) { ER ercd; /* Platform dependent initialize sequence */ DispProgress(0x10); ercd = init_device(); if ( ercd < E_OK ) { goto err_ret; } /* Initialize subsystem */ DispProgress(0x11); ercd = init_subsystems(); if ( ercd < E_OK ) { goto err_ret; } /* Initialize segment manager */ DispProgress(0x12); ercd = init_segmgr(); if ( ercd < E_OK ) { goto err_ret; } #ifdef _BTRON_ ercd = init_bk_early(); if (ercd < E_OK) { vd_printf("error init_bk_early\n"); goto err_ret; } #endif /* Initialize memory manager */ DispProgress(0x13); ercd = init_memmgr(); if ( ercd < E_OK ) { goto err_ret; } #ifdef _BTRON_ /* Initialize slab allocator */ DispProgress(0x14); ercd = init_slab_allocator(); if ( ercd < E_OK ) { vd_printf("init_slab_allocator\n"); goto err_ret; } /* Initialize bk */ DispProgress(0x15); ercd = init_bk(); if ( ercd < E_OK ) { vd_printf("init_bk\n"); goto err_ret; } #else /* Initialize Imalloc */ DispProgress(0x14); ercd = init_Imalloc(); if ( ercd < E_OK ) { goto err_ret; } #endif return(ercd); err_ret: #if USE_KERNEL_MESSAGE tm_putstring((UB*)"!ERROR! init_kernel\n"); #endif //tm_monitor(); /* Stop */ return(ercd); }
/* * Initialize sequence before T-Kernel starts */ EXPORT void init_system( void ) { ER ercd; /* if i'm first processor, execution */ if ( get_prid() == 0 ) { /* Platform dependent initialize sequence */ DispProgress(0x10); ercd = init_device(); if ( ercd < E_OK ) { goto err_ret; } /* Initialize subsystem */ DispProgress(0x11); ercd = init_subsystems(); if ( ercd < E_OK ) { goto err_ret; } /* Initialize segment manager */ DispProgress(0x12); ercd = init_segmgr(); if ( ercd < E_OK ) { goto err_ret; } /* Initialize memory manager */ DispProgress(0x13); ercd = init_memmgr(); if ( ercd < E_OK ) { goto err_ret; } /* Initialize Imalloc */ DispProgress(0x14); ercd = init_Imalloc(); if ( ercd < E_OK ) { goto err_ret; } } else { /* Platform dependent initialize sequence */ DispProgress(0x10); ercd = init_device(); if ( ercd < E_OK ) { goto err_ret; } /* Initialize segment manager */ DispProgress(0x12); ercd = init_segmgr(); if ( ercd < E_OK ) { goto err_ret; } } return; err_ret: #if USE_KERNEL_MESSAGE tm_putstring((UB*)"!ERROR! init_kernel\n"); #endif tm_monitor(); /* Stop */ }