[sane-devel] sane SCSI 32bit emulation on 64bit

Volker Kuhlmann list0570 at paradise.net.nz
Tue Jan 10 01:18:22 UTC 2006


On Tue 10 Jan 2006 06:58:20 NZDT +1300, abel deuring wrote:

> http://lists.alioth.debian.org/pipermail/sane-devel/2006-January/015886.html

Thanks for this link, my ISP routed that particular email to /dev/null.

> No, Dieter is right indeed. Sane backends too use sanei_scsi.c. The
> problems he had with his SCSI scanner under a 64 bit Linux Sparc

Ah, I was thinking it was solaris sparc.

> kernel boiled down exactly to the fact that you can't pass a 32 bit
> sg_io_hdr structure to a 64 bit kernel.

Expanding the sg_io_hdr struct into 64 bit can be done by the
application by copying members to a new memory area with 64 bit member
alignment, and passing the new location to write(). As you say this
doesn't extend the pointers from 32 bit into 64 bit pointer space, so it
won't work. Darn.

Patching the sg driver would only be for the dedicated user, if it's
possible for the driver to autodetect whether the call was from a 32bit
application.

> It was also Dieter who tested #define DISABLE_LINUX_SG_IO .

How much of a performance hit does this take?

Thanks,

Volker

-- 
Volker Kuhlmann			is possibly list0570 with the domain in header
http://volker.dnsalias.net/		Please do not CC list postings to me.



More information about the sane-devel mailing list