NAME | SYNOPSIS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO
drv/src/pci/simba/simba.h - simba hardware related constants drv/src/pci/simba/simba.c - driver code drv/src/pci/simba/simbaProp.h - driver specific properties
DRV
The simba driver implements the pci bus interface.
The driver works with the Sun UltraSPARC II CPU. The driver uses the UltraSPARC specific DKI interface provided by the kernel. Thus, the driver is designed to work with the Sun UltraSPARC II CPU.
The simba driver does not provide the drv_probe() routine. In other words, the simba driver does not enumerate the pci bus, nor does it detect a simba device or create an associated device node. When the simba 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 simba driver provides the drv_bind() routine. This routine examines the device node properties and thus, identifies a simba compatible device. The routine checks for the pci vendor and device identifiers matching a simba 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 simba driver name. The parent bus driver uses such a property to determine the name of the driver 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 SIMBA driver uses the RIC DDI to attach/detach PCI interrupts.
The table below summarizes characteristics of the simba pci bus driver.
driver name: | "sun: (pci, ric)-simba-pci" |
---|---|
hardware: | Sun simba pci host bridge |
exported interface: | "pci" (PCI_CLASS) |
exported interface version: | 0 (PCI_VERSION_INITIAL) |
imported parent interface: | "pci" (PCI_CLASS) |
minimal parent interface version: | 0 (PCI_VERSION_INITIAL) |
imported parent interface: | "ric" (RIC_CLASS) |
minimal parent interface version: | 0 (RIC_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 simba 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 | |
"dev-num" | PCI_PROP_DEV_NUM | PciPropDevNum | m | |
"func-num" | PCI_PROP_FUNC_NUM | PciPropFuncNum | m | |
"simba-ric-map" | SIMBA_PROP_RIC_MAP | SimbaPropRicMap | m |
The PCI_PROP_VEND_ID property specifies the Sun pci vendor identifier (must be 0x108e).
The PCI_PROP_DEV_ID property specifies the simba pci device identifier (must be 0x5000).
The PCI_PROP_BUS_NUM property specifies the secondary pci bus number.
The PCI_PROP_DEV_NUM property specifies the PCI device number of the device.
The PCI_PROP_FUNC_NUM property specifies the PCI function number of the device.
For each PCI device number, the SIMBA_PROP_RIC_MAP property specifies a mapping of PCI interrupt pins (INTA#, INTB#, INTC#, INTD#) into a RIC interrupt number offset (ranging from 0x0 to 0x3f). The SIMBA_RIC_OFF_INVAL value can be used if the corresponding offset is not defined. This property allows the SIMBA to take into account the various PCI interrupt RIC offset mappings for different platforms.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO