[kvm-unit-tests GIT PULL 01/12] s390x: sie: Only overwrite r3 if it isn't needed anymore

Janosch Frank
2021-06-22T08:21:40Z

The lmg overwrites r3 which we later use to reference the fprs and fpc.
Let's do the lmg at the end where overwriting is fine.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
---
s390x/cpu.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/s390x/cpu.S b/s390x/cpu.S
index e2ad56c8..82b5e25d 100644
--- a/s390x/cpu.S
+++ b/s390x/cpu.S
@@ -81,11 +81,11 @@ sie64a:
stg %r3,__SF_SIE_SAVEAREA(%r15) # save guest register save area

# Load guest's gprs, fprs and fpc
- lmg %r0,%r13,SIE_SAVEAREA_GUEST_GRS(%r3)
.irp i, 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
ld \i, \i * 8 + SIE_SAVEAREA_GUEST_FPRS(%r3)
.endr
lfpc SIE_SAVEAREA_GUEST_FPC(%r3)
+ lmg %r0,%r13,SIE_SAVEAREA_GUEST_GRS(%r3)

# Move scb ptr into r14 for the sie instruction
lg %r14,__SF_SIE_CONTROL(%r15)
--
2.31.1