From 9bd6fc9b337d760e23ebc9cb9b954a6205bbaa1c Mon Sep 17 00:00:00 2001 From: Alex AUVOLAT Date: Tue, 28 Oct 2014 11:50:09 +0100 Subject: Revive Melon --- Source/Kernel/TaskManager/Task.ns.cpp | 7 +++---- Source/Kernel/TaskManager/V86/V86Thread.class.cpp | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'Source/Kernel/TaskManager') diff --git a/Source/Kernel/TaskManager/Task.ns.cpp b/Source/Kernel/TaskManager/Task.ns.cpp index 75f9c3d..44b5e3a 100644 --- a/Source/Kernel/TaskManager/Task.ns.cpp +++ b/Source/Kernel/TaskManager/Task.ns.cpp @@ -97,12 +97,11 @@ void doSwitch() { t->setKernelStack(); asm volatile(" \ - mov %0, %%ebp; \ - mov %1, %%esp; \ - mov %2, %%ecx; \ + mov %%eax, %%ebp; \ + mov %%ebx, %%esp; \ mov $0x12345, %%eax; \ jmp *%%ecx;" - : : "r"(ebp), "r"(esp), "r"(eip)); + : : "a"(ebp), "b"(esp), "c"(eip)); } void triggerSwitch() { diff --git a/Source/Kernel/TaskManager/V86/V86Thread.class.cpp b/Source/Kernel/TaskManager/V86/V86Thread.class.cpp index 5002225..63bc2d8 100644 --- a/Source/Kernel/TaskManager/V86/V86Thread.class.cpp +++ b/Source/Kernel/TaskManager/V86/V86Thread.class.cpp @@ -79,7 +79,7 @@ bool V86Thread::handleV86GPF(registers_t *regs) { u16int *ivt = 0; u16int *stack = (u16int*)FP_TO_LINEAR(regs->ss, (regs->useresp & 0xFFFF)); u32int *stack32 = (u32int*)stack; - bool is_operand32 = false, is_address32 = false; + bool is_operand32 = false; while (true) { switch (ip[0]) { -- cgit v1.2.3