summaryrefslogtreecommitdiff
path: root/spinlock.c
diff options
context:
space:
mode:
authorFrans Kaashoek <[email protected]>2011-07-29 07:31:27 -0400
committerFrans Kaashoek <[email protected]>2011-07-29 07:31:27 -0400
commit9aa0337dc1452a911ac52698c833246a618fc9f3 (patch)
tree28e25817d4f7c9f7f1e6988949012f46d6c28fb7 /spinlock.c
parentdccb915282854476ce47752df6631dcce3b8f661 (diff)
downloadxv6-labs-9aa0337dc1452a911ac52698c833246a618fc9f3.tar.gz
xv6-labs-9aa0337dc1452a911ac52698c833246a618fc9f3.tar.bz2
xv6-labs-9aa0337dc1452a911ac52698c833246a618fc9f3.zip
Map kernel high
Very important to give qemu memory through PHYSTOP :(
Diffstat (limited to 'spinlock.c')
-rw-r--r--spinlock.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/spinlock.c b/spinlock.c
index e668598..a16621c 100644
--- a/spinlock.c
+++ b/spinlock.c
@@ -4,6 +4,7 @@
#include "defs.h"
#include "param.h"
#include "x86.h"
+#include "memlayout.h"
#include "mmu.h"
#include "proc.h"
#include "spinlock.h"
@@ -71,7 +72,7 @@ getcallerpcs(void *v, uint pcs[])
ebp = (uint*)v - 2;
for(i = 0; i < 10; i++){
- if(ebp == 0 || ebp < (uint*)0x100000 || ebp == (uint*)0xffffffff)
+ if(ebp == 0 || ebp < (uint*)KERNBASE || ebp == (uint*)0xffffffff)
break;
pcs[i] = ebp[1]; // saved %eip
ebp = (uint*)ebp[0]; // saved %ebp