Date: Tue, 23 Jul 1996 17:15:35 +1000 From: Bruce Evans <bde@zeta.org.au> To: peter@palin.cc.monash.edu.au, se@zpr.uni-koeln.de Cc: freebsd-hackers@FreeBSD.org Subject: Re: PCI driver Message-ID: <199607230715.RAA23165@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>Just use a context diff between the pre-PCI >version and the current version to see the >changes to the existing ISA code and study >the if_ed_p.c file for a simple example of >the attach code. >I haven't looked into this in detail, but I >guess that converting the Cyclom driver is >only a matter of half an hour ... In the Linux Cyclades driver, the PCI versions seems to use a different i/o mapping. 8-bit hardware registers are memory mapped to 16-bit boundaries for ISA and to 32-bit boundaries for PCI and the conversions for this are done at runtime by shifting by 1 or 2. In the FreeBSD ISA driver, the conversions are done at compile time by always shifting by 1. Thus the FreeBSD PCI version probably can't simply call the ISA version. It needs to make the conversion dynamic (and slower) or arrange for the PCI version to be a different driver. The latter is the best way but it is harder to configure (the standard driver must be compiled twice with slightly different i/o macros to give different objects...). Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199607230715.RAA23165>