13 | | The ''boot_init'' function makes the initialisation in two steps: |
14 | | |
15 | | The first step is sequencially executed by proc[0][0][0], while other processors are in wait state: |
16 | | * Physical memory allocators initialisation : ''boot_pmem_init()'' |
17 | | * Page table initialisation : ''boot_ptabs_init()'' |
18 | | * Proc[0][0][0] MMU activation |
19 | | * Private vobjs initialisation : ''boot_vobjs_init()'' |
20 | | * Schedulers initialisation : ''boot_schedulers init()'' |
21 | | * Peripherals initialisation : ''boot_peripherals_init()'' |
22 | | * Kernel & application code loading : ''boot_elf_load()'' |
23 | | * Start all other processors |
24 | | The second step is executed in parallel by all processors: |
25 | | * CP0_SCHED register initialisation |
26 | | * MMU Activation |
27 | | * Status Register Initialisation (to use the GIET_VM exception handler). |
28 | | * Jump to ''kernel_init()'' |
29 | | |
30 | | == __W) Kernel functions__ == |
| 13 | == __W) [wiki:kernel_functions Kernel functions]__ == |