Lines Matching refs:reg
49 static int get_core_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg) in get_core_reg() argument
51 u32 __user *uaddr = (u32 __user *)(long)reg->addr; in get_core_reg()
55 if (KVM_REG_SIZE(reg->id) != 4) in get_core_reg()
59 off = core_reg_offset_from_id(reg->id); in get_core_reg()
60 if (off >= sizeof(*regs) / KVM_REG_SIZE(reg->id)) in get_core_reg()
66 static int set_core_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg) in set_core_reg() argument
68 u32 __user *uaddr = (u32 __user *)(long)reg->addr; in set_core_reg()
72 if (KVM_REG_SIZE(reg->id) != 4) in set_core_reg()
76 off = core_reg_offset_from_id(reg->id); in set_core_reg()
77 if (off >= sizeof(*regs) / KVM_REG_SIZE(reg->id)) in set_core_reg()
139 static int set_timer_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg) in set_timer_reg() argument
141 void __user *uaddr = (void __user *)(long)reg->addr; in set_timer_reg()
145 ret = copy_from_user(&val, uaddr, KVM_REG_SIZE(reg->id)); in set_timer_reg()
149 return kvm_arm_timer_set_reg(vcpu, reg->id, val); in set_timer_reg()
152 static int get_timer_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg) in get_timer_reg() argument
154 void __user *uaddr = (void __user *)(long)reg->addr; in get_timer_reg()
157 val = kvm_arm_timer_get_reg(vcpu, reg->id); in get_timer_reg()
158 return copy_to_user(uaddr, &val, KVM_REG_SIZE(reg->id)) ? -EFAULT : 0; in get_timer_reg()
202 int kvm_arm_get_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg) in kvm_arm_get_reg() argument
205 if ((reg->id & ~KVM_REG_SIZE_MASK) >> 32 != KVM_REG_ARM >> 32) in kvm_arm_get_reg()
209 if ((reg->id & KVM_REG_ARM_COPROC_MASK) == KVM_REG_ARM_CORE) in kvm_arm_get_reg()
210 return get_core_reg(vcpu, reg); in kvm_arm_get_reg()
212 if (is_timer_reg(reg->id)) in kvm_arm_get_reg()
213 return get_timer_reg(vcpu, reg); in kvm_arm_get_reg()
215 return kvm_arm_coproc_get_reg(vcpu, reg); in kvm_arm_get_reg()
218 int kvm_arm_set_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg) in kvm_arm_set_reg() argument
221 if ((reg->id & ~KVM_REG_SIZE_MASK) >> 32 != KVM_REG_ARM >> 32) in kvm_arm_set_reg()
225 if ((reg->id & KVM_REG_ARM_COPROC_MASK) == KVM_REG_ARM_CORE) in kvm_arm_set_reg()
226 return set_core_reg(vcpu, reg); in kvm_arm_set_reg()
228 if (is_timer_reg(reg->id)) in kvm_arm_set_reg()
229 return set_timer_reg(vcpu, reg); in kvm_arm_set_reg()
231 return kvm_arm_coproc_set_reg(vcpu, reg); in kvm_arm_set_reg()