| | 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 | |