Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b74a07be authored by Avi Kivity's avatar Avi Kivity
Browse files

KVM: Remove kernel-allocated memory regions



Equivalent (and better) functionality is provided by user-allocated memory
regions.

Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
parent a1f4d395
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -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
When:	January 2011
Why:	The paravirt mmu host support is slower than non-paravirt mmu, both
+1 −23
Original line number Diff line number Diff line
@@ -160,29 +160,7 @@ Type: vm ioctl
Parameters: struct kvm_memory_region (in)
Returns: 0 on success, -1 on error

struct kvm_memory_region {
	__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.
This ioctl is obsolete and has been removed.

4.6 KVM_CREATE_VCPU

+0 −16
Original line number Diff line number Diff line
@@ -2967,22 +2967,6 @@ long kvm_arch_vm_ioctl(struct file *filp,
			goto out;
		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:
		r = kvm_vm_ioctl_set_nr_mmu_pages(kvm, arg);
		if (r)