|
@@ -2302,7 +2302,14 @@ static int vgic_set_attr(struct kvm_device *dev, struct kvm_device_attr *attr)
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
|
-
|
|
|
+ case KVM_DEV_ARM_VGIC_GRP_CTRL: {
|
|
|
+ switch (attr->attr) {
|
|
|
+ case KVM_DEV_ARM_VGIC_CTRL_INIT:
|
|
|
+ r = vgic_init(dev->kvm);
|
|
|
+ return r;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return -ENXIO;
|
|
@@ -2381,6 +2388,11 @@ static int vgic_has_attr(struct kvm_device *dev, struct kvm_device_attr *attr)
|
|
|
return vgic_has_attr_regs(vgic_cpu_ranges, offset);
|
|
|
case KVM_DEV_ARM_VGIC_GRP_NR_IRQS:
|
|
|
return 0;
|
|
|
+ case KVM_DEV_ARM_VGIC_GRP_CTRL:
|
|
|
+ switch (attr->attr) {
|
|
|
+ case KVM_DEV_ARM_VGIC_CTRL_INIT:
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
}
|
|
|
return -ENXIO;
|
|
|
}
|