From 257c13ef064e20bfbe7330004c76a77f8a73b86b Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Fri, 22 Jan 2021 13:45:09 +0100 Subject: os: Remove old threading code. --- os/thread.cpp | 4 ---- os/thread.h | 63 ----------------------------------------------------------- os/time.h | 3 +-- 3 files changed, 1 insertion(+), 69 deletions(-) delete mode 100644 os/thread.cpp delete mode 100644 os/thread.h (limited to 'os') diff --git a/os/thread.cpp b/os/thread.cpp deleted file mode 100644 index 426fffd..0000000 --- a/os/thread.cpp +++ /dev/null @@ -1,4 +0,0 @@ -#include "thread.h" - -Thread Thread::main_thread __attribute__ ((init_priority (1000))); -Thread* Thread::active_thread = &Thread::main_thread; diff --git a/os/thread.h b/os/thread.h deleted file mode 100644 index 2213d6f..0000000 --- a/os/thread.h +++ /dev/null @@ -1,63 +0,0 @@ -#ifndef THREAD_H -#define THREAD_H - -#include - -class Thread { - friend void switch_context(); - - private: - struct int_frame_t { - // Software saved. - uint32_t r4; - uint32_t r5; - uint32_t r6; - uint32_t r7; - uint32_t r8; - uint32_t r9; - uint32_t r10; - uint32_t r11; - uint32_t lr_ex; - - // Hardware saved. - uint32_t r0; - uint32_t r1; - uint32_t r2; - uint32_t r3; - uint32_t r12; - uint32_t lr; - uint32_t pc; - uint32_t psr; - }; - - int_frame_t* sp; - - Thread* next; - - static Thread* active_thread; - static Thread main_thread; - - Thread() : next(this) {} - - public: - Thread(void* stack, uint32_t stack_size, void (*func)()) { - sp = (int_frame_t*)((uint8_t*)stack + stack_size - sizeof(int_frame_t)); - - sp->lr_ex = 0xfffffff9; - - // frame->lr = thread exit handler - sp->pc = (uint32_t)func; - sp->psr = 0x01000000; - } - - void start() { - next = active_thread->next; - active_thread->next = this; - } - - static inline void yield() { - asm volatile("svc 0"); - } -}; - -#endif diff --git a/os/time.h b/os/time.h index f4e3ce6..eddba32 100644 --- a/os/time.h +++ b/os/time.h @@ -1,7 +1,7 @@ #ifndef TIME_H #define TIME_H -#include "thread.h" +#include struct STK_t { volatile uint32_t CTRL; @@ -28,7 +28,6 @@ class Time { inline static void sleep(uint32_t ms) { ms += systime; while(systime < ms) { - Thread::yield(); } } }; -- cgit v1.2.3