From owner-freebsd-scsi@FreeBSD.ORG Fri Apr 6 05:42:57 2007 Return-Path: X-Original-To: freebsd-scsi@FreeBSD.org Delivered-To: freebsd-scsi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 82E1116A40E for ; Fri, 6 Apr 2007 05:42:57 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.freebsd.org (Postfix) with ESMTP id D7F7313C487 for ; Fri, 6 Apr 2007 05:42:56 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from phobos.samsco.home (phobos.samsco.home [192.168.254.11]) (authenticated bits=0) by pooker.samsco.org (8.13.8/8.13.8) with ESMTP id l365gZWj086886; Thu, 5 Apr 2007 23:42:35 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <4615DDBF.5050303@samsco.org> Date: Thu, 05 Apr 2007 23:42:23 -0600 From: Scott Long User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.2pre) Gecko/20070111 SeaMonkey/1.1 MIME-Version: 1.0 To: LI Xin References: <4615D6A0.9020706@delphij.net> In-Reply-To: <4615D6A0.9020706@delphij.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (pooker.samsco.org [168.103.85.57]); Thu, 05 Apr 2007 23:42:35 -0600 (MDT) X-Spam-Status: No, score=-1.4 required=5.5 tests=ALL_TRUSTED autolearn=failed version=3.1.8 X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on pooker.samsco.org Cc: freebsd-scsi@FreeBSD.org Subject: Re: asr support on amd64? X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Apr 2007 05:42:57 -0000 LI Xin wrote: > Hi, > > It seems that asr(4) does compile on amd64, is there any reason why it > is not enabled in GENERIC and modules build? > > Cheers, The hardware can only handle 32 bit DMA (though there are rumors of 64-bit extensions that may or may not exist in some hardware). Unfortunately, the driver makes many 32-bit assumptions as well as being written in a way that is completely incompatible with the busdma architecture. Without this, you don't get bounce buffers for >32bit DMA. Fixing it is far from trivial; I've spent dozens of hours on it and have gotten it into much better shape that it was originally, but it still requires a significant amount of effort and re-architecture in order to work. Adding the rumored 32-bit extensions is not enough; there are quite a few spots of 64-bit long/int uncleanliness that are hidden by many layers of casts and obfuscation. If you're interested in working on this, I'd be happy to offer suggestions and answer questions. You might also consider porting the NetBSD I2O layer + ASR extension, or even writing a new driver and/or I2O layer from scratch. Be aware that both this hardware and I2O in general are dead ends; very little development is going on in these technologies anymore (arguably for very good reason). Scott