Cleanup TODOS

This commit is contained in:
Baptiste Wicht 2014-01-28 22:28:36 +01:00
parent 2d0413f0ca
commit e20a4fb164
3 changed files with 11 additions and 7 deletions

View File

@ -16,8 +16,8 @@ const char KEY_ENTER = 0x1C;
const char KEY_BACKSPACE = 0x0E;
const char KEY_UP = 0x48;
const char KEY_DOWN = 0x50;
const char KEY_LEFT_SHIFT = 42; //TODO TO hex
const char KEY_RIGHT_SHIFT = 54; //TODO TO hex
const char KEY_LEFT_SHIFT = 0x2A;
const char KEY_RIGHT_SHIFT = 0x36;
void install_driver();
char get_char();

View File

@ -77,7 +77,7 @@ void install_idt(){
}
void install_isrs(){
//TODO The GDT Selector should be computed in a better way
//TODO The Flags should be computed in a better way
idt_set_gate(0, _isr0, gdt::LONG_SELECTOR, 0x8E);
idt_set_gate(1, _isr1, gdt::LONG_SELECTOR, 0x8E);
@ -135,6 +135,8 @@ void remap_irqs(){
}
void install_irqs(){
//TODO The Flags should be computed in a better way
idt_set_gate(32, _irq0, gdt::LONG_SELECTOR, 0x8E);
idt_set_gate(33, _irq1, gdt::LONG_SELECTOR, 0x8E);
idt_set_gate(34, _irq2, gdt::LONG_SELECTOR, 0x8E);
@ -154,6 +156,8 @@ void install_irqs(){
}
void install_syscalls(){
//TODO The Flags should be computed in a better way
idt_set_gate(interrupt::SYSCALL_FIRST+0, _syscall0, gdt::LONG_SELECTOR, 0xEE);
idt_set_gate(interrupt::SYSCALL_FIRST+1, _syscall1, gdt::LONG_SELECTOR, 0xEE);
idt_set_gate(interrupt::SYSCALL_FIRST+2, _syscall2, gdt::LONG_SELECTOR, 0xEE);

View File

@ -35,8 +35,8 @@ void idle_task(){
}
}
size_t idle_stack[64];
size_t idle_kernel_stack[4096]; //TODO Perhaps not good
char idle_stack[scheduler::user_stack_stack];
char idle_kernel_stack[scheduler::kernel_stack_size];
void create_idle_task(){
auto idle_process = scheduler::new_process();
@ -49,8 +49,8 @@ void create_idle_task(){
idle_process.regs.rflags = 0x200;
idle_process.regs.rip = reinterpret_cast<size_t>(&idle_task);
idle_process.regs.rsp = reinterpret_cast<size_t>(&idle_stack[63]);
idle_process.kernel_rsp = reinterpret_cast<size_t>(&idle_kernel_stack[4095]);
idle_process.regs.rsp = reinterpret_cast<size_t>(&idle_stack[scheduler::user_stack_size - 1]);
idle_process.kernel_rsp = reinterpret_cast<size_t>(&idle_kernel_stack[scheduler::kernel_stack_size - 1]);
idle_process.regs.cs = gdt::LONG_SELECTOR;
idle_process.regs.ds = gdt::DATA_SELECTOR;