summaryrefslogtreecommitdiff
path: root/Source/Kernel/TaskManager/V86/V86Thread.class.h
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-11-08 17:23:46 +0100
committerAlexis211 <alexis211@gmail.com>2009-11-08 17:23:46 +0100
commit87a1dd39d0036f55f5bdbf4ef8921a4767d95825 (patch)
tree3eeb650ec3f12c031a0aa0d8b2571c6b15427d86 /Source/Kernel/TaskManager/V86/V86Thread.class.h
parentc712d7f6f801b073920c7b914ee1b95358113893 (diff)
downloadMelon-87a1dd39d0036f55f5bdbf4ef8921a4767d95825.tar.gz
Melon-87a1dd39d0036f55f5bdbf4ef8921a4767d95825.zip
Nothing, really : put some utility functions in V86.ns
Diffstat (limited to 'Source/Kernel/TaskManager/V86/V86Thread.class.h')
-rw-r--r--Source/Kernel/TaskManager/V86/V86Thread.class.h21
1 files changed, 1 insertions, 20 deletions
diff --git a/Source/Kernel/TaskManager/V86/V86Thread.class.h b/Source/Kernel/TaskManager/V86/V86Thread.class.h
index b14670b..591bea6 100644
--- a/Source/Kernel/TaskManager/V86/V86Thread.class.h
+++ b/Source/Kernel/TaskManager/V86/V86Thread.class.h
@@ -3,20 +3,8 @@
#include <TaskManager/Thread.class.h>
-typedef u32int FARPTR;
-#define MK_FP(seg, off) ((FARPTR)(((u32int)(seg) << 16) | (u16int) (off)))
-#define FP_SEG(fp) (((FARPTR)fp) >> 16)
-#define FP_OFF(fp) (((FARPTR)fp) & 0xFFFF)
-#define FP_TO_LINEAR(seg, off) ((void*)((((u16int)(seg)) << 4) + ((u16int)(off))))
-inline FARPTR LINEAR_TO_FP(void* ptr) {
- u32int seg, off;
- off = ((size_t) ptr) & 0xF;
- seg = ((size_t) ptr - ((size_t) ptr & 0xF)) / 16;
- return MK_FP(seg, off);
-}
-
struct v86_retval_t {
- registers_t regs;
+ registers_t *regs;
bool finished;
};
@@ -27,10 +15,6 @@ struct v86_function_t {
#define V86_STACKSIZE 1024
-// (in segments)
-#define V86_ALLOC_START 0x1000
-#define V86_ALLOC_END 0x9000
-
#define EFLAGS_IF 0x200
#define EFLAGS_VM 0x20000
#define VALID_FLAGS 0xDFF
@@ -44,9 +28,6 @@ class V86Thread : public Thread {
bool m_if; //V86 IF flag
- static u16int allocSeg;
- static u16int alloc(u16int length); //Returns a segment number
-
static void runV86(V86Thread* t, u32int data, u32int ss, u32int cs);
public: