summaryrefslogtreecommitdiff
path: root/Source/Kernel/Core
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-10-11 18:38:05 +0200
committerAlexis211 <alexis211@gmail.com>2009-10-11 18:38:05 +0200
commit3be1804db57e5d1ff08f46c7b7418729da631c26 (patch)
treee91e0197b3009080647f448542ff2a16c00946cb /Source/Kernel/Core
parent244df8bd2c52db9d9c9b59b917206dafcd275ebe (diff)
downloadMelon-3be1804db57e5d1ff08f46c7b7418729da631c26.tar.gz
Melon-3be1804db57e5d1ff08f46c7b7418729da631c26.zip
Tasking now works with linked lists
Diffstat (limited to 'Source/Kernel/Core')
-rw-r--r--Source/Kernel/Core/Sys.ns.cpp6
-rw-r--r--Source/Kernel/Core/kmain.wtf.cpp4
2 files changed, 5 insertions, 5 deletions
diff --git a/Source/Kernel/Core/Sys.ns.cpp b/Source/Kernel/Core/Sys.ns.cpp
index a54c387..c0218d8 100644
--- a/Source/Kernel/Core/Sys.ns.cpp
+++ b/Source/Kernel/Core/Sys.ns.cpp
@@ -82,8 +82,9 @@ void panic(char *message, char *file, u32int line) {
void panic(char *message, registers_t *regs, char *file, u32int line) {
asm volatile("cli");
- SimpleVT vt(20, 70, 7, 1);
+ SimpleVT vt(21, 70, 7, 1);
vt.map();
+ vt.write("\n");
vt << "PANIC : " << message << "\n => in " << file << " at " << (s32int)line << "\n\n";
vt << "ds=" << (u32int)regs->ds << ", eip=" << (u32int)regs->eip << ", cs=" << (u32int)regs->cs << "\n";
@@ -93,14 +94,13 @@ void panic(char *message, registers_t *regs, char *file, u32int line) {
", edx=" << (u32int)regs->edx << "\n";
vt << "int_no=" << (s32int)regs->int_no << ", err_code=" << (u32int)regs->err_code << "\n";
vt << "eflags=" << (u32int)regs->eflags << ", useresp=" << (u32int)regs->useresp << ", ss=" << (u32int)regs->ss << "\n\n";
+ while (1) asm volatile("cli; hlt");
u32int *v = (u32int*)regs->ebp;
for (int i = 0; i < 10; i++) {
vt << "ebp=" << (u32int)v << ", value=" << (u32int)(v[1]) << "\n";
v = (u32int*)(*v);
}
-
- while (1) asm volatile("hlt");
}
//Used by ASSERT() macro (see common.wtf.h)
diff --git a/Source/Kernel/Core/kmain.wtf.cpp b/Source/Kernel/Core/kmain.wtf.cpp
index 66e6a8a..8b6a0de 100644
--- a/Source/Kernel/Core/kmain.wtf.cpp
+++ b/Source/Kernel/Core/kmain.wtf.cpp
@@ -78,7 +78,7 @@ u32int logoAnimation(void* p) {
vt.putChar(y, (i + (y%3)), wat[(i + (y%3)) * melonLogoLines + y]);
}
}
- Task::currentThread->sleep(20);
+ Task::currThread()->sleep(20);
}
return 0;
}
@@ -171,7 +171,7 @@ void kmain(multiboot_info_t* mbd, u32int magic) {
kvt->unmap();
while (KernelShell::getInstances() > 0) {
- Task::currentThread->sleep(100);
+ Task::currThread()->sleep(100);
}
Log::log(KL_STATUS, "kmain : All kernel shells finished. Halting.");