Re: [kvm-unit-tests PATCH] s390x: sie: Only overwrite r3 if it isn't needed anymore

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02.06.21 11:43, Janosch Frank wrote:
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@xxxxxxxxxxxxx>
---

Finding this took me longer than I'd like to admit. :)

---
  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)


Oh, that's nasty

Reviewed-by: David Hildenbrand <david@xxxxxxxxxx>

--
Thanks,

David / dhildenb




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux