Avi Kivity wrote: > From: Izik Eidus <[EMAIL PROTECTED]> > > Instead of having the kernel allocate memory to the guest, let userspace > allocate it and pass the address to the kernel. > > This is required for s390 support, but also enables features like memory > sharing and using hugetlbfs backed memory. > >
[...] > @@ -728,11 +752,27 @@ static int kvm_vm_ioctl_set_memory_region(struct kvm > *kvm, > > memset(new.phys_mem, 0, npages * sizeof(struct page *)); > memset(new.rmap, 0, npages * sizeof(*new.rmap)); > - for (i = 0; i < npages; ++i) { > - new.phys_mem[i] = alloc_page(GFP_HIGHUSER > - | __GFP_ZERO); > - if (!new.phys_mem[i]) > + if (user_alloc) { > + unsigned long pages_num; > + > + new.user_alloc = 1; > + down_read(¤t->mm->mmap_sem); > + > + pages_num = get_user_pages(current, current->mm, > + mem->userspace_addr, > + npages, 1, 0, new.phys_mem, > + NULL); > + > I just combined a patch that changes the 'force' parameter to get_user_pages from 0 to 1, into this patch, to avoid introducing a bug and its fix in the same patchset. I won't be resending this patch since the change is too trivial. Same change applies to patch 48, "KVM: MMU: Partial swapping of guest memory". -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel