version 1.1.1.1, 2008/06/03 10:38:46 |
version 1.1.1.1.2.1, 2008/08/13 17:12:32 |
|
|
|
|
/* |
/* |
* Initialization code. |
* Initialization code. |
* This is called from kernel_start() routine that |
* |
* is implemented in the architecture dependent layer. |
* Called from kernel_start() routine that is |
* We assumes that the following machine state are |
* implemented in the architecture dependent layer. |
* already set before this routine. |
* We assume that the following machine state has |
|
* been already set before this routine. |
* - Kernel BSS section is filled with 0. |
* - Kernel BSS section is filled with 0. |
* - Kernel stack is configured. |
* - Kernel stack is configured. |
* - All interrupts are disabled. |
* - All interrupts are disabled. |
* - Minimum page table is set. (MMU only) |
* - Minimum page table is set. (MMU systems only) |
*/ |
*/ |
void |
int |
kernel_main(void) |
main(void) |
{ |
{ |
|
|
/* |
/* |
|
|
* initialization. |
* initialization. |
*/ |
*/ |
diag_init(); |
diag_init(); |
printk(BANNAR); |
DPRINTF((BANNER)); |
sched_lock(); |
sched_lock(); |
machine_init(); |
machine_init(); |
|
|
|
|
*/ |
*/ |
task_bootstrap(); |
task_bootstrap(); |
sched_unlock(); |
sched_unlock(); |
|
|
/* |
|
* Enter idle loop. |
|
*/ |
|
thread_idle(); |
thread_idle(); |
|
|
/* NOTREACHED */ |
/* NOTREACHED */ |
|
return 0; |
} |
} |