Testing and debugging HBA drivers

HBA testing and certification procedure

Once you have an HBA driver written that compiles successfully, you need to test it. For a general strategy for testing HBA drivers see ``General testing strategy''.

You may also need to follow the certification testing procedure to certify your driver. See ``Formal Certification Testing''.

General testing strategy

The general strategy for testing HBA drivers is to:

  1. Follow the instructions in ``Packaging storage device drivers'' to create an HBA floppy for your driver that you can install on a working system.

  2. Install the driver on a working system. This is done in essentially three stages:

    1. The most convenient way to install your driver for initial testing and debugging is to install the HBA floppy you created as an add-on package on an already running system using the pkgadd command.

    2. Once the driver is working well as an add-on, you can then use the HBA floppy to install the driver during an Initial System Load (ISL) of the operating system, where the new driver interfaces with a secondary host bus adapter (i.e., not the one that controls the boot device).

    3. After the driver is working on a secondary controller when installed during ISL, use the same HBA floppy to install a system where the driver controls the host bust adapter for the boot device.

    NOTE: During ISL of SVR5, if multiple HBA floppies containing different versions of the same driver are installed, the driver that will be configured into the kernel is the one found on the floppy that was inserted first. (The opposite was true during SCO SVR5 2.0 installation; that is, the last driver encountered on the HBA floppies was the one configured.)

    Use the ``magic floppy'' to debug any problems that arise during installation. See ``Using the magic floppy and debugging kernel on SVR5''.

  3. Use the practices and tools discussed in ``Driver testing and debugging'' to test your driver code in operation against the target hardware. Correct any problems you encounter with the driver code.

    NOTE: This step (and the following steps) will probably involve re-compiling, re-packaging, re-installing, and re-testing your driver a number of times until it works without unexpected errors.

  4. Run the hbacert Certification Test Suite. Read the test results, correct any errors encountered, and re-run the tests until the tests run without error. See ``The HBA certification test suite (hbacert)'' for more information on the HBA Certification Test Suite.

  5. After the driver passes the hbacert tests, run the loadtests test suites on the system with the driver installed to verify that the driver does not corrupt the kernel. Read the test results, correct any errors encountered, and re-run the tests until the tests run without error.

Formal Certification Testing

Many vendors submit their HBA drivers for formal certification with SCO products. A formal checklist that lists the tasks and requirements for submitting a driver for formal certification is provided. See ``Using the HBA Certification Checklist''

Next topic: Using the HBA Certification Checklist
Previous topic: Testing and debugging HBA drivers

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