summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrans Kaashoek <[email protected]>2017-02-01 19:21:43 -0500
committerFrans Kaashoek <[email protected]>2017-02-01 19:21:43 -0500
commit2e2d14c235b570a6beb222fc1bfa53de85a98de3 (patch)
tree04d3de5e60934f9f6f7aa2d31b50ff0fda6532cd
parent7c00ce8110e045a5d0b7b95194561b71d7c0d2b6 (diff)
downloadxv6-labs-2e2d14c235b570a6beb222fc1bfa53de85a98de3.tar.gz
xv6-labs-2e2d14c235b570a6beb222fc1bfa53de85a98de3.tar.bz2
xv6-labs-2e2d14c235b570a6beb222fc1bfa53de85a98de3.zip
use panic
-rw-r--r--console.c3
-rw-r--r--proc.c8
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()];
}