Remove get_cont_phys_pages_at()
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 18 Aug 2016 17:42:20 +0000 (13:42 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 29 Nov 2016 16:27:40 +0000 (11:27 -0500)
I think this was for some weird debugging code, or maybe the old NIX mode.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/include/page_alloc.h
kern/src/page_alloc.c

index 5a6b602..ecbddf3 100644 (file)
@@ -65,7 +65,6 @@ void *kpage_zalloc_addr(void);
 
 void *get_cont_pages(size_t order, int flags);
 void *get_cont_pages_node(int node, size_t order, int flags);
-void *get_cont_phys_pages_at(size_t order, physaddr_t at, int flags);
 void free_cont_pages(void *buf, size_t order);
 
 void page_decref(page_t *page);
index 49ec9db..2e7f31d 100644 (file)
@@ -178,47 +178,6 @@ void *get_cont_pages_node(int node, size_t order, int flags)
        return get_cont_pages(order, flags);
 }
 
-/**
- * @brief Allocated 2^order contiguous physical pages starting at paddr 'at'.
- * Will increment the reference count for the pages.
- *
- * We might need some restrictions on size of the alloc and its 'at' alignment.
- * For instance, for a future buddy allocator (if we go that route), it might be
- * easier if the order was aligned to the 'at'.  e.g., a 1GB alloc must be at a
- * 1GB aligned addr.  A 2GB alloc would not be allowed at a merely 1GB
- * alignment.
- *
- * For now, anything goes.  Note that the request is for a physical starting
- * point, but the return is the KVA.
- *
- * @param[in] order order of the allocation
- * @param[in] at starting address
- * @param[in] flags memory allocation flags
- *
- * @return The KVA of the first page, NULL otherwise.
- */
-void *get_cont_phys_pages_at(size_t order, physaddr_t at, int flags)
-{
-       unsigned long nr_pgs = 1 << order;
-       unsigned long first_pg_nr = pa2ppn(at);
-
-       if (first_pg_nr + nr_pgs > pa2ppn(max_paddr))
-               return 0;
-       spin_lock_irqsave(&page_list_lock);
-       for (unsigned long i = first_pg_nr; i < first_pg_nr + nr_pgs; i++) {
-               if (!page_is_free(i)) {
-                       spin_unlock_irqsave(&page_list_lock);
-                       if (flags & MEM_ERROR)
-                               error(ENOMEM, ERROR_FIXME);
-                       return NULL;
-               }
-       }
-       for (unsigned long i = first_pg_nr; i < first_pg_nr + nr_pgs; i++)
-               __real_page_alloc(ppn2page(i));
-       spin_unlock_irqsave(&page_list_lock);
-       return KADDR(at);
-}
-
 void free_cont_pages(void *buf, size_t order)
 {
        size_t npages = 1 << order;