Date: Wed, 9 Nov 2005 16:38:07 -0500 From: Charles Swiger <cswiger@mac.com> To: Scott Long <scottl@samsco.org> Cc: current@freebsd.org Subject: Re: Generic Kernel API Message-ID: <CA0AED8E-DD70-4F6D-9F04-F9D7F0FCFA08@mac.com> In-Reply-To: <43724D29.906@samsco.org> References: <20051108232855.2d1b7df5.lists@yazzy.org> <437145DF.2040508@samsco.org> <20051109093552.3082c51b.lists@yazzy.org> <43724D29.906@samsco.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Nov 9, 2005, at 2:25 PM, Scott Long wrote: > Where this breaks down is in moving from 6.x to 7.0. We make no > guarantees there for binary or source compatiblity. Apple is =20 > trying to > address with problem with KPI's. There are obvious advantages to =20 > this, > but the cost is quite high. It took them a number of years to go > through the system and essentially re-write most of it. And it's =20 > still > really only a theory; porting from 10.3 to 10.4 is hard because you > have to adopt the KPIs in your code, and no one has seen 10.5 yet to > decide if the KPI is really the same there. That's not entirely true: I've been able to use third-party USB =20 drivers from 10.2 and 10.3 under 10.4. You do not have to adopt KPIs =20= if your 10.3 driver code was using pure IOKit mechanisms, because =20 Apple has provided backwards compatibility for such older driver =20 binaries. =46rom (long link, may get split): http://developer.apple.com/documentation/Darwin/Conceptual/=20 KEXTConcept/KEXTConceptDependencies/kext_dependencies.html "Declare dependencies on the kernel subcomponents available in =20 earlier versions of Mac OS X. This method provides backward =20 compatibility for pure I/O Kit KEXTs, but some Mach and BSD symbols =20 are no longer available. When you use this method, use the version of =20= the kernel subcomponent that corresponds to the earliest version of =20 Mac OS X you need to support (see the tables in =93Declaring =20 Dependencies on Kernel Subcomponents=94 for these values). This method is suitable for pure I/O Kit KEXTs that must run in =20 versions of Mac OS X prior to Mac OS X v10.4." Apple's included version tables for com.apple.kernel.libkern, =20 com.apple.kernel.iokit, and so forth from MacOS X 10.0 onwards later =20 on that page. --=20 -Chuck
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA0AED8E-DD70-4F6D-9F04-F9D7F0FCFA08>