diff options
author | rtm <rtm> | 2006-07-12 01:48:35 +0000 |
---|---|---|
committer | rtm <rtm> | 2006-07-12 01:48:35 +0000 |
commit | 4e8f237be819424f922399f8d121d9867b675541 (patch) | |
tree | 53459cfde9630b3ae0d2d46d0ce3d4c1ac423944 /main.c | |
parent | b41b38d0da0854f3fa92967b70180ea1156154d4 (diff) | |
download | xv6-labs-4e8f237be819424f922399f8d121d9867b675541.tar.gz xv6-labs-4e8f237be819424f922399f8d121d9867b675541.tar.bz2 xv6-labs-4e8f237be819424f922399f8d121d9867b675541.zip |
no more big kernel lock
succeeds at usertests.c pipe test
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; |