diff options
author | Victor Kamensky <victor.kamensky@linaro.org> | 2014-06-12 12:30:03 -0400 |
---|---|---|
committer | Christoffer Dall <christoffer.dall@linaro.org> | 2014-07-11 07:57:39 -0400 |
commit | 6d7311b520864531c81f0e0237e96146d8057d77 (patch) | |
tree | 21fb1413d53c01fd192740a6961e06cbf698367b | |
parent | 19b0e60a63f758a28329aa40f4270a6c98c2dcb7 (diff) |
ARM: KVM: __kvm_vcpu_run function return result fix in BE case
The __kvm_vcpu_run function returns a 64-bit result in two registers,
which has to be adjusted for BE case.
Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
-rw-r--r-- | arch/arm/kvm/interrupts.S | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/kvm/interrupts.S b/arch/arm/kvm/interrupts.S index 24d4e65806a7..01dcb0e752d9 100644 --- a/arch/arm/kvm/interrupts.S +++ b/arch/arm/kvm/interrupts.S | |||
@@ -199,8 +199,13 @@ after_vfp_restore: | |||
199 | 199 | ||
200 | restore_host_regs | 200 | restore_host_regs |
201 | clrex @ Clear exclusive monitor | 201 | clrex @ Clear exclusive monitor |
202 | #ifndef CONFIG_CPU_ENDIAN_BE8 | ||
202 | mov r0, r1 @ Return the return code | 203 | mov r0, r1 @ Return the return code |
203 | mov r1, #0 @ Clear upper bits in return value | 204 | mov r1, #0 @ Clear upper bits in return value |
205 | #else | ||
206 | @ r1 already has return code | ||
207 | mov r0, #0 @ Clear upper bits in return value | ||
208 | #endif /* CONFIG_CPU_ENDIAN_BE8 */ | ||
204 | bx lr @ return to IOCTL | 209 | bx lr @ return to IOCTL |
205 | 210 | ||
206 | /******************************************************************** | 211 | /******************************************************************** |