/*
- * This file is part of the Palacios Virtual Machine Monitor developed
- * by the V3VEE Project with funding from the United States National
- * Science Foundation and the Department of Energy.
- *
- * The V3VEE Project is a joint project between Northwestern University
- * and the University of New Mexico. You can find out more at
- * http://www.v3vee.org
- *
- * Copyright (c) 2008, Jack Lange <jarusl@cs.northwestern.edu>
- * Copyright (c) 2008, The V3VEE Project <http://www.v3vee.org>
- * All rights reserved.
- *
- * Author: Jack Lange <jarusl@cs.northwestern.edu>
- *
- * This is free software. You are permitted to use,
- * redistribute, and modify it as specified in the file "V3VEE_LICENSE".
+ * Shadow page cache implementation that has been stolen from Linux's KVM Implementation
+ * This module is licensed under the GPL
*/
#include <palacios/vmm_shadow_paging.h>
{
list_del(&page->link);
- V3_FreePage((void *)page->page_pa);
+ V3_FreePages((void *)page->page_pa, 1);
page->page_pa=(addr_t)V3_AllocPages(1);
list_add(&page->link,&core->free_pages);
while (!list_empty(&core->free_pages)) {
page = list_entry(core->free_pages.next, struct shadow_page_cache_data, link);
list_del(&page->link);
- V3_FreePage((void *)page->page_pa);
+ V3_FreePages((void *)page->page_pa, 1);
page->page_pa = ~(addr_t)0; //invalid address
}
}