diff options
author | David Hildenbrand <dahi@linux.vnet.ibm.com> | 2014-11-07 08:35:55 -0500 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2014-11-28 07:59:02 -0500 |
commit | af43eb2fd76a275a14d0fcbed43dbf650f2c315b (patch) | |
tree | b5a8eeee88565b9952ecad7b06028f0c341f9247 /arch/s390 | |
parent | 0146a7b0b0e8691e74d6c8d1d82ad40e3d526ac2 (diff) |
KVM: s390: external param not valid for cpu timer and ckc
The 32bit external interrupt parameter is only valid for timing-alert and
service-signal interrupts.
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/kvm/interrupt.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c index 8f50f8ccced3..bccda76c5cc2 100644 --- a/arch/s390/kvm/interrupt.c +++ b/arch/s390/kvm/interrupt.c | |||
@@ -345,12 +345,12 @@ static int __must_check __do_deliver_interrupt(struct kvm_vcpu *vcpu, | |||
345 | break; | 345 | break; |
346 | case KVM_S390_INT_CLOCK_COMP: | 346 | case KVM_S390_INT_CLOCK_COMP: |
347 | trace_kvm_s390_deliver_interrupt(vcpu->vcpu_id, inti->type, | 347 | trace_kvm_s390_deliver_interrupt(vcpu->vcpu_id, inti->type, |
348 | inti->ext.ext_params, 0); | 348 | 0, 0); |
349 | rc = deliver_ckc_interrupt(vcpu); | 349 | rc = deliver_ckc_interrupt(vcpu); |
350 | break; | 350 | break; |
351 | case KVM_S390_INT_CPU_TIMER: | 351 | case KVM_S390_INT_CPU_TIMER: |
352 | trace_kvm_s390_deliver_interrupt(vcpu->vcpu_id, inti->type, | 352 | trace_kvm_s390_deliver_interrupt(vcpu->vcpu_id, inti->type, |
353 | inti->ext.ext_params, 0); | 353 | 0, 0); |
354 | rc = put_guest_lc(vcpu, EXT_IRQ_CPU_TIMER, | 354 | rc = put_guest_lc(vcpu, EXT_IRQ_CPU_TIMER, |
355 | (u16 *)__LC_EXT_INT_CODE); | 355 | (u16 *)__LC_EXT_INT_CODE); |
356 | rc |= write_guest_lc(vcpu, __LC_EXT_OLD_PSW, | 356 | rc |= write_guest_lc(vcpu, __LC_EXT_OLD_PSW, |
@@ -358,8 +358,6 @@ static int __must_check __do_deliver_interrupt(struct kvm_vcpu *vcpu, | |||
358 | sizeof(psw_t)); | 358 | sizeof(psw_t)); |
359 | rc |= read_guest_lc(vcpu, __LC_EXT_NEW_PSW, | 359 | rc |= read_guest_lc(vcpu, __LC_EXT_NEW_PSW, |
360 | &vcpu->arch.sie_block->gpsw, sizeof(psw_t)); | 360 | &vcpu->arch.sie_block->gpsw, sizeof(psw_t)); |
361 | rc |= put_guest_lc(vcpu, inti->ext.ext_params, | ||
362 | (u32 *)__LC_EXT_PARAMS); | ||
363 | break; | 361 | break; |
364 | case KVM_S390_INT_SERVICE: | 362 | case KVM_S390_INT_SERVICE: |
365 | VCPU_EVENT(vcpu, 4, "interrupt: sclp parm:%x", | 363 | VCPU_EVENT(vcpu, 4, "interrupt: sclp parm:%x", |