forked from mirrors/linux
		
	KVM: Remove kernel-allocated memory regions
Equivalent (and better) functionality is provided by user-allocated memory regions. Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
		
							parent
							
								
									a1f4d39500
								
							
						
					
					
						commit
						b74a07beed
					
				
					 3 changed files with 1 additions and 49 deletions
				
			
		| 
						 | 
					@ -548,16 +548,6 @@ Who:	John Stultz <johnstul@us.ibm.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
----------------------------
 | 
					----------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
What:	KVM kernel-allocated memory slots
 | 
					 | 
				
			||||||
When:	July 2010
 | 
					 | 
				
			||||||
Why:	Since 2.6.25, kvm supports user-allocated memory slots, which are
 | 
					 | 
				
			||||||
	much more flexible than kernel-allocated slots.  All current userspace
 | 
					 | 
				
			||||||
	supports the newer interface and this code can be removed with no
 | 
					 | 
				
			||||||
	impact.
 | 
					 | 
				
			||||||
Who:	Avi Kivity <avi@redhat.com>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
----------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
What:	KVM paravirt mmu host support
 | 
					What:	KVM paravirt mmu host support
 | 
				
			||||||
When:	January 2011
 | 
					When:	January 2011
 | 
				
			||||||
Why:	The paravirt mmu host support is slower than non-paravirt mmu, both
 | 
					Why:	The paravirt mmu host support is slower than non-paravirt mmu, both
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -160,29 +160,7 @@ Type: vm ioctl
 | 
				
			||||||
Parameters: struct kvm_memory_region (in)
 | 
					Parameters: struct kvm_memory_region (in)
 | 
				
			||||||
Returns: 0 on success, -1 on error
 | 
					Returns: 0 on success, -1 on error
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct kvm_memory_region {
 | 
					This ioctl is obsolete and has been removed.
 | 
				
			||||||
	__u32 slot;
 | 
					 | 
				
			||||||
	__u32 flags;
 | 
					 | 
				
			||||||
	__u64 guest_phys_addr;
 | 
					 | 
				
			||||||
	__u64 memory_size; /* bytes */
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* for kvm_memory_region::flags */
 | 
					 | 
				
			||||||
#define KVM_MEM_LOG_DIRTY_PAGES  1UL
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This ioctl allows the user to create or modify a guest physical memory
 | 
					 | 
				
			||||||
slot.  When changing an existing slot, it may be moved in the guest
 | 
					 | 
				
			||||||
physical memory space, or its flags may be modified.  It may not be
 | 
					 | 
				
			||||||
resized.  Slots may not overlap.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The flags field supports just one flag, KVM_MEM_LOG_DIRTY_PAGES, which
 | 
					 | 
				
			||||||
instructs kvm to keep track of writes to memory within the slot.  See
 | 
					 | 
				
			||||||
the KVM_GET_DIRTY_LOG ioctl.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
It is recommended to use the KVM_SET_USER_MEMORY_REGION ioctl instead
 | 
					 | 
				
			||||||
of this API, if available.  This newer API allows placing guest memory
 | 
					 | 
				
			||||||
at specified locations in the host address space, yielding better
 | 
					 | 
				
			||||||
control and easy access.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
4.6 KVM_CREATE_VCPU
 | 
					4.6 KVM_CREATE_VCPU
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2967,22 +2967,6 @@ long kvm_arch_vm_ioctl(struct file *filp,
 | 
				
			||||||
			goto out;
 | 
								goto out;
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	case KVM_SET_MEMORY_REGION: {
 | 
					 | 
				
			||||||
		struct kvm_memory_region kvm_mem;
 | 
					 | 
				
			||||||
		struct kvm_userspace_memory_region kvm_userspace_mem;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		r = -EFAULT;
 | 
					 | 
				
			||||||
		if (copy_from_user(&kvm_mem, argp, sizeof kvm_mem))
 | 
					 | 
				
			||||||
			goto out;
 | 
					 | 
				
			||||||
		kvm_userspace_mem.slot = kvm_mem.slot;
 | 
					 | 
				
			||||||
		kvm_userspace_mem.flags = kvm_mem.flags;
 | 
					 | 
				
			||||||
		kvm_userspace_mem.guest_phys_addr = kvm_mem.guest_phys_addr;
 | 
					 | 
				
			||||||
		kvm_userspace_mem.memory_size = kvm_mem.memory_size;
 | 
					 | 
				
			||||||
		r = kvm_vm_ioctl_set_memory_region(kvm, &kvm_userspace_mem, 0);
 | 
					 | 
				
			||||||
		if (r)
 | 
					 | 
				
			||||||
			goto out;
 | 
					 | 
				
			||||||
		break;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	case KVM_SET_NR_MMU_PAGES:
 | 
						case KVM_SET_NR_MMU_PAGES:
 | 
				
			||||||
		r = kvm_vm_ioctl_set_nr_mmu_pages(kvm, arg);
 | 
							r = kvm_vm_ioctl_set_nr_mmu_pages(kvm, arg);
 | 
				
			||||||
		if (r)
 | 
							if (r)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue