|
@@ -2074,6 +2074,22 @@ static int flic_set_attr(struct kvm_device *dev, struct kvm_device_attr *attr)
|
|
|
return r;
|
|
|
}
|
|
|
|
|
|
+static int flic_has_attr(struct kvm_device *dev,
|
|
|
+ struct kvm_device_attr *attr)
|
|
|
+{
|
|
|
+ switch (attr->group) {
|
|
|
+ case KVM_DEV_FLIC_GET_ALL_IRQS:
|
|
|
+ case KVM_DEV_FLIC_ENQUEUE:
|
|
|
+ case KVM_DEV_FLIC_CLEAR_IRQS:
|
|
|
+ case KVM_DEV_FLIC_APF_ENABLE:
|
|
|
+ case KVM_DEV_FLIC_APF_DISABLE_WAIT:
|
|
|
+ case KVM_DEV_FLIC_ADAPTER_REGISTER:
|
|
|
+ case KVM_DEV_FLIC_ADAPTER_MODIFY:
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ return -ENXIO;
|
|
|
+}
|
|
|
+
|
|
|
static int flic_create(struct kvm_device *dev, u32 type)
|
|
|
{
|
|
|
if (!dev)
|
|
@@ -2095,6 +2111,7 @@ struct kvm_device_ops kvm_flic_ops = {
|
|
|
.name = "kvm-flic",
|
|
|
.get_attr = flic_get_attr,
|
|
|
.set_attr = flic_set_attr,
|
|
|
+ .has_attr = flic_has_attr,
|
|
|
.create = flic_create,
|
|
|
.destroy = flic_destroy,
|
|
|
};
|