NAME | SYNOPSIS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO
drv_f/src/pci/sabre/sabre.h - SABRE hardware related constants drv_f/src/pci/sabre/sabre.c - driver code drv_f/src/pci/sabre/sabreProp.h - driver specific properties
DRV
The sabre bridge driver implements the common bus driver interface and the pci bus interface.
The driver uses the UltraSPARC specific DKI interface provided by the kernel. Thus, the driver is designed to work only with the Sun UltraSPARC family of products.
The sabre driver does not provide the drv_probe routine. In other words, the sabre driver does not enumerate the pci bus, nor does it detect a sabre device or create an associated device node. When the sabre driver is used, associated device nodes should be created either statically by a boot program or dynamically by a separate pci bus enumerator driver.
The sabre driver provides the drv_bind() routine. This routine examines the device node properties and thus, identifies a sabre compatible device. The routine checks for the pci vendor and device identifiers matching a sabre compatible device. If the check is positive, the drv_bind() routine binds the driver to the device node, attaching a PROP_DRIVER property to the device node. The property value specifies the sabre driver name. The parent bus driver uses such a property to determine the name of drivers servicing the device. Via the PROP_DRIVER property, the driver gives its name to the parent bus driver, asking it to invoke the drv_int() routine on that device. Note that the drv_bind() routine does nothing if the PROP_DRIVER property is already present in the device node, as the drv_bind() routine will not override existing driver-to-driver binding.
The driver does not implement the drv_unload()entry. This means that the driver component cannot be unloaded even if it has been dynamically loaded at run time.
The driver supports the DKI_SYS_SHUTDOWN event specified by the common DKI interface.
The table below summarizes characteristics of the sabre pci bus driver.
driver name: | "sun:usparc-sabre-pci" |
---|---|
hardware: | Sun sabre pci host bridge |
exported interface: | "bus" (BUS_CLASS |
exported interface version: | 0 (BUS_VERSION_INITIAL) |
exported interface: | "pci" (PCI_CLASS) |
exported interface version: | 0 (PCI_VERSION_INITIAL) |
imported parent interface: | "usparc" (FDKI_CLASS) |
minimal parent interface version: | 0 (FDKI_VERSION_INITIAL) |
device probing (auto-detection): | not supported |
driver unloading: | not supported |
system (emergency) shut-down: | supported |
normal device shut-down: | not supported |
hot-plug (surprise) device removal: | not supported |
The table below lists device node properties used by the sabre driver. Note that the column "m/o" specifies whether a given property is mandatory or optional. For optional properties, the column "default value" shows a default value which is used by the driver when a given property is not specified.
Name | Alias | Type | m/o | Default value |
---|---|---|---|---|
"vend-id" | PCI_PROP_VEND_ID | PciPropVendId | m | |
"dev-id" | PCI_PROP_DEV_ID | PciPropDevId | m | |
"bus-num" | PCI_PROP_BUS_NUM | PciPropBusNum | m |
The PCI_PROP_VEND_ID property specifies the Sun pci vendor identifier (must be 0x108e).
The PCI_PROP_DEV_ID property specifies the sabre pci device identifier (must be 0xa000).
The PCI_PROP_BUS_NUM property specifies the pci bus number of the device. That is the pci bus number to which the device is connected (should be zero).
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO