summaryrefslogtreecommitdiff
path: root/software/smp/smp.c
diff options
context:
space:
mode:
Diffstat (limited to 'software/smp/smp.c')
-rw-r--r--software/smp/smp.c40
1 files changed, 0 insertions, 40 deletions
diff --git a/software/smp/smp.c b/software/smp/smp.c
deleted file mode 100644
index 36c9db9..0000000
--- a/software/smp/smp.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <stdio.h>
-#include <unistd.h>
-#include "atomic.h"
-void write_hex(int, unsigned long);
-
-atomic_t tty_lock = ATOMIC_INIT(0);
-
-void get_lock(atomic_t *lock)
-{
- while (atomic_xchg(lock, 1) == 1);
- mb();
-}
-
-void put_lock(atomic_t *lock)
-{
- mb();
- atomic_xchg(lock, 0);
-}
-
-int secondary_main(int hartid)
-{
- volatile int counter;
-
- while (1) {
- get_lock(&tty_lock);
- write(1, "hello world from hart ", 22);
- char s[] = {'0', '\n', '\0'};
- s[0] += hartid;
- write(1, s, 2);
- put_lock(&tty_lock);
-
- for (counter = 0; counter < 10000 + 100*hartid; ++counter)
- mb();
- }
-}
-
-int main()
-{
- return secondary_main(0);
-}