Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Apr 2003 10:32:34 -0700 (PDT)
From:      Nate Lawson <nate@root.org>
To:        "Kenneth D. Merry" <ken@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/cam cam_ccb.h src/sys/cam/scsi scsi_all.c  scsi_all.h scsi_da.c
Message-ID:  <Pine.BSF.4.21.0304301023560.78276-100000@root.org>
In-Reply-To: <20030430003533.1684837B407@hub.freebsd.org>

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

> @@ -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?

-Nate




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0304301023560.78276-100000>