| 83 | The ''boot_init'' function makes the initialisation in two steps: |
| 84 | |
| 85 | The first step is sequencially executed by proc[0][0][0], while other processors are in wait state: |
| 86 | * Physical memory allocators initialisation : ''boot_pmem_init()'' |
| 87 | * Page table initialisation : ''boot_ptabs_init()'' |
| 88 | * Proc[0][0][0] MMU activation |
| 89 | * Private vobjs initialisation : ''boot_vobjs_init()'' |
| 90 | * Schedulers initialisation : ''boot_schedulers init()'' |
| 91 | * Peripherals initialisation : ''boot_peripherals_init()'' |
| 92 | * Kernel & application code loading : ''boot_elf_load()'' |
| 93 | * Start all other processors |
| 94 | The second step is executed in parallel by all processors: |
| 95 | * CP0_SCHED register initialisation |
| 96 | * MMU Activation |
| 97 | * Status Register Initialisation (to use the GIET_VM exception handler). |
| 98 | * Jump to ''kernel_init()'' |
| 99 | |