Merge branch 'net-dev'. See body of commit for details.
[akaros.git] / kern / src / kmalloc.c
index d5ce980..ccb6227 100644 (file)
@@ -5,7 +5,11 @@
  * Kevin Klues <klueska@cs.berkeley.edu>    
  */
 
-#include <arch/types.h>
+#ifdef __SHARC__
+#pragma nosharc
+#endif
+
+#include <ros/common.h>
 #include <ros/error.h>
 #include <pmap.h>
 #include <kmalloc.h>
@@ -90,7 +94,6 @@ void kmalloc_init()
 
 void* kmalloc(size_t size, int flags) 
 {
-       // ****** NEXT CONDITION MUST BE MERGED INTO MASTER!!! -PAUL *******
        if (size == 0)
                return NULL;
 
@@ -119,10 +122,10 @@ void* kmalloc(size_t size, int flags)
        for(int i=0; i<npages; i++) {
                page_t* page;
                page_alloc_specific(&page, first+i);
-               // NEXT LINE MUST BE MERGED INTO MASTER (Also, Kevin doesn't like.)
+               // Kevin doesn't like this next line 
                page_incref(page); 
                page->num_cons_links = npages-i;
-               LIST_INSERT_HEAD(&pages_list, page, global_link);
+               LIST_INSERT_HEAD(&pages_list, page, page_link);
                kmallocdebug("mallocing page: %u\n", first+i);
                kmallocdebug("at addr: %p\n", ppn2kva(first+i));
        }
@@ -138,7 +141,7 @@ void kfree(void *addr)
        kmallocdebug("getting page: %u\n", page2ppn(page));
        for(int i=0; i<num_links; i++) {
                page_t* p = ppn2page((page2ppn(page) + i));
-               LIST_REMOVE(p, global_link);
+               LIST_REMOVE(p, page_link);
                page_free(p);
                kmallocdebug("freeing page: %d\n", page2ppn(p));
        }