DDI versioning
SVR5 uses the SCO SVR5 2.0 system of
DDI versioning.
This has the following implications for drivers:
-
The beginning of every DDI 8 driver source file
must include the following line
before any header files are #included:
#define _DDI 8
This line defines the ``major'' version number;
it does not use full version numbers such as 8mp.
As an alternative,
this information can be suppled to the
cc
command line used to compile the driver:
cc -D_KERNEL -D_DDI=8
-
All device driver source code must #include the
<sys/ddi.h> header file
as the last of the included header files.
-
Each DDI driver must include
one $interface definition for the DDI version
plus a $interface line
for any other versioned interfaces being used.
in its
Master(DSP/4dsp)
file.
This controls the set of entry point routines
and kernel functions that can be used in the driver.
The manual pages include information about
which interfaced versions support a given
entry point routine or kernel function.
-
Supplemental versioned interfaces are provided
for specific device types:
-
MDI is used for network adapter cards.
DDI 8 network adapter drivers
should also conform to mdi: 2 or mdi: 2.1.
See
``MDI''.
-
SDI is used for
SCSI and non-SCSI drivers
for Host Bus Adapter (HBA),
target, layered, and RAID devices.
DDI 8 drivers for mass storage devices
should also conform to sdi: 4.
See
``SDI''.
-
PSM
is used to implement general support
for a different multiprocessor system platform.
See
``PSM (Platform Support Module)''.
-
I2O is used to implement support
for I2O buses.
See
``I2O''.
-
HPCI
is used to implement hot plug support
on a different system platform.
See
``HPCI (Hot Plug Controller Interface)''.
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005