Re: [PATCH 3/5] KVM: s390: In-kernel handling of I/O instructions.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07.12.2012, at 13:30, Cornelia Huck wrote:

> Explicitely catch all channel I/O related instructions intercepts
> in the kernel and set condition code 3 for them.
> 
> This paves the way for properly handling these instructions later
> on.
> 
> Note: This is not architecture compliant (the previous code wasn't
> either) since setting cc 3 is not the correct thing to do for some
> of these instructions. For Linux guests, however, it still has the
> intended effect of stopping css probing.
> 
> Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
> ---
> arch/s390/kvm/intercept.c | 19 +++++++++++++---
> arch/s390/kvm/kvm-s390.h  |  1 +
> arch/s390/kvm/priv.c      | 56 +++++++++++++++++++++++++++++++++--------------
> 3 files changed, 56 insertions(+), 20 deletions(-)
> 
> diff --git a/arch/s390/kvm/intercept.c b/arch/s390/kvm/intercept.c
> index ec1177f..754dc9e 100644
> --- a/arch/s390/kvm/intercept.c
> +++ b/arch/s390/kvm/intercept.c
> @@ -33,8 +33,6 @@ static int handle_lctlg(struct kvm_vcpu *vcpu)
> 	int reg, rc;
> 
> 	vcpu->stat.instruction_lctlg++;
> -	if ((vcpu->arch.sie_block->ipb & 0xff) != 0x2f)
> -		return -EOPNOTSUPP;
> 
> 	useraddr = disp2;
> 	if (base2)
> @@ -104,6 +102,21 @@ static int handle_lctl(struct kvm_vcpu *vcpu)
> 	return 0;
> }
> 
> +static intercept_handler_t eb_handlers[256] = {

const.

Reviewed-by: Alexander Graf <agraf@xxxxxxx>


Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux