For a PCI card to be successfully detached from a running operating environment, each device on the card must have a detach-safe driver. A detach-safe driver enables a single instance of a driver to be closed while other instances are allowed to remain open to service similar devices used elsewhere in the system. To be considered detach-safe, a driver must be able to perform a basic Device Driver Interface/Device Kernel Interface (DDI/DKI) function called DDI_DETACH. Any driver that does not support the DDI_DETACH function is called detach-unsafe.
Sun Microsystems offers a variety of hot-pluggable PCI cards that use detach-safe device drivers. For an up-to-date list of Sun PCI cards that use detach-safe drivers, please see the Sun Fire 880 Server Product Notes or contact your local Sun sales representative.
Many third-party drivers (those purchased from vendors other than Sun Microsystems) do not support the DDI_DETACH function. Sun Microsystems suggests that you test these driver functions during the qualification and installation phases of any third-party PCI card, prior to use in a production environment.
While it is possible to detach a PCI card that has detach-unsafe drivers, it is a fairly complex procedure. To do so, you must:
Stop all usage of the detach-unsafe drivers on the card.
Stop all usage of other devices in the system that share the same detach-unsafe drivers.
Manually close all instances and unload all of the affected drivers.
For more information, see "How to Remove PCI Cards That Use Detach-Unsafe Drivers".