Changes between Version 22 and Version 23 of boot_loader
- Timestamp:
- Mar 21, 2015, 12:53:07 PM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
boot_loader
v22 v23 18 18 19 19 The GIET_VM boot-loader is defined in the [source:soft/giet_vm/giet_boot/boot.c boot.c] and [source:soft/giet_vm/giet_boot/boot_entry.S boot_entry.S] files. 20 The main steps are the following:20 The step 1 is executed by processor P(0,0,0) only, but the other steps are executed in parallel by all processor P(x,y,0) : one processor per cluster. 21 21 22 22 === step 0 === … … 25 25 * The stack size for P(x,y,0) is 1.25 Kbytes. 26 26 * The stack size for other processors is 0.25 Kbytes. 27 * The SEG_BOOT_STACK_SIZE cannot be smaller than : 0x100 * (N N_PROCS_MAX-1) + 0x500) * X_SIZE * Y_SIZE27 * The SEG_BOOT_STACK_SIZE cannot be smaller than : 0x100 * (NB_PROCS_MAX-1) + 0x500) * X_SIZE * Y_SIZE 28 28 29 29 === step 1 === 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.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), in 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. 31 31 32 === step 2 ===32 === step 2 === 33 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). 34 34 There is one SPP and one BPP allocator per cluster containing a physical memory bank.