solarisdevice-driverpci-eopensolaris

porting PCIe driver from Linux to OracleSolaris


I need to port a PCIe Linux driver to Oracle Solaris 11.2 (previously OpenSolaris). Before the driver was tested under kernel 2.6.32-36.

Fortunately, the driver was implemented in such a way that one portion is OS/platform specific (PCI registration, memory allocation etc.) and the other half was written in OS independent way, i.e. that part should be relatively easy to port.

My question is about Linux-specific portion, written according to steps in https://www.kernel.org/doc/Documentation/PCI/pci.txt, so I'm assuming Solaris might have similar approach? What should I pay attention to when porting to Solaris, what device driver parts are completely different in Solaris and nedd to be re-implemented then ported?

UPDATE After reading several materials about Solaris driver model, I still don't understand the purpose and applicability of STREAMS framework, is it extension for character devices or for the network devices, eg. Ethernet cards?


Solution

  • Solaris 11.2 driver documentation is here.

    Here are some links that might also be useful:

    http://docs.oracle.com/cd/E19253-01/817-5789/ http://www.oracle.com/technetwork/systems/articles/write-dev-driver-jsp-140901.html http://www.bolthole.com/solaris/drivers/TIPS.html http://blog.csdn.net/hotsolaris/article/details/1763716