KVM: s390: write external damage code on machine checks
authorDavid Hildenbrand <dahi@linux.vnet.ibm.com>
Wed, 3 Aug 2016 10:25:08 +0000 (12:25 +0200)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Thu, 8 Sep 2016 07:07:52 +0000 (09:07 +0200)
Let's also write the external damage code already provided by
struct kvm_s390_mchk_info.

Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/kernel/asm-offsets.c
arch/s390/kvm/interrupt.c

index 1f95cc1..f3df9e0 100644 (file)
@@ -125,6 +125,7 @@ int main(void)
        OFFSET(__LC_STFL_FAC_LIST, lowcore, stfl_fac_list);
        OFFSET(__LC_STFLE_FAC_LIST, lowcore, stfle_fac_list);
        OFFSET(__LC_MCCK_CODE, lowcore, mcck_interruption_code);
+       OFFSET(__LC_EXT_DAMAGE_CODE, lowcore, external_damage_code);
        OFFSET(__LC_MCCK_FAIL_STOR_ADDR, lowcore, failing_storage_address);
        OFFSET(__LC_LAST_BREAK, lowcore, breaking_event_addr);
        OFFSET(__LC_RST_OLD_PSW, lowcore, restart_old_psw);
index c0ef625..353e0b7 100644 (file)
@@ -460,6 +460,8 @@ static int __write_machine_check(struct kvm_vcpu *vcpu,
                             &vcpu->arch.sie_block->gcr, 128);
 
        /* Extended interruption information */
+       rc |= put_guest_lc(vcpu, mchk->ext_damage_code,
+                          (u32 __user *) __LC_EXT_DAMAGE_CODE);
        rc |= put_guest_lc(vcpu, mchk->failing_storage_address,
                           (u64 __user *) __LC_MCCK_FAIL_STOR_ADDR);
        rc |= write_guest_lc(vcpu, __LC_PSW_SAVE_AREA, &mchk->fixed_logout,