DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
HDK Technical Reference

Host bus adapter (HBA)

Host bus adapters (HBAs) handle the controller-specific aspects of handling an SDI device that is implemented as a target driver. For example, to read a given block of data on a slice of a hard disk, the target driver determines which actual physical sector on the disk will be read, and the HBA driver programs the disk controller registers, issues the read request, and responds to the interrupts that are generated by the read request. The results of the read operation, whether successful or not, are passed back to the target driver, which then signals the completion of the operation.

This article applies to SVR5 SDI drivers. A similar architecture is used for SCO OpenServer 5 OSDI drivers, but the term HA (Host Adapter) is used rather than HBA.

HBA entry point routines

The following entry point routines are required for SDI HBA drivers. Some functionality may not be required for some HBA devices, but the SDI requires that the entry point exists to avoid the special handling that would otherwise be required.


freeblk(D2sdi)
free SCSI block

getblk(D2sdi)
get SCSI block

getinfo(D2sdi)
get controller information

halt(D2sdi)
halt device

icmd(D2sdi)
perform command immediately

init(D2sdi)
primary driver initialization

intr(D2sdi)
interrupt handler

_load(D2sdi)
load driver into kernel when needed

send(D2sdi)
send command to device queue

start(D2sdi)
secondary driver initialization

unload(D2sdi)
unload driver from kernel

xlat(D2sdi)
translate addresses required for I/O operations

The following pass-through entry points are also required:


open(D2sdi)
respond to open requests

close(D2sdi)
respond to close requests

ioctl(D2sdi)
respond to ioctl requests

For guidelines about writing HBA drivers, see ``Guidelines for SDI HBA storage drivers''.


© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005