From d9c3fba928162e7a89349f8b160eb479ad41cbea Mon Sep 17 00:00:00 2001 From: Nathaniel Graff Date: Thu, 7 Mar 2019 09:29:05 -0800 Subject: Remove legacy examples Signed-off-by: Nathaniel Graff --- software/smp/Makefile | 6 ------ software/smp/atomic.h | 29 ----------------------------- software/smp/smp.c | 40 ---------------------------------------- 3 files changed, 75 deletions(-) delete mode 100644 software/smp/Makefile delete mode 100644 software/smp/atomic.h delete mode 100644 software/smp/smp.c (limited to 'software/smp') diff --git a/software/smp/Makefile b/software/smp/Makefile deleted file mode 100644 index 4131ffc..0000000 --- a/software/smp/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -TARGET = smp -C_SRCS += smp.c -CFLAGS += -O2 -fno-builtin-printf -DENABLE_SMP - -BSP_BASE = ../../bsp -include $(BSP_BASE)/env/common.mk diff --git a/software/smp/atomic.h b/software/smp/atomic.h deleted file mode 100644 index 074c6a2..0000000 --- a/software/smp/atomic.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef SIFIVE_ATOMIC_H -#define SIFIVE_ATOMIC_H - -#define ATOMIC_INIT(x) \ - { \ - .counter = (x), \ - } - -typedef struct { - int counter; -} atomic_t; - -static inline int atomic_xchg(atomic_t *v, int n) -{ - register int c; - - __asm__ __volatile__ ( - "amoswap.w.aqrl %0, %2, %1" - : "=r" (c), "+A" (v->counter) - : "r" (n)); - return c; -} - -static inline void mb(void) -{ - __asm__ __volatile__ ("fence"); -} - -#endif 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 -#include -#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); -} -- cgit v1.2.3