Lines Matching refs:attr
163 struct kvm_device_attr *attr) in vgic_set_common_attr() argument
167 switch (attr->group) { in vgic_set_common_attr()
169 u64 __user *uaddr = (u64 __user *)(long)attr->addr; in vgic_set_common_attr()
171 unsigned long type = (unsigned long)attr->attr; in vgic_set_common_attr()
180 u32 __user *uaddr = (u32 __user *)(long)attr->addr; in vgic_set_common_attr()
211 switch (attr->attr) { in vgic_set_common_attr()
226 struct kvm_device_attr *attr) in vgic_get_common_attr() argument
230 switch (attr->group) { in vgic_get_common_attr()
232 u64 __user *uaddr = (u64 __user *)(long)attr->addr; in vgic_get_common_attr()
234 unsigned long type = (unsigned long)attr->attr; in vgic_get_common_attr()
248 u32 __user *uaddr = (u32 __user *)(long)attr->addr; in vgic_get_common_attr()
291 int vgic_v2_parse_attr(struct kvm_device *dev, struct kvm_device_attr *attr, in vgic_v2_parse_attr() argument
296 cpuid = (attr->attr & KVM_DEV_ARM_VGIC_CPUID_MASK) >> in vgic_v2_parse_attr()
303 reg_attr->addr = attr->attr & KVM_DEV_ARM_VGIC_OFFSET_MASK; in vgic_v2_parse_attr()
355 struct kvm_device_attr *attr, in vgic_v2_attr_regs_access() argument
363 ret = vgic_v2_parse_attr(dev, attr, ®_attr); in vgic_v2_attr_regs_access()
381 switch (attr->group) { in vgic_v2_attr_regs_access()
400 struct kvm_device_attr *attr) in vgic_v2_set_attr() argument
404 ret = vgic_set_common_attr(dev, attr); in vgic_v2_set_attr()
408 switch (attr->group) { in vgic_v2_set_attr()
411 u32 __user *uaddr = (u32 __user *)(long)attr->addr; in vgic_v2_set_attr()
417 return vgic_v2_attr_regs_access(dev, attr, ®, true); in vgic_v2_set_attr()
425 struct kvm_device_attr *attr) in vgic_v2_get_attr() argument
429 ret = vgic_get_common_attr(dev, attr); in vgic_v2_get_attr()
433 switch (attr->group) { in vgic_v2_get_attr()
436 u32 __user *uaddr = (u32 __user *)(long)attr->addr; in vgic_v2_get_attr()
439 ret = vgic_v2_attr_regs_access(dev, attr, ®, false); in vgic_v2_get_attr()
450 struct kvm_device_attr *attr) in vgic_v2_has_attr() argument
452 switch (attr->group) { in vgic_v2_has_attr()
454 switch (attr->attr) { in vgic_v2_has_attr()
462 return vgic_v2_has_attr_regs(dev, attr); in vgic_v2_has_attr()
466 switch (attr->attr) { in vgic_v2_has_attr()
483 int vgic_v3_parse_attr(struct kvm_device *dev, struct kvm_device_attr *attr, in vgic_v3_parse_attr() argument
492 if (attr->group != KVM_DEV_ARM_VGIC_GRP_DIST_REGS) { in vgic_v3_parse_attr()
493 vgic_mpidr = (attr->attr & KVM_DEV_ARM_VGIC_V3_MPIDR_MASK) >> in vgic_v3_parse_attr()
505 reg_attr->addr = attr->attr & KVM_DEV_ARM_VGIC_OFFSET_MASK; in vgic_v3_parse_attr()
519 struct kvm_device_attr *attr, in vgic_v3_attr_regs_access() argument
528 ret = vgic_v3_parse_attr(dev, attr, ®_attr); in vgic_v3_attr_regs_access()
547 switch (attr->group) { in vgic_v3_attr_regs_access()
567 regid = (attr->attr & KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK); in vgic_v3_attr_regs_access()
575 info = (attr->attr & KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK) >> in vgic_v3_attr_regs_access()
578 intid = attr->attr & in vgic_v3_attr_regs_access()
599 struct kvm_device_attr *attr) in vgic_v3_set_attr() argument
603 ret = vgic_set_common_attr(dev, attr); in vgic_v3_set_attr()
607 switch (attr->group) { in vgic_v3_set_attr()
610 u32 __user *uaddr = (u32 __user *)(long)attr->addr; in vgic_v3_set_attr()
618 return vgic_v3_attr_regs_access(dev, attr, ®, true); in vgic_v3_set_attr()
621 u64 __user *uaddr = (u64 __user *)(long)attr->addr; in vgic_v3_set_attr()
627 return vgic_v3_attr_regs_access(dev, attr, ®, true); in vgic_v3_set_attr()
630 u32 __user *uaddr = (u32 __user *)(long)attr->addr; in vgic_v3_set_attr()
638 return vgic_v3_attr_regs_access(dev, attr, ®, true); in vgic_v3_set_attr()
643 switch (attr->attr) { in vgic_v3_set_attr()
663 struct kvm_device_attr *attr) in vgic_v3_get_attr() argument
667 ret = vgic_get_common_attr(dev, attr); in vgic_v3_get_attr()
671 switch (attr->group) { in vgic_v3_get_attr()
674 u32 __user *uaddr = (u32 __user *)(long)attr->addr; in vgic_v3_get_attr()
678 ret = vgic_v3_attr_regs_access(dev, attr, ®, false); in vgic_v3_get_attr()
685 u64 __user *uaddr = (u64 __user *)(long)attr->addr; in vgic_v3_get_attr()
688 ret = vgic_v3_attr_regs_access(dev, attr, ®, false); in vgic_v3_get_attr()
694 u32 __user *uaddr = (u32 __user *)(long)attr->addr; in vgic_v3_get_attr()
698 ret = vgic_v3_attr_regs_access(dev, attr, ®, false); in vgic_v3_get_attr()
709 struct kvm_device_attr *attr) in vgic_v3_has_attr() argument
711 switch (attr->group) { in vgic_v3_has_attr()
713 switch (attr->attr) { in vgic_v3_has_attr()
723 return vgic_v3_has_attr_regs(dev, attr); in vgic_v3_has_attr()
727 if (((attr->attr & KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK) >> in vgic_v3_has_attr()
734 switch (attr->attr) { in vgic_v3_has_attr()