r0/r1 are getting mixed up with r13/r14. Probably a copy/paste issue. Reported-by: Andreas Sandberg <andreas.sandberg@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> --- arch/arm/kvm/guest.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm/kvm/guest.c b/arch/arm/kvm/guest.c index 7215305..53f72a0 100644 --- a/arch/arm/kvm/guest.c +++ b/arch/arm/kvm/guest.c @@ -58,8 +58,8 @@ int kvm_arch_vcpu_ioctl_get_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs) regs->reg14[MODE_ABT] = vcpu_regs->abt_regs[1]; regs->reg13[MODE_UND] = vcpu_regs->und_regs[0]; regs->reg14[MODE_UND] = vcpu_regs->und_regs[1]; - regs->reg13[MODE_USR] = vcpu_regs->usr_regs[0]; - regs->reg14[MODE_USR] = vcpu_regs->usr_regs[1]; + regs->reg13[MODE_USR] = vcpu_regs->usr_regs[13]; + regs->reg14[MODE_USR] = vcpu_regs->usr_regs[14]; regs->spsr[MODE_FIQ] = vcpu_regs->fiq_regs[7]; regs->spsr[MODE_IRQ] = vcpu_regs->irq_regs[2]; @@ -94,8 +94,8 @@ int kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs) vcpu_regs->abt_regs[1] = regs->reg14[MODE_ABT]; vcpu_regs->und_regs[0] = regs->reg13[MODE_UND]; vcpu_regs->und_regs[1] = regs->reg14[MODE_UND]; - vcpu_regs->usr_regs[0] = regs->reg13[MODE_USR]; - vcpu_regs->usr_regs[1] = regs->reg14[MODE_USR]; + vcpu_regs->usr_regs[13] = regs->reg13[MODE_USR]; + vcpu_regs->usr_regs[14] = regs->reg14[MODE_USR]; vcpu_regs->fiq_regs[7] = regs->spsr[MODE_FIQ]; vcpu_regs->irq_regs[2] = regs->spsr[MODE_IRQ]; -- 1.7.10.3 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm