Commit aeb87c3c authored by Thomas Huth's avatar Thomas Huth Committed by Paolo Bonzini

KVM: s390: Fix epsw instruction decoding

The handle_epsw() function calculated the first register in the wrong way,
so that it always used r0 by mistake. Now the code uses the common helper
function for decoding the registers of rre functions instead to avoid such
mistakes.
Signed-off-by: default avatarThomas Huth <thuth@linux.vnet.ibm.com>
Reviewed-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: default avatarCornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent b764bb1c
...@@ -457,8 +457,7 @@ static int handle_epsw(struct kvm_vcpu *vcpu) ...@@ -457,8 +457,7 @@ static int handle_epsw(struct kvm_vcpu *vcpu)
{ {
int reg1, reg2; int reg1, reg2;
reg1 = (vcpu->arch.sie_block->ipb & 0x00f00000) >> 24; kvm_s390_get_regs_rre(vcpu, &reg1, &reg2);
reg2 = (vcpu->arch.sie_block->ipb & 0x000f0000) >> 16;
/* This basically extracts the mask half of the psw. */ /* This basically extracts the mask half of the psw. */
vcpu->run->s.regs.gprs[reg1] &= 0xffffffff00000000; vcpu->run->s.regs.gprs[reg1] &= 0xffffffff00000000;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment