diff options
Diffstat (limited to 'kernel/smp.c')
| -rw-r--r-- | kernel/smp.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/kernel/smp.c b/kernel/smp.c index e2de6fe..619463a 100644 --- a/kernel/smp.c +++ b/kernel/smp.c @@ -24,23 +24,25 @@ uint32_t local_apic_addr; void smp_main() { - x86_cli(); // klog("local apic_addr:0x%08X",local_apic_addr); - while(1); //TODO!!! uint32_t *reg=local_apic_addr+FOOLOS_APIC_ID; - // klog("local apic id: 0x%08X",(*reg)); + //klog("local apic id: 0x%08X",(*reg)); *reg=local_apic_addr+FOOLOS_APIC_SPUR_INT; *reg|=0x100;//0xffffffff; // all bits 1 and interrupt 255 // *reg=0;//xffffffff; // all bits 1 and interrupt 255 - //int_install(); +// int_install(); + +// x86_sti(); - while(1); - switch_to_user_mode(); + + while(1)__asm__("hlt"); + +// switch_to_user_mode(); // int x=1/0; while(1); |
