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...