Lines Matching refs:attr
156 struct kvm_device_attr *attr)
160 switch (attr->group) {
162 u64 __user *uaddr = (u64 __user *)(long)attr->addr;
164 unsigned long type = (unsigned long)attr->attr;
173 u32 __user *uaddr = (u32 __user *)(long)attr->addr;
204 switch (attr->attr) {
219 struct kvm_device_attr *attr)
223 switch (attr->group) {
225 u64 __user *uaddr = (u64 __user *)(long)attr->addr;
227 unsigned long type = (unsigned long)attr->attr;
241 u32 __user *uaddr = (u32 __user *)(long)attr->addr;
284 int vgic_v2_parse_attr(struct kvm_device *dev, struct kvm_device_attr *attr,
289 cpuid = (attr->attr & KVM_DEV_ARM_VGIC_CPUID_MASK) >>
296 reg_attr->addr = attr->attr & KVM_DEV_ARM_VGIC_OFFSET_MASK;
343 * @attr: kvm device attribute
348 struct kvm_device_attr *attr,
356 ret = vgic_v2_parse_attr(dev, attr, ®_attr);
374 switch (attr->group) {
393 struct kvm_device_attr *attr)
397 ret = vgic_set_common_attr(dev, attr);
401 switch (attr->group) {
404 u32 __user *uaddr = (u32 __user *)(long)attr->addr;
410 return vgic_v2_attr_regs_access(dev, attr, ®, true);
418 struct kvm_device_attr *attr)
422 ret = vgic_get_common_attr(dev, attr);
426 switch (attr->group) {
429 u32 __user *uaddr = (u32 __user *)(long)attr->addr;
432 ret = vgic_v2_attr_regs_access(dev, attr, ®, false);
443 struct kvm_device_attr *attr)
445 switch (attr->group) {
447 switch (attr->attr) {
455 return vgic_v2_has_attr_regs(dev, attr);
459 switch (attr->attr) {
476 int vgic_v3_parse_attr(struct kvm_device *dev, struct kvm_device_attr *attr,
483 * attr might not hold MPIDR. Hence assume vcpu0.
485 if (attr->group != KVM_DEV_ARM_VGIC_GRP_DIST_REGS) {
486 vgic_mpidr = (attr->attr & KVM_DEV_ARM_VGIC_V3_MPIDR_MASK) >>
498 reg_attr->addr = attr->attr & KVM_DEV_ARM_VGIC_OFFSET_MASK;
507 * @attr: kvm device attribute
512 struct kvm_device_attr *attr,
521 ret = vgic_v3_parse_attr(dev, attr, ®_attr);
540 switch (attr->group) {
560 regid = (attr->attr & KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK);
568 info = (attr->attr & KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK) >>
571 intid = attr->attr &
592 struct kvm_device_attr *attr)
596 ret = vgic_set_common_attr(dev, attr);
600 switch (attr->group) {
603 u32 __user *uaddr = (u32 __user *)(long)attr->addr;
611 return vgic_v3_attr_regs_access(dev, attr, ®, true);
614 u64 __user *uaddr = (u64 __user *)(long)attr->addr;
620 return vgic_v3_attr_regs_access(dev, attr, ®, true);
623 u32 __user *uaddr = (u32 __user *)(long)attr->addr;
631 return vgic_v3_attr_regs_access(dev, attr, ®, true);
636 switch (attr->attr) {
656 struct kvm_device_attr *attr)
660 ret = vgic_get_common_attr(dev, attr);
664 switch (attr->group) {
667 u32 __user *uaddr = (u32 __user *)(long)attr->addr;
671 ret = vgic_v3_attr_regs_access(dev, attr, ®, false);
678 u64 __user *uaddr = (u64 __user *)(long)attr->addr;
681 ret = vgic_v3_attr_regs_access(dev, attr, ®, false);
687 u32 __user *uaddr = (u32 __user *)(long)attr->addr;
691 ret = vgic_v3_attr_regs_access(dev, attr, ®, false);
702 struct kvm_device_attr *attr)
704 switch (attr->group) {
706 switch (attr->attr) {
716 return vgic_v3_has_attr_regs(dev, attr);
720 if (((attr->attr & KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK) >>
727 switch (attr->attr) {