T: bug fixes for the T cache

- 'busy' has to be handled in a more atomic fashion to avoid crazy
  runtime race conditions
- the basic simulator is too fast sometimes; rewrite the accesses to
  the T cache to avoid there again crazy behaviors

Hopefully that's better...
This commit is contained in:
Cedric Roux
2018-08-17 12:25:13 +02:00
parent d4a8b5f35e
commit 475d5eb827
4 changed files with 43 additions and 8 deletions
+1 -1
View File
@@ -337,7 +337,7 @@ static void forward(void *_forwarder, char *buf, int size)
static void wait_message(void)
{
while (T_local_cache[T_busylist_head].busy == 0) usleep(1000);
while ((T_local_cache[T_busylist_head].busy & 0x02) == 0) usleep(1000);
}
void T_local_tracer_main(int remote_port, int wait_for_tracer,