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