Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
A FreeBSD CAM xpt module for ATAPI devices
[go: Go Back, main page]

Description

This change to FreeBSD adds a new CAM xpt type (i.e. something that operates like a SCSI bus adapter driver) that allows access to ATAPI devices through the generic CAM layer. For more information you can peruse the atapicam(4) man page.

Availability

As of 2002-11-01, ATAPI/CAM is part of FreeBSD 4-STABLE. It will be included in FreeBSD releases starting with 4.8.

As of 2002-08-09, ATAPI/CAM is part of FreeBSD 5-CURRENT. It is included in FreeBSD releases starting with 5.0.

The only recommended way of using ATAPI/CAM is:

NEWBUS ATAPI/CAM

The version of ATAPI/CAM currently in the source tree does not support dynamic loading or unloading of the ATAPI/CAM code at run time. If you would like to test ATAPI/CAM as a kernel loadable module, please use this patch.

Important note: this is an EXPERIMENTAL implementation for those who insist on trying bleeding edge code and are familiar with the procedure of rebuilding their system. Don't blame me if some disaster happens and you have no backups (but do let me know anyway, this might help fixing bugs!)

Reporting problems

To report a problem with the ATAPI/CAM driver, please always include the following information:

Problems encountered with the version of ATAPI/CAM that is now in the standard FreeBSD source tree should be reported through the FreeBSD problem reports database.

CAVEAT

Disclaimer: this code is provided as is, with no guarantee whatsoever! Use at your own risks! Fiddling with your kernel is DANGEROUS. This code works for me, but if it blows up your computer, I won't be responsible.

This code is released under the following provisions:

 * Copyright (c) 2001, 2002 Thomas Quinot 
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer,
 *    without modification, immediately at the beginning of the file.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. The name of the author may not be used to endorse or promote products
 *    derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Feedback welcome at thomas@cuivre.fr.eu.org.

All material beyond this point is to be regarded as HISTORICAL information.

ATAPICAM consists of two patches. The first one contains the driver code proper; it should work on 4.x-STABLE and 5.0-CURRENT kernels alike.

The second one inserts various hooks in the existing kernel code, and exists in two different versions:

You can retrieve the patch from here. Please always use the latest version. Earlier ones are left here only as historical documentation.

To use ATAPICAM, you have to retrive the first (common) patch, as well as the version of the second that corresponds to your kernel versions. You also need to have the following options present in your kernel configuration:

device ata
device atapicd	# or atapifd or atapist
device atapicam
# Versions prior to 20020820 used 'options ATAPICAM'
device scbus
device pass
device cd	# or sa or da
Patch, rebuild, reboot. Voilą! You should see your brand new devices in the output of camcontrol devlist.

[Back] Back to the index


Last update: 2004-10-19