summaryrefslogtreecommitdiff
path: root/kalloc.c
diff options
context:
space:
mode:
authorrtm <rtm>2006-07-01 21:26:01 +0000
committerrtm <rtm>2006-07-01 21:26:01 +0000
commit8b4e2a08febc8b957b44732dbc7da831479a0005 (patch)
tree46c3b079ec65f0efbd1f3b603f1b11a3ae09e56d /kalloc.c
parentf7cea12b38a86e9b37fa5bc635310d3f85e5f8db (diff)
downloadxv6-labs-8b4e2a08febc8b957b44732dbc7da831479a0005.tar.gz
xv6-labs-8b4e2a08febc8b957b44732dbc7da831479a0005.tar.bz2
xv6-labs-8b4e2a08febc8b957b44732dbc7da831479a0005.zip
swtch saves callee-saved registers
swtch idles on per-CPU stack, not on calling process's stack fix pipe bugs usertest.c tests pipes, fork, exit, close
Diffstat (limited to 'kalloc.c')
-rw-r--r--kalloc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/kalloc.c b/kalloc.c
index 5ea38fd..1944508 100644
--- a/kalloc.c
+++ b/kalloc.c
@@ -45,10 +45,15 @@ kfree(char *cp, int len)
struct run **rr;
struct run *p = (struct run *) cp;
struct run *pend = (struct run *) (cp + len);
+ int i;
if(len % PAGE)
panic("kfree");
+ // XXX fill with junk to help debug
+ for(i = 0; i < len; i++)
+ cp[i] = 1;
+
rr = &freelist;
while(*rr){
struct run *rend = (struct run *) ((char *)(*rr) + (*rr)->len);