diff options
author | Thomas Huth <thuth@linux.vnet.ibm.com> | 2013-10-09 08:15:54 -0400 |
---|---|---|
committer | Cornelia Huck <cornelia.huck@de.ibm.com> | 2013-11-28 05:08:12 -0500 |
commit | f092669e743048f50c714a1af7f8e3478d7b9e1b (patch) | |
tree | 7a0fbdae2bd33f678d3304a9e186335c368644a9 /arch | |
parent | ac5b03420150241dc2db3cb4aa4f58c1e7e4640f (diff) |
KVM: s390: Fix access to CR6 in TPI handler
The TPI handler currently uses vcpu->run->s.regs.crs[6] to get the current
value of CR6. I think this is wrong, because vcpu->run->s.regs.crs is
only updated when kvm_arch_vcpu_ioctl_run() drops back to userspace.
So let's change the TPI handler to use vcpu->arch.sie_block->gcr[6] instead.
Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/s390/kvm/priv.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/kvm/priv.c b/arch/s390/kvm/priv.c index 2440602e6df1..b18fe52c2c47 100644 --- a/arch/s390/kvm/priv.c +++ b/arch/s390/kvm/priv.c | |||
@@ -197,7 +197,7 @@ static int handle_tpi(struct kvm_vcpu *vcpu) | |||
197 | if (addr & 3) | 197 | if (addr & 3) |
198 | return kvm_s390_inject_program_int(vcpu, PGM_SPECIFICATION); | 198 | return kvm_s390_inject_program_int(vcpu, PGM_SPECIFICATION); |
199 | cc = 0; | 199 | cc = 0; |
200 | inti = kvm_s390_get_io_int(vcpu->kvm, vcpu->run->s.regs.crs[6], 0); | 200 | inti = kvm_s390_get_io_int(vcpu->kvm, vcpu->arch.sie_block->gcr[6], 0); |
201 | if (!inti) | 201 | if (!inti) |
202 | goto no_interrupt; | 202 | goto no_interrupt; |
203 | cc = 1; | 203 | cc = 1; |