Ignore:
Timestamp:
Jun 29, 2014, 1:07:43 PM (10 years ago)
Author:
alain
Message:

Using the giet_lock_t structure in _get_lock() / _release_lock() functions,
to have only one lock per cache line.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/giet_common/vmem.c

    r345 r351  
    9595    unsigned long long pte2_paddr;
    9696
    97     volatile unsigned int pte2_msb;
    98     volatile unsigned int pte2_lsb;
     97    unsigned int pte2_msb;
     98    unsigned int pte2_lsb;
    9999    unsigned int flags_value;
    100100    unsigned int ppn_value;
     
    126126                "mtc2    $3,     $1          \n"     /* DTLB off             */
    127127
     128                "move    $4,     %3          \n"     /* $4 <= pte_lsb        */
    128129                "mtc2    %2,     $24         \n"     /* PADDR_EXT <= msb     */
    129                 "lw      %0,     0(%3)       \n"     /* read flags           */
    130                 "lw      %1,     4(%3)       \n"     /* read ppn             */
     130                "lw      %0,     0($4)       \n"     /* read flags           */
     131                "lw      %1,     4($4)       \n"     /* read ppn             */
    131132                "mtc2    $0,     $24         \n"     /* PADDR_EXT <= 0       */
    132133
     
    134135                : "=r" (flags_value), "=r" (ppn_value)
    135136                : "r"  (pte2_msb)   , "r"  (pte2_lsb)
    136                 : "$2", "$3");
     137                : "$2", "$3", "$4" );
    137138
    138139    // restore saved status register
Note: See TracChangeset for help on using the changeset viewer.