intercept.c (b70366e5d31788650b2a5cec5cd13ea80ac7e44a) intercept.c (c0a6bfdc18b83290b65372a7687134052f382bdf)
1/*
2 * in-kernel handling for sie intercepts
3 *
4 * Copyright IBM Corp. 2008, 2014
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License (version 2 only)
8 * as published by the Free Software Foundation.

--- 354 unchanged lines hidden (view full) ---

363{
364 psw_t oldpsw, newpsw;
365 int rc;
366
367 vcpu->stat.exit_operation_exception++;
368 trace_kvm_s390_handle_operexc(vcpu, vcpu->arch.sie_block->ipa,
369 vcpu->arch.sie_block->ipb);
370
1/*
2 * in-kernel handling for sie intercepts
3 *
4 * Copyright IBM Corp. 2008, 2014
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License (version 2 only)
8 * as published by the Free Software Foundation.

--- 354 unchanged lines hidden (view full) ---

363{
364 psw_t oldpsw, newpsw;
365 int rc;
366
367 vcpu->stat.exit_operation_exception++;
368 trace_kvm_s390_handle_operexc(vcpu, vcpu->arch.sie_block->ipa,
369 vcpu->arch.sie_block->ipb);
370
371 if (vcpu->arch.sie_block->ipa == 0xb256 &&
372 test_kvm_facility(vcpu->kvm, 74))
371 if (vcpu->arch.sie_block->ipa == 0xb256)
373 return handle_sthyi(vcpu);
374
375 if (vcpu->arch.sie_block->ipa == 0 && vcpu->kvm->arch.user_instr0)
376 return -EOPNOTSUPP;
377 rc = read_guest_lc(vcpu, __LC_PGM_NEW_PSW, &newpsw, sizeof(psw_t));
378 if (rc)
379 return rc;
380 /*

--- 58 unchanged lines hidden ---
372 return handle_sthyi(vcpu);
373
374 if (vcpu->arch.sie_block->ipa == 0 && vcpu->kvm->arch.user_instr0)
375 return -EOPNOTSUPP;
376 rc = read_guest_lc(vcpu, __LC_PGM_NEW_PSW, &newpsw, sizeof(psw_t));
377 if (rc)
378 return rc;
379 /*

--- 58 unchanged lines hidden ---