commit 832af025a364732d2784e64fa74e516f6c2f3b0c
parent 66ba8079c7e376c189ccb3367b8d13825141b8ec
Author: Frans Kaashoek <kaashoek@42.sub-75-251-87.myvzw.com>
Date: Tue, 9 Aug 2011 21:47:40 -0400
Remove jmpkstack
Diffstat:
M | main.c | | | 29 | ++--------------------------- |
1 file changed, 2 insertions(+), 27 deletions(-)
diff --git a/main.c b/main.c
@@ -7,9 +7,7 @@
#include "x86.h"
static void bootothers(void);
-static void mpmain(void);
-void jmpkstack(void) __attribute__((noreturn));
-void mainc(void);
+static void mpmain(void) __attribute__((noreturn));
static volatile int newpgdir;
// Bootstrap processor starts running C code here.
@@ -22,31 +20,8 @@ main(void)
mpinit(); // collect info about this machine
lapicinit(mpbcpu());
seginit(); // set up segments
- kinit(); // initialize memory allocator
- jmpkstack(); // call mainc() on a properly-allocated stack XXX ax
- mainc();
- return 0;
-}
-
-void
-jmpkstack(void)
-{
- char *kstack, *top;
-
- kstack = kalloc();
- if(kstack == 0)
- panic("jmpkstack kalloc");
- top = kstack + PGSIZE;
- asm volatile("movl %0,%%esp; call mainc" : : "r" (top));
- panic("jmpkstack");
-}
-
-// Set up hardware and software.
-// Runs only on the boostrap processor.
-void
-mainc(void)
-{
cprintf("\ncpu%d: starting xv6\n\n", cpu->id);
+ kinit(); // initialize memory allocator
picinit(); // interrupt controller
ioapicinit(); // another interrupt controller
consoleinit(); // I/O devices & their interrupts