Changes between Version 29 and Version 30 of boot_loader


Ignore:
Timestamp:
Feb 17, 2016, 5:59:14 PM (8 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • boot_loader

    v29 v30  
    1111
    1212After hard reset, all processors execute the same ''reset'' code (also called ''preloader'' code) stored in the external ROM. The work done depends on the processor global index:
    13  * Processor P(0,0,0) loads the GIET_VM boot-loader code from the external block device, to the physical memory bank in cluster(0,0). It load the two segments seg_boot_code and seg_boot_data from the ''boot.elf'' file. This ''boot.elf'' file must be stored at (lba = 2) on the external block device. The two first BPPs (Big Physical Page) in cluster (0,0) are reserved for the four segments used by the boot-loader: ''seg_boot_mapping'', ''seg_boot_code'', ''seg_boot_stack'', and ''seg_boot_data'', and the base addresses ans sizes defined in the mapping must fit in these reserved 4 Mbytes.
     13 * Processor P(0,0,0) loads the GIET_VM boot-loader code from the external block device, to the physical memory bank in cluster(0,0). It load the two segments seg_boot_code and seg_boot_data from the ''boot.elf'' file. This ''boot.elf'' file must be stored at (lba = 2) on the external block device. The first 4 Mbytes in cluster (0,0) are reserved for the four segments used by the boot-loader (''seg_boot_mapping'', ''seg_boot_code'', ''seg_boot_stack'', and ''seg_boot_data''), and the base addresses ans sizes defined in the mapping must fit in these reserved 4 Mbytes.
    1414 * All other processors initialize their private interrupt controller, to be able to receive an inter-processor interrupt (WTI), and enter the ''wait_state'', in low-power mode.
    1515This ''reset'' code is generic, and can be used to boot any operating system. 
     
    3333In 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).
    3434There is one SPP and one BPP allocator per cluster containing a physical memory bank.
    35 All the physical memory allocation must be done by the boot-loader in the boot phase, and these memory allocators
     35All the physical memory allocation is done by the boot-loader in the boot phase, and these memory allocators
    3636should not be used by the kernel in the execution phase.
    3737