From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [PATCH 2/3] s390/kvm: Add documentation for KVM_S390_INTERRUPT. Date: Wed, 10 Oct 2012 13:27:09 -0300 Message-ID: <20121010162709.GA2506@amt.cnet> References: <1349187938-39712-1-git-send-email-borntraeger@de.ibm.com> <1349187938-39712-3-git-send-email-borntraeger@de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Avi Kivity , Alexander Graf , Jens Freimann , Cornelia Huck , Heiko Carstens , Martin Schwidefsky , Heinz Graalfs , KVM To: Christian Borntraeger Return-path: Received: from mx1.redhat.com ([209.132.183.28]:38109 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754179Ab2JJQ3E (ORCPT ); Wed, 10 Oct 2012 12:29:04 -0400 Content-Disposition: inline In-Reply-To: <1349187938-39712-3-git-send-email-borntraeger@de.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: On Tue, Oct 02, 2012 at 04:25:37PM +0200, Christian Borntraeger wrote: > From: Cornelia Huck > > Signed-off-by: Cornelia Huck > Signed-off-by: Martin Schwidefsky > Signed-off-by: Christian Borntraeger > --- > Documentation/virtual/kvm/api.txt | 33 +++++++++++++++++++++++++++++++++ > 1 file changed, 33 insertions(+) > > diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt > index 36befa7..c533338 100644 > --- a/Documentation/virtual/kvm/api.txt > +++ b/Documentation/virtual/kvm/api.txt > @@ -1984,6 +1984,39 @@ return the hash table order in the parameter. (If the guest is using > the virtualized real-mode area (VRMA) facility, the kernel will > re-create the VMRA HPTEs on the next KVM_RUN of any vcpu.) > > +4.77 KVM_S390_INTERRUPT > + > +Capability: basic > +Archtectures: s390 typo. > +Type: vm ioctl, vcpu ioctl > +Parameters: struct kvm_s390_interrupt (in) > +Returns: 0 on success, -1 on error > + > +Allows to inject an interrupt to the guest. Interrupts can be floating > +(vm ioctl) or per cpu (vcpu ioctl), depending on the interrupt type. > + > +Interrupt parameters are passed via kvm_s390_interrupt: > + > +struct kvm_s390_interrupt { > + __u32 type; > + __u32 parm; > + __u64 parm64; > +}; No need for a reserved area for extensibility? > + > +type can be one of the following: > + > +KVM_S390_SIGP_STOP (vcpu) - sigp restart > +KVM_S390_PROGRAM_INT (vcpu) - program check; code in parm > +KVM_S390_SIGP_SET_PREFIX (vcpu) - sigp set prefix; prefix address in parm > +KVM_S390_RESTART (vcpu) - restart > +KVM_S390_INT_VIRTIO (vm) - virtio external interrupt; external interrupt > + parameters in parm and parm64 > +KVM_S390_INT_SERVICE (vm) - sclp external interrupt; sclp parameter in parm > +KVM_S390_INT_EMERGENCY (vcpu) - sigp emergency; source cpu in parm > +KVM_S390_INT_EXTERNAL_CALL (vcpu) - sigp external call; source cpu in parm > + > +Note that the vcpu ioctl is asynchronous to vpcu execution. typo