summaryrefslogtreecommitdiff
path: root/Source/Kernel/TaskManager
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Kernel/TaskManager')
-rw-r--r--Source/Kernel/TaskManager/Task.ns.cpp7
-rw-r--r--Source/Kernel/TaskManager/V86/V86Thread.class.cpp2
2 files changed, 4 insertions, 5 deletions
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]) {