asr support on amd64?
Scott Long
scottl at samsco.org
Fri Apr 6 05:42:57 UTC 2007
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
More information about the freebsd-scsi
mailing list