kern
diff src/vm.c @ 51:b1e8c8251884
lalalala
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Mon, 01 Aug 2011 06:45:29 +0300 |
parents | 50730d42d2d3 |
children | fa65b4f45366 |
line diff
1.1 --- a/src/vm.c Sat Jul 30 07:35:53 2011 +0300 1.2 +++ b/src/vm.c Mon Aug 01 06:45:29 2011 +0300 1.3 @@ -37,7 +37,7 @@ 1.4 uint32_t get_fault_addr(void); 1.5 1.6 static void coalesce(struct page_range *low, struct page_range *mid, struct page_range *high); 1.7 -static void pgfault(int inum, uint32_t err); 1.8 +static void pgfault(int inum, struct intr_frame *frm); 1.9 static struct page_range *alloc_node(void); 1.10 static void free_node(struct page_range *node); 1.11 1.12 @@ -457,18 +457,18 @@ 1.13 } 1.14 } 1.15 1.16 -static void pgfault(int inum, uint32_t err) 1.17 +static void pgfault(int inum, struct intr_frame *frm) 1.18 { 1.19 printf("~~~~ PAGE FAULT ~~~~\n"); 1.20 1.21 printf("fault address: %x\n", get_fault_addr()); 1.22 1.23 - if(err & PG_PRESENT) { 1.24 - if(err & 8) { 1.25 + if(frm->err & PG_PRESENT) { 1.26 + if(frm->err & 8) { 1.27 printf("reserved bit set in some paging structure\n"); 1.28 } else { 1.29 - printf("%s protection violation ", (err & PG_WRITABLE) ? "write" : "read"); 1.30 - printf("in %s mode\n", err & PG_USER ? "user" : "kernel"); 1.31 + printf("%s protection violation ", (frm->err & PG_WRITABLE) ? "write" : "read"); 1.32 + printf("in %s mode\n", frm->err & PG_USER ? "user" : "kernel"); 1.33 } 1.34 } else { 1.35 printf("page not present\n");