Ignore:
Timestamp:
Aug 7, 2012, 6:37:49 PM (12 years ago)
Author:
alain
Message:

Introducing a new release where all initialisation
is done in the boot code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/sys/vm_handler.c

    r184 r189  
    118118
    119119        // gets ppn_value and flags_value, after temporary DTLB desactivation
    120         asm volatile (
    121                        "li      $27,    0xFFFFFFFE  \n"     /* Mask for IE bits     */
    122                        "mfc0    $8,     $12         \n"     /* $8 <= SR             */
    123                        "and     $26,    $8,    $27 \n"      /* $26 <= SR && 0xFFFFFFE */
    124                        "mtc0    $26,    $12         \n"     /* disable Interrupts   */
     120        asm volatile ( "li      $27,    0xFFFFFFFE  \n"     /* Mask for IE bits     */
     121                       "mfc0    $26,    $12         \n"     /* save SR              */
     122                       "and     $27,    $26,    $27 \n"
     123                       "mtc0    $27,    $12         \n"     /* disable Interrupts   */
     124
     125                       "li      $27,    0xB         \n"     
     126                       "mtc2    $27,    $1          \n"     /* DTLB unactivated     */
    125127
    126128                       "move    $27,    %2          \n"     /* $27 <= pte2          */
    127                        "li      $26,    0xB         \n"     /* DTLB unactivated     */
    128                        "mtc2    $26,    $1          \n"
    129129                       "lw      %0,     0($27)      \n"     /* read flags           */
    130130                       "lw      %1,     4($27)      \n"     /* read ppn             */
    131                        "li      $26,    0xF         \n"
    132                        "mtc2    $26,    $1          \n"     /* DTLB activated       */
    133131
    134                        "or     $26,     $8,    $0   \n"     /* SR previous state    */
     132                       "li      $27,    0xF         \n"
     133                       "mtc2    $27,    $1          \n"     /* DTLB activated       */
     134
     135                       "mtc0    $26,    $12         \n"     /* restore SR           */
    135136                        :"=r"(flags_value), "=r"(ppn_value)
    136137                        :"r"(pte2)
Note: See TracChangeset for help on using the changeset viewer.