/* #include */ /* #include */ /* #include */ /* #include "mapping_memory.h" */ /* #include "sim2os.h" */ /* #include "service_clock.h" */ /* unsigned int service_clock () */ /* { */ /* unsigned int * addr = (unsigned int *)(SIM2OS_BASE); */ /* unsigned int result = -1; */ /* __lock_init (service_lock); */ /* __lock_acquire (service_lock); */ /* *(addr+0) = (unsigned int)SERVICE_CLOCK; */ /* // memory synchronisation */ /* // (else read (with an address that depend not of store address) can be lunch before a store) */ /* asm("l.msync;"); */ /* result = (clock_t) *(addr+1); */ /* if (result == (clock_t)-1) */ /* errno = (int) *(addr+2); */ /* __lock_release (service_lock); */ /* return result; */ /* } */