cvs commit: src/sys/cam cam_ccb.h src/sys/cam/scsi scsi_all.c
scsi_all.h scsi_da.c
Kenneth D. Merry
ken at kdm.org
Wed Apr 30 10:51:41 PDT 2003
On Wed, Apr 30, 2003 at 10:32:34 -0700, Nate Lawson wrote:
> On Tue, 29 Apr 2003, Kenneth D. Merry wrote:
> > Modified files:
> > sys/cam cam_ccb.h
> > sys/cam/scsi scsi_all.c scsi_all.h scsi_da.c
> > Log:
> > Add support to CAM for devices with more than 2^32 blocks. (2TB if you're
> > using 512 byte blocks).
>
> Excellent! BTW, this could use more testing from people who have 16 byte
> CDB equipment. Run sysctl kern.cam.da.%d.minimum_cmd_size=16 (where %d is
> the device number). But be sure the equipment can handle it otherwise
> your drive may hang.
Julian said he may be able to test it. His box can't create an array
larger than 2TB (unless they change their firmware), but it does accept 16
byte commands.
If anyone else has equipment that can handle 16 byte commands, we could use
the testing.
> > @@ -1100,6 +1160,22 @@
> > (bytes[1] << 16) |
> > (bytes[2] << 8) |
> > bytes[3];
> > + return (rv);
> > +}
> > +
> > +static __inline uint64_t
> > +scsi_8btou64(uint8_t *bytes)
> > +{
> > + uint64_t rv;
> > +
> > + rv = (((uint64_t)bytes[0]) << 56) |
> > + (((uint64_t)bytes[1]) << 48) |
> > + (((uint64_t)bytes[2]) << 40) |
> > + (((uint64_t)bytes[3]) << 32) |
> > + (((uint64_t)bytes[4]) << 24) |
> > + (((uint64_t)bytes[5]) << 16) |
> > + (((uint64_t)bytes[6]) << 8) |
> > + bytes[7];
> > return (rv);
> > }
>
> sys/endian.h?
I'll try to get around to it.
Ken
--
Kenneth Merry
ken at kdm.org
More information about the cvs-src
mailing list