Changes between Version 3 and Version 4 of kernel_context


Ignore:
Timestamp:
Oct 20, 2014, 9:41:19 PM (10 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • kernel_context

    v3 v4  
    3131|| [5] $5    || [13] $13  || [21] $21  || [29] SP     || [37] LTID  || [45] CMA || [53] ***      ||
    3232|| [6] $6    || [14] $14  || [22] $22  || [30] $30  || [38] VSID  || [46] GTID || [54] ***      ||   
    33 || [7] $7    || [15] $15  || [23] $23  || [31] RA    | [39] PTPR   || [47] RUN  || [55] ***      ||
     33|| [7] $7    || [15] $15  || [23] $23  || [31] RA    || [39] PTPR   || [47] RUN  || [55] ***      ||
    3434
     35
     36
     37 === void _ctx_switch() ===
     38This function performs a context switch between the running (calling) task and  another runable task, using a round-robin sheduling policy between all tasks allocated to a given processor (static allocation).
     39It selects the next runable task to resume execution.
     40If the only runable task is the current task, return without context switch.
     41If there is no runable task, the scheduler switch to the default "idle" task.
     42The return address contained in $31 is saved in the current task context (in the ctx[31] slot), and the function actually returns to the address contained in the ctx[31] slot of the next task context.
     43
     44 === void _ctx_eret() ===
     45The address of this function is used to initialise the return address in the "idle" task context.
     46
     47 === void _idle_task() ===
     48This function is executed task when no other task can be executed.
    3549
    3650