From owner-freebsd-firewire@FreeBSD.ORG Fri May 21 09:46:48 2004 Return-Path: Delivered-To: freebsd-firewire@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 61AEC16A4CE for ; Fri, 21 May 2004 09:46:48 -0700 (PDT) Received: from mail.qubesoft.com (gate.qubesoft.com [217.169.36.34]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6D74843D3F for ; Fri, 21 May 2004 09:46:47 -0700 (PDT) (envelope-from dfr@nlsystems.com) Received: from bluebottle.qubesoft.com (bluebottle.qubesoft.com [192.168.1.2]) by mail.qubesoft.com (8.12.9/8.12.9) with ESMTP id i4LGjLkM058736; Fri, 21 May 2004 17:45:21 +0100 (BST) (envelope-from dfr@nlsystems.com) Received: from builder02.qubesoft.com (builder02.qubesoft.com [192.168.1.8]) i4LGjEON074773; Fri, 21 May 2004 17:45:16 +0100 (BST) (envelope-from dfr@nlsystems.com) From: Doug Rabson To: Hidetoshi Shimokawa In-Reply-To: <87vfiphktk.wl@tora.nunu.org> References: <87vfiphktk.wl@tora.nunu.org> Content-Type: text/plain Message-Id: <1085157914.25509.10.camel@builder02.qubesoft.com> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 Date: Fri, 21 May 2004 17:45:14 +0100 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 'clamd / ClamAV version 0.65', clamav-milter version '0.60p' cc: freebsd-firewire@freebsd.org Subject: Re: async bug X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 May 2004 16:46:48 -0000 On Fri, 2004-05-21 at 16:16, Hidetoshi Shimokawa wrote: > At Tue, 18 May 2004 14:33:57 -0700 (PDT), > Buzz Slye wrote: > > > > > > The code for the version of 2004/03/28 does not appear to work correctly > > for an asyncronus request of a single register. > > > > (i.e., try: fwcontrol -b 0) > > > > R. E. Slye > > NASA/Ames > > The ioctl(2) interface of /dev/fw0.0 is not well-tested and may > have many bugs. If you need only quad/block read/write request > (without LOCK transaction), /dev/fwmem interface should be > easier to use and well-tested. The souce code of dconschat(8) > is an example of using /dev/fwmem. I think that it might be simpler to break out the generic FW_ASYREQ ioctl into separate ones which do various different async requests. One problem with it now is that the ioctl argument is large because of the data array. The whole thing must be copied in and out even for single quad reads/writes.