Changes between Version 62 and Version 63 of boot_procedure


Ignore:
Timestamp:
Nov 7, 2019, 5:57:53 PM (5 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • boot_procedure

    v62 v63  
    4848The two main constraint are the following:
    4949   * the ''kcode'' and ''kdata'' segments (in the KERNEL_CODE zone) must be entirely contained in one single big physical page (2 Mbytes), because it will be mapped as one single big page in all process virtual spaces.
    50    * the BOOT_CODE zone (containing the boot loader instructions and data) must be entirely contained in the
    51 next big physical page, because it will be mapped in the boot-loader page table to allow the cores to access locally the boot code as soon as it has been copied in the local cluster.
    52 
    53 A core is identified by  two indexes: '''cxy''' is the cluster identifier, an '''lid''' is the core local index in cluster.
     50   * the BOOT_CODE zone (containing the boot loader instructions and data) must be entirely contained in the next big physical page, because it will be mapped in the boot-loader page table to allow the cores to access locally the boot code as soon as it has been copied in the local cluster.
     51
     52A core[cxy][lid] is identified by  two indexes: '''cxy''' is the cluster identifier, an '''lid''' is the core local index in cluster.
    5453The CP0 register containing the core gid (global hardware identifier) has a fixed format:   '''gid''' = ('''cxy''' << 2) + '''lid'''
    5554
    5655All cores contribute to the boot procedure, but all cores are not simultaneously active:
    57  * in the first phase - fully sequencial - only core[0][0] is running (core 0 in cluster 0).
     56 * in the first phase - fully sequencial - only core[0][0] is running.
    5857 * In the second phase - partially parallel - only core[cxy][0] is running in each cluster.
    5958 * in the last phase - fully parallel - all core[cxy][lid] are running.
     
    7574=== B2. Boot-loader sequencial phase ===
    7675
    77 In this phase, only core [0][0] is running, while all other cores are blocked in the preloaded, waiting to be activated by an IPI.
     76In this phase, only core [0][0] is running, while all other cores are blocked in the preloader, waiting to be activated by an IPI.
    7877
    7978The first instructions of the boot-loader are defined in the ''boot_entry.S'' file. This assembly code is executed by all cores entering the boot-loader, but not at the same time.