Commit | Line | Data |
---|---|---|
f2061656 DD |
1 | Generic vm interface |
2 | ==================================== | |
3 | ||
4 | The virtual machine "device" also accepts the ioctls KVM_SET_DEVICE_ATTR, | |
5 | KVM_GET_DEVICE_ATTR, and KVM_HAS_DEVICE_ATTR. The interface uses the same | |
6 | struct kvm_device_attr as other devices, but targets VM-wide settings | |
7 | and controls. | |
8 | ||
9 | The groups and attributes per virtual machine, if any, are architecture | |
10 | specific. | |
4f718eab DD |
11 | |
12 | 1. GROUP: KVM_S390_VM_MEM_CTRL | |
13 | Architectures: s390 | |
14 | ||
365dc163 | 15 | 1.1. ATTRIBUTE: KVM_S390_VM_MEM_ENABLE_CMMA |
4f718eab | 16 | Parameters: none |
365dc163 | 17 | Returns: -EBUSY if a vcpu is already defined, otherwise 0 |
4f718eab | 18 | |
365dc163 | 19 | Enables Collaborative Memory Management Assist (CMMA) for the virtual machine. |
4f718eab | 20 | |
365dc163 DD |
21 | 1.2. ATTRIBUTE: KVM_S390_VM_MEM_CLR_CMMA |
22 | Parameters: none | |
4f718eab DD |
23 | Returns: 0 |
24 | ||
25 | Clear the CMMA status for all guest pages, so any pages the guest marked | |
26 | as unused are again used any may not be reclaimed by the host. | |
8c0a7ce6 DD |
27 | |
28 | 1.3. ATTRIBUTE KVM_S390_VM_MEM_LIMIT_SIZE | |
29 | Parameters: in attr->addr the address for the new limit of guest memory | |
30 | Returns: -EFAULT if the given address is not accessible | |
31 | -EINVAL if the virtual machine is of type UCONTROL | |
32 | -E2BIG if the given guest memory is to big for that machine | |
33 | -EBUSY if a vcpu is already defined | |
34 | -ENOMEM if not enough memory is available for a new shadow guest mapping | |
35 | 0 otherwise | |
36 | ||
37 | Allows userspace to query the actual limit and set a new limit for | |
38 | the maximum guest memory size. The limit will be rounded up to | |
39 | 2048 MB, 4096 GB, 8192 TB respectively, as this limit is governed by | |
40 | the number of page table levels. |