search for: hvvm_unmap_pages

Displaying 4 results from an estimated 4 matches for "hvvm_unmap_pages".

Did you mean: hvvm_unmap_page
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 01/13] HV VM Fix map area for HV.
...printk("vaddr=%p (%lx)\naddr=%p (%lx)\n", + vaddr, *(unsigned long*)vaddr, + (void*)addr, *(unsigned long*)addr); + + return 0; +out: + for (--i; i >=0; i--) { + addr -= PAGE_SIZE; + hvvm_unmap_page(addr); + } + + release_hv_pages(addr, pages); + return ret; +} + +void hvvm_unmap_pages(unsigned long addr, int pages) +{ + int i; + + release_hv_pages(addr, pages); + for (i=0; i < pages; i++, addr += PAGE_SIZE) + hvvm_unmap_page(addr); +} + +void hvvm_release_all(void) +{ + int bit; + unsigned long vaddr = HVVM_START; + + for (bit=0; bit < NR_HV_PAGES; bit++, vaddr += PAGE_SI...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 01/13] HV VM Fix map area for HV.
...printk("vaddr=%p (%lx)\naddr=%p (%lx)\n", + vaddr, *(unsigned long*)vaddr, + (void*)addr, *(unsigned long*)addr); + + return 0; +out: + for (--i; i >=0; i--) { + addr -= PAGE_SIZE; + hvvm_unmap_page(addr); + } + + release_hv_pages(addr, pages); + return ret; +} + +void hvvm_unmap_pages(unsigned long addr, int pages) +{ + int i; + + release_hv_pages(addr, pages); + for (i=0; i < pages; i++, addr += PAGE_SIZE) + hvvm_unmap_page(addr); +} + +void hvvm_release_all(void) +{ + int bit; + unsigned long vaddr = HVVM_START; + + for (bit=0; bit < NR_HV_PAGES; bit++, vaddr += PAGE_SI...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...; + + ret = hvvm_map_pages(vcpu, lguest_vcpu_pages, &hv_vcpu); + if (ret < 0) + goto out; + + ret = lguest_map_hv_pages(linfo, hv_vcpu, lguest_vcpu_pages, NULL); + if (ret < 0) + goto out2; + + vcpu->host_page = (unsigned long)vcpu; + + return (struct lguest_vcpu*)hv_vcpu; + +out2: + hvvm_unmap_pages(hv_vcpu, lguest_vcpu_pages); +out: + free_pages((unsigned long)vcpu, lguest_vcpu_order); + + return NULL; +} + +void free_vcpu(struct lguest_guest_info *linfo, struct lguest_vcpu *vcpu) +{ + unsigned long hv_vcpu = (unsigned long)vcpu; + free_pages(vcpu->host_page, lguest_vcpu_order); + lguest_u...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...; + + ret = hvvm_map_pages(vcpu, lguest_vcpu_pages, &hv_vcpu); + if (ret < 0) + goto out; + + ret = lguest_map_hv_pages(linfo, hv_vcpu, lguest_vcpu_pages, NULL); + if (ret < 0) + goto out2; + + vcpu->host_page = (unsigned long)vcpu; + + return (struct lguest_vcpu*)hv_vcpu; + +out2: + hvvm_unmap_pages(hv_vcpu, lguest_vcpu_pages); +out: + free_pages((unsigned long)vcpu, lguest_vcpu_order); + + return NULL; +} + +void free_vcpu(struct lguest_guest_info *linfo, struct lguest_vcpu *vcpu) +{ + unsigned long hv_vcpu = (unsigned long)vcpu; + free_pages(vcpu->host_page, lguest_vcpu_order); + lguest_u...