Speaker
Mr
Ludwig Petrosyan
(DESY)
Description
The PCI Express standard is currently the most widely used architecture. The MTCA as well as the majority of architectures today use the PCI Express as a central bus of data transmissions.
In order to take full advantage of PCI Express enhanced features, more robust device drivers are required.
Over the time the support of the increasing number of Device Drivers from different providers is becoming cumbersome without taking into account the different API provided which leads to difficulties for programmers.
The Linux Device Driver Model allows us to split PCI Express Device Driver into multiple parts. The low level Driver provides all basic PCI Express and MTCA common functionality. The top level Device Driver of the current device uses common part provided by the low level Driver and adds device specific functionality if needed.
Such flexibility will facilitate the tasks of creation and supporting of the Device Drivers, on the other hand it will lead to the principle ”write for one use for all” at the level of user programming, as well as the easy integration of the new Hardware into existing software infrastructures.
Our experience of creating and using stacked PCI Express device drivers will be presented.
Primary author
Mr
Ludwig Petrosyan
(DESY)
Co-author
Mr
Davit Kalantaryan
(Zeuthen)