Changes between Version 39 and Version 40 of boot_procedure


Ignore:
Timestamp:
Jun 29, 2018, 4:47:46 PM (3 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • boot_procedure

    v39 v40  
    7373In this second phase the work is entirely done by core[0][0].
    7474
    75     * The core[0][0] initializes the stack pointer. The boot stack size is a configuration parameter.Il initialise son pointeur de pile pour pouvoir exécuter du code C. La taille de cette pile temporaire est aussi un paramètre de configuration. Par défaut, le pointeur de pile du core CP0 de chaque cluster ('''lid''' = 0) est initialisé à l'adresse '''0x600000'''.
    76     * Le CP0 cu cluster (0,0) initialise 2 périphériques: '''TTY''' (canal 0)  pour afficher les informations de débogage et '''IOC''' pour accéder aux fichiers sur disque.
    77     * Il charge ensuite, toujours en mémoire locale du cluster de boot, le fichier binaire '''arch_info.bin''' ainsi que l'image binaire du noyau d'ALMOS-MK, respectivement à l'adresse '''0x200000''' et '''0x400000''', juste au dessus du segment mémoire correspondant à l'image du boot-loader.
     75    * The core[0][0] initializes the stack pointer. The boot stack size is a configuration parameter.
     76    * The core[0][0] initializes 2 peripherals: The '''TTY'''terminal (channel 0)  to display log info, and the '''IOC''' to access the disk.
     77    *  loads in cluster 0 the '''arch_info.bin''' file and the ainsi que l'image binaire du noyau d'ALMOS-MK, respectivement à l'adresse '''0x200000''' et '''0x400000''', juste au dessus du segment mémoire correspondant à l'image du boot-loader.
    7878    * Il utilise les informations contenues dans la structure '''arch_info.bin''' pour initialiser les différents champs de la structure '''boot_info_t''' du cluster de boot.
    79     * Il réveille les coeurs '''CP0''' de tous les autres clusters.
    80     * Il se met en attente jusqu'à ce que tous les autres '''CP0''' arrivent à ce point de rendez-vous en utilisant une barrière de synchronisation.
    81 
    82    Voici le contenu de la mémoire du cluster de boot et des autres clusters après cette deuxième étape.
     79    * The core [0][0] send IPIs to all cores [i][0] in other clusters.
     80   
     81All CP0 cores synchronize through a synchronisation barrier before entering the next phase.
     82This shows the memory content after this second phase.
    8383   [[Image(Phys_Mem2.svg)]]
    8484
    85 === B3. Phase partiellement parallèle ===
     85=== B3. partially parallel phase ===
    8686
    8787Dans chaque cluster, le coeur '''CP0''', réveillé par le CP0 du cluster de boot, sort du preloader et exécute le code du boot-loader qui se trouve toujours stocké dans la mémoire physique du cluster(0,0), pour effectuer les tâches suivantes:
     
    124124== D) __Generic kernel initialization procedure__ ==
    125125
    126 The kernel_init( boot_info_t * info ) function is the kernel entry point when the boot_loader transfer control to kernel.
     126The kernel_init( boot_info_t * info ) function is the kernel entry point when the boot_loader transfer control to the kernel.
    127127The ''info'' argument is a pointer on the fixed size boot_info_t structure, that is stored in the data kernel segment.
    128128