diff options
author | Alexis211 <alexis211@gmail.com> | 2009-10-18 10:34:11 +0200 |
---|---|---|
committer | Alexis211 <alexis211@gmail.com> | 2009-10-18 10:34:11 +0200 |
commit | 22c06556ccbd07f4ef7da39a62d10e03fbee3fe0 (patch) | |
tree | 8b45002ef347b625c9134091a7dfad9ed16c5274 /Source/Kernel/SyscallManager | |
parent | 7dc8c19f7d6220c9e3dac43796faf77c4f11974f (diff) | |
download | Melon-22c06556ccbd07f4ef7da39a62d10e03fbee3fe0.tar.gz Melon-22c06556ccbd07f4ef7da39a62d10e03fbee3fe0.zip |
Loading binaries now is done through a much more unified interface.
Diffstat (limited to 'Source/Kernel/SyscallManager')
-rw-r--r-- | Source/Kernel/SyscallManager/IDT.ns.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/Kernel/SyscallManager/IDT.ns.cpp b/Source/Kernel/SyscallManager/IDT.ns.cpp index 0744e56..46e6ee2 100644 --- a/Source/Kernel/SyscallManager/IDT.ns.cpp +++ b/Source/Kernel/SyscallManager/IDT.ns.cpp @@ -79,7 +79,11 @@ extern "C" void interrupt_handler(registers_t regs) { Task::currProcess()->getVirtualTerminal()->put(WChar(regs.ebx)); } else if (regs.eax == 0xFFFFFF02) { Task::currThread()->sleep(regs.ebx); + } else if (regs.eax == 0xFFFFFF03) { + Task::currProcess()->getVirtualTerminal()->writeHex(regs.ebx); } + //Some syscalls have maybee modified current page directory, set it back to one for current process + Task::currProcess()->getPagedir()->switchTo(); } if (regs.int_no == 66) { //This syscall signals to kernel that thread ended. Task::currentThreadExits(regs.eax); //DO NOT COUNT ON COMMING BACK FROM HERE |