From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LU6Tq-0000Fc-4l for qemu-devel@nongnu.org; Mon, 02 Feb 2009 16:37:22 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LU6To-0000EQ-Po for qemu-devel@nongnu.org; Mon, 02 Feb 2009 16:37:21 -0500 Received: from [199.232.76.173] (port=42725 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LU6To-0000EN-Gw for qemu-devel@nongnu.org; Mon, 02 Feb 2009 16:37:20 -0500 Received: from sj-iport-5.cisco.com ([171.68.10.87]:47882) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.60) (envelope-from ) id 1LU6Tn-0001wF-CY for qemu-devel@nongnu.org; Mon, 02 Feb 2009 16:37:20 -0500 Message-ID: <4987674E.9050201@cisco.com> Date: Mon, 02 Feb 2009 14:36:14 -0700 From: "David S. Ahern" MIME-Version: 1.0 References: <497E1B15.2090908@msgid.tls.msk.ru> <497E1F7D.90300@msgid.tls.msk.ru> <49876547.1080904@cisco.com> <49876678.4090808@msgid.tls.msk.ru> In-Reply-To: <49876678.4090808@msgid.tls.msk.ru> 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: Michael Tokarev Cc: qemu-devel@nongnu.org, KVM list Michael Tokarev wrote: > 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); > Interesting. that change was not needed to fix my problem. david >> 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