Changeset 817 for soft


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

Add some utility functions into giet_common/utils.

Location:
soft/giet_vm/giet_common
Files:
2 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
  • soft/giet_vm/giet_common/utils.h

    r709 r817  
    5656extern unsigned int _get_proctime(void);
    5757
     58extern void         _set_proctime( unsigned int value );
     59
    5860extern void         _it_disable( unsigned int* save_sr_ptr );
    5961
     
    6365
    6466extern void         _set_sr(unsigned int value);
     67
     68extern void         _cpu_sync();
    6569
    6670///////////////////////////////////////////////////////////////////////////
     
    154158extern void         _break( char* str);
    155159
     160extern void         _sleep( unsigned int cycles );
     161
    156162extern unsigned int _strlen( char* str);
    157163
Note: See TracChangeset for help on using the changeset viewer.