summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorrtm <rtm>2006-07-12 01:48:35 +0000
committerrtm <rtm>2006-07-12 01:48:35 +0000
commit4e8f237be819424f922399f8d121d9867b675541 (patch)
tree53459cfde9630b3ae0d2d46d0ce3d4c1ac423944 /main.c
parentb41b38d0da0854f3fa92967b70180ea1156154d4 (diff)
downloadxv6-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.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/main.c b/main.c
index c6051ed..9ba78a9 100644
--- a/main.c
+++ b/main.c
@@ -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;