devb-ahci

Driver for AHCI SATA interfaces (QNX Neutrino)


Note: You must be root to start this driver.

Syntax:

devb-ahci [cam option[,option]...]
          [ahci option[,option]...]
          [blk option[,option]...] &

Runs on:

QNX Neutrino

Options:


Note: Use commas (,) to separate the options. You can put the cam, ahci, and blk groups of options in any order.

cam options

lun=mask
Enable Logical Unit Number (LUN) scan for the devices specified in mask. The mask is a hex bitmask specifying which IDs to scan for; the default is 0x00.
quiet
Be quiet: don't display any information on startup.
verbose
Be verbose: display full information about SCSI units (devices) on startup.

ahci options

The ahci options control the driver's interface to the AHCI controller. If you've installed multiple controllers, you can repeat these options for each controller. Remember, however, to specify the ahci keyword before each controller's set of options.

Interface-specific options:

irq=req
The interrupt used by the controller.
vid=vid
The vendor ID of the controller.
did=did
The device ID of the controller.
pci=index
The PCI index of the controller in the machine, where index is a value between 0 and the number of adapters.
nobmstr
Don't use busmastering.
port=N,device
Specify options for device on port N.
priority=prio
Set the priority of the processing thread. The default is 21.
timeout=timeout
Set the I/O request timeout, in seconds. The default is 10.

Device-specific options:

geometry=heads:cyl:sect
Specify the drive geometry.
nobmstr
Don't use busmastering.
chs
Use Cylinder-Head-Sector mode. The default is LBA.

blk options

The blk options control io-blk.so. If specified, they must follow the blk keyword.

Description:

The devb-ahci supports the Intel AHCI SATA controller with the following device IDs:


Note: You need to enable AHCI mode in the BIOS.

Examples:

Detect all SATA controllers, and list all connected devices:

devb-ahci &

Files:

The devb-ahci driver causes io-blk.so to adopt various block special devices under /dev. These devices are normally named hdn, where n is the physical unit number of the device.

This driver could also require the following shared objects:

Binary Required
cam-disk.so For hard-disk access.
libcam.so Always

Exit status:

The devb-ahci driver terminates only if an error occurs during startup, or if it has successfully forked itself upon startup because it hadn't been initially started in the background.

0
The devb-ahci driver wasn't started in the background and therefore forked itself. The original process terminated with a zero exit status, the forked process continued.
> 0
An error occurred during startup.

Caveats:

Unless overridden with the blk automount= option (see io-blk.so), devices are mounted as:

Device Mountpoint Filesystem type
/dev/hd0t77 /hd qnx4
/dev/hd0t6 /dos dos
/dev/hd0t11 /dos dos

While there's no limit to the size of a disk or partition, I/O (i.e. the lseek(), read() and write() functions) is currently limited to 2 gigabytes per partition (or disk). This I/O limit has no effect on the partition size for mounted filesystems.

Known supported functions include:

chmod(), chown(), close(), closedir(), creat(), devctl(), dup(), dup2(), fcntl(), fpathconf(), fstat(), lseek(), mkdir(), mkfifo(), mknod(), open(), opendir(), pathconf(), read(), readdir(), readlink(), rewinddir(), rmdir(), stat(), symlink(), unlink() (not supported for directories), utime(), write()

Note that certain calls (such as pipe(), as well as read() and write() on FIFOs) may require the pipe manager.

See also:

cam-*, devb-*, fs-*, io-blk.so

Filesystems and block I/O (devb-*) drivers in the Fine-Tuning Your System chapter of the QNX Neutrino User's Guide