Skip to end of metadata
Go to start of metadata
This is a work in progress from my attempt to port FreeBSD's BXE driver to SmartOS.
Please feel free to add missing pieces or correct anything.

Correlations between FreeBSD to Illumos

Purpose FreeBSD Illumos
Standard Interface for loading/unloading device_if modctl
Bus Interface bus_if ddi / devops
PCI Interface pci_if pci/pcie

On FreeBSD

bus_space_read_N (write N Bytes) -> ddi_getB (B in Bits)
bus_space_write_N (write N Bytes) -> ddi_putB (B in Bits)
ie. bus_space_read_4 -> ddi_get32
struct ifnet -> ?

Structures you need for Illumos GLDv3 Driver

cb_ops_t (ddi.h - entry points for character device)
dev_ops_t (devops.h - entry points for probe, attach, detach, reset, etc...)
mac_callbacks_t (from mac_provider.h)
mac_register_t (from mac_provider.h)

Important types:
ENUM mac_propid_t ( mac.h included by mac_provider.h - MAC properties that can be read/set via dladm such as LinkState)
ENUM mac_capab_t ( mac_provider.h - MAC capabilities such as HCKSUM, LSO, etc...)

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.