diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -15,8 +15,6 @@ extern char _binary_user1_start[], _binary_user1_size[]; extern char _binary_usertests_start[], _binary_usertests_size[]; extern char _binary_userfs_start[], _binary_userfs_size[]; -char buf[512]; - int main() { @@ -24,8 +22,6 @@ main() if (acpu) { cprintf("an application processor\n"); - release_spinlock(&kernel_lock); - acquire_spinlock(&kernel_lock); idtinit(); // CPU's idt lapic_init(cpu()); lapic_timerinit(); @@ -39,7 +35,6 @@ main() cprintf("\nxV6\n\n"); pic_init(); // initialize PIC - mp_init(); // multiprocessor kinit(); // physical memory allocator tvinit(); // trap vectors idtinit(); // CPU's idt @@ -61,11 +56,14 @@ main() p->ppid = 0; setupsegs(p); + mp_init(); // multiprocessor + // turn on timer and enable interrupts on the local APIC lapic_timerinit(); lapic_enableintr(); + // init disk device - ide_init(); + //ide_init(); // become interruptable sti(); @@ -74,7 +72,9 @@ main() load_icode(p, _binary_usertests_start, (unsigned) _binary_usertests_size); //load_icode(p, _binary_userfs_start, (unsigned) _binary_userfs_size); + p->state = RUNNABLE; cprintf("loaded userfs\n"); + scheduler(); return 0; |