Short: OpenPCI compatibility layer for OS4 Author: Stéphane Guillard Uploader: s guillard free fr (Stéphane Guillard) Type: driver/other Version: 2.1 Requires: AmigaOne, OS4 Architecture: ppc-amigaos >= 4.0.0 openpci release history ======================= 2.1 (15.03.2005) Initial release. Introduction ============ OpenPCI is an effort by Benjamin Vernoux to create a cross platform PCI API, to ease porting PCI drivers. OpenPCI Web site is at http://bvernoux.free.fr/DevPCI.php OpenPCI is supported mainly within : - Benjamin Vernoux's own drivers and tools o OpenPCIInfo 1.4 o 10/100 Mb/s RTL8139 Ethernet driver o Fortemedia FM801 (Terratec 512i) 16bits AHI driver o OpenPCI SBLive driver - Guido Mersmann's Amithlon-oriented drivers and applications o AmithlonTV o ArakAttack (USB/USB2 driver) for Chris Hodges's Poseidon USB stack - Chris Hodges's drivers and applications o OpenPCI/Zorro Catweasel MK3 keyboard Driver o Poseidon USB stack - Jens Schonfeld's drivers o Catweasel universal floppy disk controller OS4 has its own PCI API (expansion.library), and its own set of PCI drivers, for : - sound - usb - ethernet - IDE controllers - etc. OS4 lacks a few drivers and applications which OpenPCI has. Typical of this is the RTL8139 10/100 Ethernet driver, which chip can be found virtually everywhere and for which OS4 does not have a native driver yet. Before we get native versions of those drivers and applications, OpenPCI for OS4 intends to "fill the gap", and to allow users to run 68K versions of the OpenPCI drivers and applications. OS4 native PPC versions of those OpenPCI drivers and applications may happen or not, this is left to their authors. OpenPCI has been designed as a rather straightworward and simple PCI layer, with contiguous address spaces, and PCI IO space addresses being identical for CPU and PCI chips. OS4 PCI API is superior to OpenPCI in many areas, like full virtualized address space support, scatter / gather etc. OpenPCI for OS4 is thus a wrapper from the OpenPCI API to expansion.library calls, with the necessary features to take into account the 'simpler' OpenPCI architecture, which assumes for example, that the CPU can access ordinary RAM buffers through the PCI I/O space's access functions... (namely In|Out Byte|Word|Long)... Being a wrapper, OpenPCI only supports the PCI buses supported within expansion.library itself. Thus, as there is currently no support for anything else than the AmigaOne PCI buses in expansion.library, the current OpenPCI.library is only for the AmigaOne. If support for mediator or prometheus or grex etc. is added in expansion.library, OpenPCI will also be usable on classic Amigas. (last minute note : it seems that prometheus support has been added to expansion.library lately so I could release a version that would run on prometheus-equipped classics too... will check). Installation ============ Just copy OpenPCI.library to LIBS:, and download and install the 68K versions of the OpenPCI drivers and applications you want to run. What runs and what does not (yet :) =================================== Tested & working on my A1G4XE : - OpenPCIInfo 1.4 http://bvernoux.free.fr/OpenPciInfo1.4.lha grab : http://s.guillard.free.fr/OS4/opci.jpg - AmithlonTV (tested with a BT878 Hauppauge board) http://www.vmc.de/amithlon/amithlontv/swr/AmithlonTVBeta.lha grab : http://s.guillard.free.fr/OS4/amithlontv.jpg - 10/100 Mb/s RTL8139 Ethernet driver (tested with roadshow) http://bvernoux.free.fr/openpci_8139Device110305.zip Note : AddNetInterface mentions unfreed signal after adding the interface, with no consequence. grab : http://s.guillard.free.fr/OS4/rtl8139.jpg Tested & not working (yet) : - ArakAttack (USB/USB2 driver) & Poseidon ArakAttack crashes on startup with NULL pointer access after unsuccessfully opening amithlon.resource ; workaround in process. Not tested (yet) : - Fortemedia FM801 (Terratec 512i) 16bits AHI driver http://bvernoux.free.fr/OP-FM801v0.9b-68k210503.lha - AHI latest Release with OpenPCI SBLive driver included http://www.lysator.liu.se/~lcs/files/ahi/beta/ - Chris Hordge's (platon42) OpenPCI/Zorro Catweasel MK3 keyboard Driver http://www.platon42.de/files/util/CW-Keyboard.lha - Catweasel universal floppy disk controller (OpenPCI driver for Catweasel MK3/MK4 PCI/Flipper (Achim Dahlhoff and Jens Schönfeld) http://siliconsonic.de/t/bin/multidisk365.lha