Ignore:
Timestamp:
Apr 28, 2016, 1:12:22 PM (8 years ago)
Author:
cfuguet
Message:

Add some utility functions into giet_common/utils.

File:
1 edited

Legend:

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

    r745 r817  
    8080    return ret;
    8181}
    82 
     82////////////////////////////
     83void _set_proctime( unsigned int val )
     84{
     85    asm volatile ( "mtc0     $0,     $9      \n"
     86                   :
     87                   :"r" (val));
     88}
    8389/////////////////////////////////////////////
    8490void _it_disable( unsigned int * save_sr_ptr)
     
    119125}
    120126
     127void _cpu_sync()
     128{
     129    asm volatile("sync" ::: "memory");
     130}
    121131
    122132///////////////////////////////////////////////////////////////////////////
     
    585595                  : "r" (delay)
    586596                  : "$3" );
     597}
     598
     599/////////////////////////////////////
     600void _sleep( unsigned int cycles )
     601{
     602    unsigned int delay = cycles;
     603    asm volatile( ".set noreorder                 \n"
     604                  "1:                             \n"
     605                  "bnez  %0,   1b                 \n"
     606                  "addi  %0,   %0,  -1            \n"
     607                  ".set reorder                   \n"
     608                  : "+r" (delay) );
    587609}
    588610
Note: See TracChangeset for help on using the changeset viewer.