mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-21 11:44:01 +08:00
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: Thomas Huth <thuth@linux.vnet.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
b764bb1c50
commit
aeb87c3cb7
@ -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, ®1, ®2);
|
||||||
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;
|
||||||
|
Loading…
Reference in New Issue
Block a user