From 2e2d14c235b570a6beb222fc1bfa53de85a98de3 Mon Sep 17 00:00:00 2001 From: Frans Kaashoek Date: Wed, 1 Feb 2017 19:21:43 -0500 Subject: [PATCH] use panic --- console.c | 3 ++- proc.c | 8 ++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/console.c b/console.c index f7e1e73..da28f9f 100644 --- a/console.c +++ b/console.c @@ -111,7 +111,8 @@ panic(char *s) cli(); cons.locking = 0; - cprintf("cpu %d: panic: ", cpuid()); + // use lapiccpunum so that we can call panic from mycpu() + cprintf("cpu %d: panic: ", lapiccpunum()); cprintf(s); cprintf("\n"); getcallerpcs(&s, pcs); diff --git a/proc.c b/proc.c index 9f500f2..ca343cb 100644 --- a/proc.c +++ b/proc.c @@ -36,12 +36,8 @@ cpuid() { struct cpu* mycpu(void) { - if(readeflags()&FL_IF){ - // Would prefer to panic but panic calls mycpu(). - cprintf("mycpu called from %x with interrupts enabled\n", - __builtin_return_address(0)); - } - + if(readeflags()&FL_IF) + panic("mycpu called with interrupts enabled\n"); return &cpus[lapiccpunum()]; }