Replace palacios_free_page with palacios_free_pages. diff -r 57decb617741 arch/x86_64/kernel/palacios/palacios.c --- a/arch/x86_64/kernel/palacios/palacios.c Fri Dec 03 15:24:59 2010 +0100 +++ b/arch/x86_64/kernel/palacios/palacios.c Wed Dec 22 00:54:58 2010 -0700 @@ -143,13 +143,12 @@ } /** - * Frees a page previously allocated via palacios_allocate_page(). - * Note that palacios_allocate_page() can allocate multiple pages with - * a single call while palacios_free_page() only frees a single page. + * Frees pages previously allocated via palacios_allocate_pages(). */ static void -palacios_free_page( - void * page_paddr +palacios_free_pages( + void * page_paddr, + int num_pages ) { struct pmem_region query; @@ -159,7 +158,7 @@ pmem_region_unset_all(&query); query.start = (uintptr_t) page_paddr; - query.end = (uintptr_t) page_paddr + PAGE_SIZE; + query.end = (uintptr_t) page_paddr + num_pages * PAGE_SIZE; query.allocated = true; query.allocated_is_set = true; @@ -441,7 +440,7 @@ struct v3_os_hooks palacios_os_hooks = { .print = palacios_print, .allocate_pages = palacios_allocate_pages, - .free_page = palacios_free_page, + .free_pages = palacios_free_pages, .malloc = palacios_alloc, .free = palacios_free, .vaddr_to_paddr = palacios_vaddr_to_paddr,