NAME | SYNOPSIS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO
drv/src/isa/ebus/ebus.h - ebus hardware related constants drv/src/isa/ebus/ebus.c - driver code drv/src/isa/ebus/ebusProp.h - driver specific properties
DRV
The ebus bridge driver implements:
the common bus driver Interface, and
the isa bus driver Interface.
The driver uses the pci bus driver interface provided by a parent pci bus driver. Thus, the driver may be applied to any bus driver implementing the pci bus interface.
The ebus driver does not provide the drv_probe() routine. In other words, the ebus driver does not enumerate the pci bus, nor does it detect an ebus device or create an associated device node. When the ebus 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 ebus driver provides the drv_bind() routine. This routine examines the device node properties and thus identifies an ebus compatible device. The routine checks for the pci vendor and device identifiers matching an ebus 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 ebus 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 EBUS driver uses the RID DI to attach/detach ISA interrupts.
The Table below summarizes characteristics of the ebus driver.
driver name: | "sun:(pci, ric)-ebus-(bus, isa) |
---|---|
hardware: | Sun ebus pci/isa bridge |
exported interface: | "bus" (BUS_CLASS) |
exported interface version: | 0 (BUS_VERSION_INITIAL) |
exported interface: | "isa" (ISA_CLASS) |
exported interface version: | 0 (ISATHER_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 ebus 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 | |
"dev-num" | PCI_PROP_DEV_NUM | PciPropDevNum | m | |
"func-num" | PCI_PROP_FUNC_NUM | PciPropFuncNum | m | |
"io-regs" | PCI_PROP_IO_REGS | PciPropIoRegs | m | |
"ebud-ric-map" | EBUS_PROP_RIC_MAP | EbusPropRicMap | m |
The PCI_PROP_VEND_ID property specifies the Sun pci vendor identifier (must be 0x108e).
The PCI_PROP_DEV_ID property specifies the ebus pci device identifier (must be 0x1000).
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 ISA device, the EBUS_PROP_RIC_MAP property specifies a mapping of the ISA interrupt into a RIC interrupt number offset (ranging from 0x0 to 0x3f). The EBUS_RIC_OFF_INVAL value can be used if the corresponding offset is not defined. This property allows the EBUS to take into account the various ISA 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