|
Last change
on this file was
101,
checked in by rosiere, 17 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.