Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 05 Apr 2007 23:42:23 -0600
From:      Scott Long <scottl@samsco.org>
To:        LI Xin <delphij@delphij.net>
Cc:        freebsd-scsi@FreeBSD.org
Subject:   Re: asr support on amd64?
Message-ID:  <4615DDBF.5050303@samsco.org>
In-Reply-To: <4615D6A0.9020706@delphij.net>
References:  <4615D6A0.9020706@delphij.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4615DDBF.5050303>