Changes between Version 16 and Version 17 of boot_loader


Ignore:
Timestamp:
Dec 7, 2014, 9:51:57 PM (10 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • boot_loader

    v16 v17  
    5656This code is executed by all processors, but sequencially. All processors enter the same [source:soft/giet_vm/giet_kernel/kernel_init.c kernel_init.c] code that makes the following actions:
    5757
    58  * step 0 : processor[0][0][0] makes kernel_heap[x][y] array and kernel fat initialisation.
    59  * step 1 : each processor get its scheduler virtual address from CP0_SCHED register and contributes to _schedulers[x][y][p] array initialisation.
    60  * step 2 : each processor loops on all allocated tasks to build the _ptabs_vaddr[vspace] & _ptabs_ptprs[vspace] arrays from the tasks contexts.
    61  * step 3 : each processor computes and set the XCU masks, as specified in the HWI, PTI, and WTI interrupt vectors.
    62  * step 4 : each processor starts its TICK timer if it has at least one task allocated.
    63  * step 5 : each processor updates the idle_task context (CTX_SP, CTX_RA, CTX_EPC).
    64  * step 6 : when all processors reach the synchronisation barrier, each processor set registers SP, SR, PTPR, EPC, with the values corresponding to the first allocated task, and jump to user code.
     58 * '''step 0''' : processor[0][0][0] makes kernel_heap[x][y] array and kernel fat initialisation.
     59 * '''step 1''' : each processor get its scheduler virtual address from CP0_SCHED register and contributes to _schedulers[x][y][p] array initialisation.
     60 * '''step 2''' : each processor loops on all allocated tasks to build the _ptabs_vaddr[vspace] & _ptabs_ptprs[vspace] arrays from the tasks contexts.
     61 * '''step 3''' : each processor computes and set the XCU masks, as specified in the HWI, PTI, and WTI interrupt vectors.
     62 * '''step 4''' : each processor starts its TICK timer if it has at least one task allocated.
     63 * '''step 5''' : each processor updates the idle_task context (CTX_SP, CTX_RA, CTX_EPC).
     64 * '''step 6''' : when all processors reach the synchronisation barrier, each processor set registers SP, SR, PTPR, EPC, with the values corresponding to the first allocated task, and jump to user code.
    6565
    6666