kvm-s390.c (2ac5e38ea4203852d6e99edd3cf11f044b0a409f) | kvm-s390.c (e5d83c74a5800c2a1fa3ba982c1c4b2b39ae6db2) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * hosting IBM Z kernel virtual machines (s390x) 4 * 5 * Copyright IBM Corp. 2008, 2018 6 * 7 * Author(s): Carsten Otte <cotte@de.ibm.com> 8 * Christian Borntraeger <borntraeger@de.ibm.com> --- 450 unchanged lines hidden (view full) --- 459#endif 460 case KVM_CAP_ASYNC_PF: 461 case KVM_CAP_SYNC_REGS: 462 case KVM_CAP_ONE_REG: 463 case KVM_CAP_ENABLE_CAP: 464 case KVM_CAP_S390_CSS_SUPPORT: 465 case KVM_CAP_IOEVENTFD: 466 case KVM_CAP_DEVICE_CTRL: | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * hosting IBM Z kernel virtual machines (s390x) 4 * 5 * Copyright IBM Corp. 2008, 2018 6 * 7 * Author(s): Carsten Otte <cotte@de.ibm.com> 8 * Christian Borntraeger <borntraeger@de.ibm.com> --- 450 unchanged lines hidden (view full) --- 459#endif 460 case KVM_CAP_ASYNC_PF: 461 case KVM_CAP_SYNC_REGS: 462 case KVM_CAP_ONE_REG: 463 case KVM_CAP_ENABLE_CAP: 464 case KVM_CAP_S390_CSS_SUPPORT: 465 case KVM_CAP_IOEVENTFD: 466 case KVM_CAP_DEVICE_CTRL: |
467 case KVM_CAP_ENABLE_CAP_VM: | |
468 case KVM_CAP_S390_IRQCHIP: 469 case KVM_CAP_VM_ATTRIBUTES: 470 case KVM_CAP_MP_STATE: 471 case KVM_CAP_IMMEDIATE_EXIT: 472 case KVM_CAP_S390_INJECT_IRQ: 473 case KVM_CAP_S390_USER_SIGP: 474 case KVM_CAP_S390_USER_STSI: 475 case KVM_CAP_S390_SKEYS: --- 126 unchanged lines hidden (view full) --- 602 unsigned int i; 603 struct kvm_vcpu *vcpu; 604 605 kvm_for_each_vcpu(i, vcpu, kvm) { 606 kvm_s390_sync_request(KVM_REQ_ICPT_OPEREXC, vcpu); 607 } 608} 609 | 467 case KVM_CAP_S390_IRQCHIP: 468 case KVM_CAP_VM_ATTRIBUTES: 469 case KVM_CAP_MP_STATE: 470 case KVM_CAP_IMMEDIATE_EXIT: 471 case KVM_CAP_S390_INJECT_IRQ: 472 case KVM_CAP_S390_USER_SIGP: 473 case KVM_CAP_S390_USER_STSI: 474 case KVM_CAP_S390_SKEYS: --- 126 unchanged lines hidden (view full) --- 601 unsigned int i; 602 struct kvm_vcpu *vcpu; 603 604 kvm_for_each_vcpu(i, vcpu, kvm) { 605 kvm_s390_sync_request(KVM_REQ_ICPT_OPEREXC, vcpu); 606 } 607} 608 |
610static int kvm_vm_ioctl_enable_cap(struct kvm *kvm, struct kvm_enable_cap *cap) | 609int kvm_vm_ioctl_enable_cap(struct kvm *kvm, struct kvm_enable_cap *cap) |
611{ 612 int r; 613 614 if (cap->flags) 615 return -EINVAL; 616 617 switch (cap->cap) { 618 case KVM_CAP_S390_IRQCHIP: --- 1309 unchanged lines hidden (view full) --- 1928 struct kvm_s390_interrupt s390int; 1929 1930 r = -EFAULT; 1931 if (copy_from_user(&s390int, argp, sizeof(s390int))) 1932 break; 1933 r = kvm_s390_inject_vm(kvm, &s390int); 1934 break; 1935 } | 610{ 611 int r; 612 613 if (cap->flags) 614 return -EINVAL; 615 616 switch (cap->cap) { 617 case KVM_CAP_S390_IRQCHIP: --- 1309 unchanged lines hidden (view full) --- 1927 struct kvm_s390_interrupt s390int; 1928 1929 r = -EFAULT; 1930 if (copy_from_user(&s390int, argp, sizeof(s390int))) 1931 break; 1932 r = kvm_s390_inject_vm(kvm, &s390int); 1933 break; 1934 } |
1936 case KVM_ENABLE_CAP: { 1937 struct kvm_enable_cap cap; 1938 r = -EFAULT; 1939 if (copy_from_user(&cap, argp, sizeof(cap))) 1940 break; 1941 r = kvm_vm_ioctl_enable_cap(kvm, &cap); 1942 break; 1943 } | |
1944 case KVM_CREATE_IRQCHIP: { 1945 struct kvm_irq_routing_entry routing; 1946 1947 r = -EINVAL; 1948 if (kvm->arch.use_irqchip) { 1949 /* Set up dummy routing. */ 1950 memset(&routing, 0, sizeof(routing)); 1951 r = kvm_set_irq_routing(kvm, &routing, 0, 0); --- 2375 unchanged lines hidden --- | 1935 case KVM_CREATE_IRQCHIP: { 1936 struct kvm_irq_routing_entry routing; 1937 1938 r = -EINVAL; 1939 if (kvm->arch.use_irqchip) { 1940 /* Set up dummy routing. */ 1941 memset(&routing, 0, sizeof(routing)); 1942 r = kvm_set_irq_routing(kvm, &routing, 0, 0); --- 2375 unchanged lines hidden --- |