From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tokarev Subject: Re: more about serial ports: do they even work? Date: Tue, 03 Feb 2009 00:32:40 +0300 Message-ID: <49876678.4090808@msgid.tls.msk.ru> References: <497E1B15.2090908@msgid.tls.msk.ru> <497E1F7D.90300@msgid.tls.msk.ru> <49876547.1080904@cisco.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: KVM list , qemu-devel@nongnu.org To: "David S. Ahern" Return-path: Received: from isrv.corpit.ru ([81.13.33.159]:55818 "EHLO isrv.corpit.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753792AbZBBVcp (ORCPT ); Mon, 2 Feb 2009 16:32:45 -0500 In-Reply-To: <49876547.1080904@cisco.com> Sender: kvm-owner@vger.kernel.org List-ID: David S. Ahern wrote: > I don't recall seeing a followup to this post. > > To put Michael's second suggestion into patch form, the following fixes > the problem for me: > > --- kvm-81.orig/qemu/qemu-char.c 2008-12-14 06:16:27.000000000 -0700 > +++ kvm-81/qemu/qemu-char.c 2009-02-02 14:12:20.000000000 -0700 > @@ -1078,20 +1078,21 @@ > if (sarg | TIOCM_DTR) > *targ |= CHR_TIOCM_DTR; > if (sarg | TIOCM_RTS) > *targ |= CHR_TIOCM_RTS; > } > break; > case CHR_IOCTL_SERIAL_SET_TIOCM: > { > int sarg = *(int *)arg; > int targ = 0; > + ioctl(s->fd_in, TIOCMGET, &targ); here, one more operation is necessary: targ &= ~(TIOCM_DTR|TIOCM_RTS); > if (sarg | CHR_TIOCM_DTR) > targ |= TIOCM_DTR; > if (sarg | CHR_TIOCM_RTS) > targ |= TIOCM_RTS; > ioctl(s->fd_in, TIOCMSET, &targ); > } > break; > default: > return -ENOTSUP; > } > > Is this approach palatable to folks? > > david /mjt From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LU6PX-0006Y3-Gu for qemu-devel@nongnu.org; Mon, 02 Feb 2009 16:32:55 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LU6PU-0006Vz-Tc for qemu-devel@nongnu.org; Mon, 02 Feb 2009 16:32:55 -0500 Received: from [199.232.76.173] (port=56913 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LU6PU-0006Vo-Lq for qemu-devel@nongnu.org; Mon, 02 Feb 2009 16:32:52 -0500 Received: from isrv.corpit.ru ([81.13.33.159]:60060) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LU6PT-0001ah-QF for qemu-devel@nongnu.org; Mon, 02 Feb 2009 16:32:52 -0500 Message-ID: <49876678.4090808@msgid.tls.msk.ru> Date: Tue, 03 Feb 2009 00:32:40 +0300 From: Michael Tokarev MIME-Version: 1.0 References: <497E1B15.2090908@msgid.tls.msk.ru> <497E1F7D.90300@msgid.tls.msk.ru> <49876547.1080904@cisco.com> In-Reply-To: <49876547.1080904@cisco.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: more about serial ports: do they even work? Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "David S. Ahern" Cc: qemu-devel@nongnu.org, KVM list David S. Ahern wrote: > I don't recall seeing a followup to this post. > > To put Michael's second suggestion into patch form, the following fixes > the problem for me: > > --- kvm-81.orig/qemu/qemu-char.c 2008-12-14 06:16:27.000000000 -0700 > +++ kvm-81/qemu/qemu-char.c 2009-02-02 14:12:20.000000000 -0700 > @@ -1078,20 +1078,21 @@ > if (sarg | TIOCM_DTR) > *targ |= CHR_TIOCM_DTR; > if (sarg | TIOCM_RTS) > *targ |= CHR_TIOCM_RTS; > } > break; > case CHR_IOCTL_SERIAL_SET_TIOCM: > { > int sarg = *(int *)arg; > int targ = 0; > + ioctl(s->fd_in, TIOCMGET, &targ); here, one more operation is necessary: targ &= ~(TIOCM_DTR|TIOCM_RTS); > if (sarg | CHR_TIOCM_DTR) > targ |= TIOCM_DTR; > if (sarg | CHR_TIOCM_RTS) > targ |= TIOCM_RTS; > ioctl(s->fd_in, TIOCMSET, &targ); > } > break; > default: > return -ENOTSUP; > } > > Is this approach palatable to folks? > > david /mjt