Ignore:
Timestamp:
Aug 9, 2012, 2:38:06 PM (12 years ago)
Author:
alain
Message:

Introducing the "idle" to improve the exit mechanism.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/sys/switch.s

    r189 r199  
    22* This function receives two arguments that are the current task context
    33* physical addresses and the next task context physical address.
     4* The DTLB is temporary desactivated...
    45******************************************************************************/
    56
     
    1718    add     $27,    $4,     $0  /* $27 <= &context[curr_task_id] */
    1819
    19     mfc0    $26,    $12         /* $26 <= SR */
    20     sw      $26,    0*4($27)    /* ctx[0] <= SR */
    2120    .set noat
    2221    sw      $1,     1*4($27)    /* ctx[1] <= $1 */
     
    4746    sw      $25,    25*4($27)   /* ctx[25] <= $25 */
    4847    mflo    $26
    49     sw      $26,    26*4($27)   /* ctx[26] <= LO */
     48    sw      $26,    26*4($27)   /* ctx[26] <= LO  */
    5049    mfhi    $26
    51     sw      $26,    27*4($27)   /* ctx[27] <= H1 */
     50    sw      $26,    27*4($27)   /* ctx[27] <= H1  */
    5251    sw      $28,    28*4($27)   /* ctx[28] <= $28 */
    5352    sw      $29,    29*4($27)   /* ctx[29] <= $29 */
     
    5756    sw      $26,    32*4($27)   /* ctx[32] <= EPC */
    5857    mfc0    $26,    $13
    59     sw      $26,    33*4($27)   /* ctx[33] <= CR */
     58    sw      $26,    33*4($27)   /* ctx[33] <= CR  */
     59    mfc0    $26,    $12
     60    sw      $26,    34*4($27)   /* ctx[34] <= SR  */
     61    mfc0    $26,    $8
     62    sw      $26,    35*4($27)   /* ctx[34] <= BVAR */
    6063    mfc2    $26,    $0
    61     sw      $26,    35*4($27)   /* ctx[35] <= PTPR */
     64    sw      $26,    39*4($27)   /* ctx[35] <= PTPR */
    6265
    6366    /* restore next task context */
    6467    add     $27,    $5,     $0  /* $27<= &context[next_task_id] */
    6568
    66     lw      $26,    35*4($27)
    67     mtc2    $26,    $0          /* restore PTPR */
    68     lw      $26,    0*4($27)
    69     mtc0    $26,    $12         /* restore SR */
    7069    .set noat
    7170    lw      $1,     1*4($27)    /* restore $1 */
     
    107106    lw      $26,    33*4($27)
    108107    mtc0    $26,    $13         /* restore CR */
     108    lw      $26,    34*4($27)
     109    mtc0    $26,    $12         /* restore SR */
     110    lw      $26,    35*4($27)
     111    mtc0    $26,    $8          /* restore BVAR */
     112    lw      $26,    39*4($27)
     113    mtc2    $26,    $0          /* restore PTPR */
    109114
    110115    /* activate DTLB */
Note: See TracChangeset for help on using the changeset viewer.