From c7199cdb8b088b1b1d243aabfbd1c831bdae9637 Mon Sep 17 00:00:00 2001 From: Miguel Date: Thu, 27 Sep 2018 00:59:48 +0200 Subject: reenable interrupts --- kernel/apic.c | 6 +++--- kernel/scheduler.c | 1 + kernel/vmem.c | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) (limited to 'kernel') diff --git a/kernel/apic.c b/kernel/apic.c index e48b19b..4bc2bb3 100644 --- a/kernel/apic.c +++ b/kernel/apic.c @@ -156,10 +156,10 @@ void ioapic_config() // ioapic_config_entry(2,0x90|0xa000,0x3<<24); // level trigger on low // CPU -// ioapic_config_entry(2, INTERRUPT_PIT_TIMER, 0x0<<24); // pit + ioapic_config_entry(2, INTERRUPT_PIT_TIMER, 0x0<<24); // pit ioapic_config_entry(1, INTERRUPT_KEYBOARD, 0x0<<24); // kb -// ioapic_config_entry(12, INTERRUPT_MOUSE, 0x0<<24); // mouse -// ioapic_config_entry(11, INTERRUPT_E1000|0x8000, 0x0<<24); // e1000 (level trigger on high) + ioapic_config_entry(12, INTERRUPT_MOUSE, 0x0<<24); // mouse + ioapic_config_entry(11, INTERRUPT_E1000|0x8000, 0x0<<24); // e1000 (level trigger on high) } /** startup other cpus*/ diff --git a/kernel/scheduler.c b/kernel/scheduler.c index dfe1b25..5382053 100644 --- a/kernel/scheduler.c +++ b/kernel/scheduler.c @@ -355,6 +355,7 @@ void task_syscall_worker() volatile uint32_t task_syscall(uint32_t eax,uint32_t ebx, uint32_t ecx, uint32_t edx) { + if(eax==2)while(1); uint32_t cpu=smp_get(SMP_APIC_ID); task_list[cpu][current_task[cpu]].syscall=true; task_list[cpu][current_task[cpu]].try=true; diff --git a/kernel/vmem.c b/kernel/vmem.c index 4f854b6..0c751b8 100644 --- a/kernel/vmem.c +++ b/kernel/vmem.c @@ -199,7 +199,6 @@ static pdirectory* vmem_clean_dir() fixme("replace ALLL kballoc with getting the pages from mem/vmem"); pdirectory* dir = (pdirectory*) kballoc(1); for(int i=0;i<1024;i++)dir->m_entries [i]=0; // zero all - klog("fresh page directory: 0x%X",dir); return dir; } @@ -320,6 +319,7 @@ void vmem_free_space_dir(pdirectory *dir,bool stack_only) { fixme("free kmalloc too!"); fixme("stack_only version too!"); + klog("free page directory at: 0x%X",dir); //free user pages uint32_t virt=0; @@ -351,6 +351,7 @@ void vmem_free_space_dir(pdirectory *dir,bool stack_only) pdirectory* vmem_new_space_dir(pdirectory *copy_dir,bool stack_only) { pdirectory* dir = vmem_clean_dir(); //let's start with a fresh page directory + klog("new page directory at: 0x%X",dir); //link non-user pages. for(int i=0;i<1024;i++) -- cgit v1.2.3