Changes between Version 1 and Version 2 of boot_loader


Ignore:
Timestamp:
Nov 5, 2014, 2:55:13 PM (10 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • boot_loader

    v1 v2  
    33The GIET-VM boot-loader is defined in the [source:soft/giet_vm/giet_boot/boot.c boot.c] file.
    44
    5 The ''boot_init'' function makes the initialisation in two steps:
     5The ''boot_init()'' function makes the initialisation in two steps:
    66 
    7 The first step is sequencially executed by proc[0][0][0], while other processors are in wait state:
    8  * Physical memory allocators initialisation : ''boot_pmem_init()''
    9  * Page table initialisation : ''boot_ptabs_init()''
     7== __Sequencial step__ ==
     8
     9The first step executed by proc[0][0][0], while other processors are in wait state.
     10
     11=== void '''boot_pmem_init()''' ===
     12This function makes the physical memory allocators initialisation. The GIET VM uses two types of pages:
     13 * BPP : Big Physical Page (2 Mbytes).
     14 * SPP : Small Physical Page (4 Kbytes).
     15There is one SPP and one BPP allocator per cluster containing a physical memory bank.
     16All the physical memory allocation is done by the boot-loader
     17=== void '''boot_ptabs_init()''' ===
     18This function makes the page table initialisation. There is one page table per user application (vspace) defined in the mapping.
     19All these 
    1020 * Proc[0][0][0] MMU activation
    1121 * Private vobjs initialisation : ''boot_vobjs_init()''
     
    1424 * Kernel & application code loading : ''boot_elf_load()''
    1525 * Start all other processors
     26
     27== __Parallel step__ ==
     28
    1629The second step is executed in parallel by all processors:
    1730 * CP0_SCHED register initialisation