source: trunk/Softwares/Common/src/c/service_clock.c @ 144

Last change on this file since 144 was 101, checked in by rosiere, 16 years ago

1) Add soc test
2) fix bug (Pc management, Decod and execute, Update prediction ...)

  • Property svn:keywords set to Id
File size: 795 bytes
Line 
1/* #include <time.h> */
2/* #include <errno.h> */
3/* #include <sys/lock.h> */
4/* #include "mapping_memory.h" */
5/* #include "sim2os.h" */
6/* #include "service_clock.h" */
7
8/* unsigned int service_clock () */
9/* { */
10/*   unsigned int * addr   = (unsigned int *)(SIM2OS_BASE); */
11/*   unsigned int   result = -1; */
12
13/*   __lock_init    (service_lock); */
14 
15/*   __lock_acquire (service_lock); */
16
17/*   *(addr+0) = (unsigned int)SERVICE_CLOCK; */
18 
19/*   // memory synchronisation */
20/*   // (else read (with an address that depend not of store address) can be lunch before a store) */
21/*   asm("l.msync;"); */
22
23/*   result    = (clock_t) *(addr+1); */
24 
25/*   if (result == (clock_t)-1) */
26/*     errno = (int) *(addr+2); */
27
28/*   __lock_release (service_lock); */
29
30/*   return result; */
31/* } */
Note: See TracBrowser for help on using the repository browser.