diff options
| author | Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com> | 2011-07-24 04:48:31 -0400 |
|---|---|---|
| committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2011-07-24 04:48:22 -0400 |
| commit | 8bb3a2ebcf2a406a60d04f5a8756ea936b7f0bf3 (patch) | |
| tree | d649f0137c86e9f486cf92aae815068dcb27e7b0 /arch/s390/kvm/interrupt.c | |
| parent | cadfce72778e9417baff117bb563a1c2f8fef97b (diff) | |
[S390] kvm: make sigp emerg smp capable
SIGP emerg needs to pass the source vpu adress into __LC_CPU_ADDRESS of the
target guest.
Signed-off-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kvm/interrupt.c')
| -rw-r--r-- | arch/s390/kvm/interrupt.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c index 35c21bf910c5..c9aeb4b4d0b8 100644 --- a/arch/s390/kvm/interrupt.c +++ b/arch/s390/kvm/interrupt.c | |||
| @@ -128,6 +128,10 @@ static void __do_deliver_interrupt(struct kvm_vcpu *vcpu, | |||
| 128 | if (rc == -EFAULT) | 128 | if (rc == -EFAULT) |
| 129 | exception = 1; | 129 | exception = 1; |
| 130 | 130 | ||
| 131 | rc = put_guest_u16(vcpu, __LC_CPU_ADDRESS, inti->emerg.code); | ||
| 132 | if (rc == -EFAULT) | ||
| 133 | exception = 1; | ||
| 134 | |||
| 131 | rc = copy_to_guest(vcpu, __LC_EXT_OLD_PSW, | 135 | rc = copy_to_guest(vcpu, __LC_EXT_OLD_PSW, |
| 132 | &vcpu->arch.sie_block->gpsw, sizeof(psw_t)); | 136 | &vcpu->arch.sie_block->gpsw, sizeof(psw_t)); |
| 133 | if (rc == -EFAULT) | 137 | if (rc == -EFAULT) |
