mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 21:24:08 +08:00
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
@ -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 New Issue
Block a user