Porting drivers to SCO OpenServer 5 from earlier releases
The following notes highlight differences
that may affect device drivers being ported
from earlier releases of SCO systems:
dynamic interrupt registration-
Drivers that use
add_intr_handler(D3oddi)
to dynamically register interrupts
should be rewritten to use
idistributed(D3oddi).
idistributed( )
provides support for distributed interrupts
and must be used for level two multithreaded drivers
and PCI drivers,
but is also a more robust method of dynamically registering interrupts
for single-threaded drivers running on all bus types.
LLI drivers-
The LLI interface has been replaced
by the simpler MDI
for implementing network adapter drivers.
Converting LLI drivers to use MDI
is a straight-forward process
that mainly involves removing code.
and the MDI Network Driver Specification.
Most existing LLI drivers
that are not converted to MDI will run on SCO OpenServer 5
but they will not benefit from the features
offered by the new architecture.
memory allocation-
Drivers that use non-standard methods
of allocating memory may require modification
because of the dynamic memory feature
in the SCO OpenServer 5 kernel.
Drivers that use the documented memory allocation routines
should not be affected.
STREAMS buffers-
Because of the dynamic allocation of STREAMS buffers,
these buffers may not be physically contiguous.
In earlier releases, these buffers were preallocated
when the system was initialized and so occupied
contiguous blocks of memory.
Certain drivers (such as devices that used DMA)
relied on these buffers occupying contiguous memory
and may need to be modified because of this.
See
``Guidelines for STREAMS drivers''.
© 2005 The SCO Group, Inc. All rights reserved.