| Generic vm interface |
| ==================================== |
| |
| The virtual machine "device" also accepts the ioctls KVM_SET_DEVICE_ATTR, |
| KVM_GET_DEVICE_ATTR, and KVM_HAS_DEVICE_ATTR. The interface uses the same |
| struct kvm_device_attr as other devices, but targets VM-wide settings |
| and controls. |
| |
| The groups and attributes per virtual machine, if any, are architecture |
| specific. |
| |
| 1. GROUP: KVM_S390_VM_MEM_CTRL |
| Architectures: s390 |
| |
| 1.1. ATTRIBUTE: KVM_S390_VM_MEM_ENABLE_CMMA |
| Parameters: none |
| Returns: -EBUSY if a vcpu is already defined, otherwise 0 |
| |
| Enables Collaborative Memory Management Assist (CMMA) for the virtual machine. |
| |
| 1.2. ATTRIBUTE: KVM_S390_VM_MEM_CLR_CMMA |
| Parameters: none |
| Returns: 0 |
| |
| Clear the CMMA status for all guest pages, so any pages the guest marked |
| as unused are again used any may not be reclaimed by the host. |
| |
| 1.3. ATTRIBUTE KVM_S390_VM_MEM_LIMIT_SIZE |
| Parameters: in attr->addr the address for the new limit of guest memory |
| Returns: -EFAULT if the given address is not accessible |
| -EINVAL if the virtual machine is of type UCONTROL |
| -E2BIG if the given guest memory is to big for that machine |
| -EBUSY if a vcpu is already defined |
| -ENOMEM if not enough memory is available for a new shadow guest mapping |
| 0 otherwise |
| |
| Allows userspace to query the actual limit and set a new limit for |
| the maximum guest memory size. The limit will be rounded up to |
| 2048 MB, 4096 GB, 8192 TB respectively, as this limit is governed by |
| the number of page table levels. |