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.