remove old thread code (state, inc...)
This commit is contained in:
@ -28,7 +28,6 @@
|
||||
#ifndef __Thread_include__
|
||||
#define __Thread_include__
|
||||
|
||||
#include "kernel/threads/ThreadState.h"
|
||||
#include "user/lib/Logger.h"
|
||||
|
||||
class Thread {
|
||||
@ -55,10 +54,10 @@ public:
|
||||
}
|
||||
|
||||
// Thread aktivieren
|
||||
void start();
|
||||
void start() const;
|
||||
|
||||
// Umschalten auf Thread 'next'
|
||||
void switchTo(Thread& next);
|
||||
void switchTo(Thread& next) const;
|
||||
|
||||
// Ask thread to terminate itself
|
||||
void suicide() { running = false; }
|
||||
|
@ -1,30 +0,0 @@
|
||||
;*****************************************************************************
|
||||
;* *
|
||||
;* C O R O U T I N E *
|
||||
;* *
|
||||
;*---------------------------------------------------------------------------*
|
||||
;* Beschreibung: Assemblerdarstellung der 'struct CoroutineState' aus *
|
||||
;* CoroutineState.h *
|
||||
;* *
|
||||
;* Die Reihenfolge der Registerbezeichnungen muss unbedingt *
|
||||
;* mit der von 'struct CoroutineState' uebereinstimmen. *
|
||||
;* *
|
||||
;* Autor: Olaf Spinczyk, TU Dortmund *
|
||||
;*****************************************************************************
|
||||
|
||||
; Nicht-fluechtige Register des Intel 80386 Prozessors
|
||||
|
||||
; Die folgenden Angaben belegen ebx_offset mit dem Wert 0, esi_offset mit 4
|
||||
; edi_offset mit 8 usw. Dies entspricht den Abstaenden der Elemente ebx, esi,
|
||||
; edi usw. der Struktur CoroutineState zum Anfang der Struktur (in Bytes).
|
||||
|
||||
[ABSOLUTE 0]
|
||||
ebx_offset: resd 1
|
||||
esi_offset: resd 1
|
||||
edi_offset: resd 1
|
||||
ebp_offset: resd 1
|
||||
esp_offset: resd 1
|
||||
eax_offset: resd 1
|
||||
ecx_offset: resd 1
|
||||
edx_offset: resd 1
|
||||
efl_offset: resd 1
|
@ -1,45 +0,0 @@
|
||||
/*****************************************************************************
|
||||
* *
|
||||
* C O R O U T I N E S T A T E *
|
||||
* *
|
||||
*---------------------------------------------------------------------------*
|
||||
* Beschreibung: Die Struktur CoroutineState dient dazu, bei einem *
|
||||
* Koroutinenwechsel die Werte der nicht-fluechtigen *
|
||||
* Register zu sichern. Beim GNU C Compiler sind eax, ecx *
|
||||
* und edx fluechtige Register, die bei Funktionsaufrufen *
|
||||
* und somit auch bei einem Koroutinenwechsel keine spaeter *
|
||||
* noch benoetigten Werte haben duerfen. Daher muss in der *
|
||||
* Struktur CoroutineState auch kein Platz fuer sie bereit- *
|
||||
* gestellt werden. *
|
||||
* *
|
||||
* Achtung: Fuer den Zugriff auf die Elemente von *
|
||||
* struct CoroutineState aus einer Assemblerfunktion *
|
||||
* heraus werden in der Datei Coroutine.inc Namen fuer die *
|
||||
* benoetigten Abstaende der einzelnen Elemente zum Anfang *
|
||||
* der Struktur definiert. Damit dann auch auf die richtigen*
|
||||
* Elemente zugegriffen wird, sollten sich die Angaben von *
|
||||
* CoroutineState.h und Coroutine.inc exakt entsprechen. *
|
||||
* Wer also CoroutineState.h aendert, muss auch *
|
||||
* Coroutine.inc anpassen (und umgekehrt.) *
|
||||
* *
|
||||
* Autor: Olaf Spinczyk, TU Dortmund *
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef __CoroutineState_include__
|
||||
#define __CoroutineState_include__
|
||||
|
||||
struct ThreadState {
|
||||
void* ebx;
|
||||
void* esi;
|
||||
void* edi;
|
||||
void* ebp;
|
||||
void* esp;
|
||||
// nachfolgend die fluechtige Register
|
||||
// wichtig fuer preemptives Multitasking
|
||||
void* eax;
|
||||
void* ecx;
|
||||
void* edx;
|
||||
void* efl;
|
||||
};
|
||||
|
||||
#endif
|
@ -16,9 +16,6 @@
|
||||
;* Michael Schoettner, HHU, 3.7.2022 *
|
||||
;******************************************************************************
|
||||
|
||||
; fuer preemptives Umschalten zwischen Threads
|
||||
%include "kernel/threads/Thread.inc"
|
||||
|
||||
|
||||
; Multiboot-Konstanten
|
||||
MULTIBOOT_PAGE_ALIGN equ 1<<0
|
||||
|
Reference in New Issue
Block a user