6 | | * The generic ''reset'' code (hard-coded in the external ROM) is executed by processor (0,0,0), and load the GIET_VM boot-loader code, stored in the ''boot.elf'' file, from the external disk to the physical memory. |
7 | | * The GIET_VM boot-loader is executed in parallel by all processors P(x,y,0): one processor per cluster. It loads the ''map.bin'' file, build the page tables, initializes the schedulers as specified in the mapping, initializes the peripherals, and load the kernel code, as well as the user application(s) code into memory. |
8 | | * Finally, the GIET_VM ''kernel_init()'' function is executed by all processors, and completes the kernel initialization. |
| 6 | * The generic ''reset'' code (hard-coded in the external ROM) is executed by processor P(0,0,0), and load the GIET_VM boot-loader code, stored in the ''boot.elf'' file, from the external disk to the physical memory. |
| 7 | * The GIET_VM boot-loader is executed in parallel by all processors P(x,y,0): one processor per cluster. The bootloader loads the ''map.bin'' file, build the page tables, initializes the schedulers as specified in the mapping, initializes the peripherals, and load the kernel code, as well as the user application(s) code into memory. |
| 8 | * Finally, the GIET_VM ''kernel_init()'' function is executed by all processors P(x,y,p), and completes the kernel initialization. |
30 | | Processor P(0,0,0) initializes the FAT, initializes the TTY0 lock, initializes the synchronization barrier, and load the ''map.bin''file to the physical memory bank in cluster(0,0). Then processor P(0,0,0) use inter-processor-interrupts (WTI) to start the parallel execution, and activate processors P(x,y,0) in all clusters containing processors. |
| 30 | Processor P(0,0,0) initializes the FAT, initializes the TTY0 lock, initializes the synchronization barrier, and load the ''map.bin'' file to the physical memory bank in cluster(0,0): segment seg_boot_mapping. Then processor P(0,0,0) uses inter-processor-interrupts (WTI) to start the parallel execution, and activates one processor per cluster (processor P(x,y,0) ) in all clusters containing processors. |
33 | | In each cluster(x,y), processor P(x,y,0) makes the physical memory allocators initialisation (function '''boot_pmem_init()''' ). The GIET VM uses two types of pages: BPP (Big Physical Page, 2 Mbytes), and SPP (Small Physical Page, 4 Kbytes). |
| 33 | In each cluster(x,y), processor P(x,y,0) makes the physical memory allocator initialisation (function '''boot_pmem_init()''' ). The GIET VM uses two types of pages: BPP (Big Physical Page, 2 Mbytes), and SPP (Small Physical Page, 4 Kbytes). |