From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40587) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sz212-0007GM-Kb for qemu-devel@nongnu.org; Wed, 08 Aug 2012 04:53:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sz211-0003ZR-Ft for qemu-devel@nongnu.org; Wed, 08 Aug 2012 04:53:20 -0400 Received: from e06smtp18.uk.ibm.com ([195.75.94.114]:51774) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sz211-0003ZB-7c for qemu-devel@nongnu.org; Wed, 08 Aug 2012 04:53:19 -0400 Received: from /spool/local by e06smtp18.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 8 Aug 2012 09:53:18 +0100 Received: from d06av04.portsmouth.uk.ibm.com (d06av04.portsmouth.uk.ibm.com [9.149.37.216]) by b06cxnps4074.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q788r8nc23199924 for ; Wed, 8 Aug 2012 08:53:09 GMT Received: from d06av04.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av04.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q788rEBu002936 for ; Wed, 8 Aug 2012 02:53:14 -0600 Date: Wed, 8 Aug 2012 10:53:12 +0200 From: Cornelia Huck Message-ID: <20120808105312.2ffd0365@BR9GNB5Z> In-Reply-To: References: <1344351173-2716-1-git-send-email-cornelia.huck@de.ibm.com> <1344351173-2716-3-git-send-email-cornelia.huck@de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/5] s390: Virtual channel subsystem support. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: linux-s390 , Anthony Liguori , Marcelo Tosatti , KVM , Carsten Otte , Heiko Carstens , Rusty Russell , Sebastian Ott , qemu-devel , Alexander Graf , Christian Borntraeger , Avi Kivity , Martin Schwidefsky On Wed, 8 Aug 2012 09:27:32 +0100 Peter Maydell wrote: > On 7 August 2012 15:52, Cornelia Huck wrote: > > +static void sch_handle_clear_func(SubchDev *sch) > > +{ > > + struct pmcw *p = &sch->curr_status.pmcw; > > + struct scsw *s = &sch->curr_status.scsw; > > + int path; > > + > > + /* Path management: In our simple css, we always choose the only path. */ > > + path = 0x80; > > + > > + /* Reset values prior to 'issueing the clear signal'. */ > > + p->lpum = 0; > > This is unnecessary since we're going to set p->lpum to something else about > ten lines later, right? My intention here was following the description in the architecture closely. In our case, 'attempting to issue the clear signal' will always succeed, and so we will always set the lpum later on - on real hardware, this may be different. > > > + p->pom = 0xff; > > + s->pno = 0; > > + > > + /* We always 'attempt to issue the clear signal', and we always succeed. */ > > + sch->orb = NULL; > > + sch->channel_prog = NULL; > > + sch->last_cmd = NULL; > > + s->actl &= ~SCSW_ACTL_CLEAR_PEND; > > + s->stctl |= SCSW_STCTL_STATUS_PEND; > > + > > + s->dstat = 0; > > + s->cstat = 0; > > + p->lpum = path; > > + > > +} > > -- PMM >