summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/main.c b/main.c
index ad0c9c2..0d2a017 100644
--- a/main.c
+++ b/main.c
@@ -23,7 +23,7 @@ void
main0(void)
{
int i;
- int bcpu;
+ static int bcpu; // cannot be on stack
struct proc *p;
// clear BSS
@@ -37,8 +37,8 @@ main0(void)
bcpu = mp_bcpu();
// switch to bootstrap processor's stack
- asm volatile("movl %0, %%esp" : : "r" (cpus[0].mpstack + MPSTACK - 32));
- asm volatile("movl %0, %%ebp" : : "r" (cpus[0].mpstack + MPSTACK));
+ asm volatile("movl %0, %%esp" : : "r" (cpus[bcpu].mpstack + MPSTACK - 32));
+ asm volatile("movl %0, %%ebp" : : "r" (cpus[bcpu].mpstack + MPSTACK));
lapic_init(bcpu);