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 > trying to > address with problem with KPI's. There are obvious advantages to > 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 > 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 drivers from 10.2 and 10.3 under 10.4. You do not have to adopt KPIs if your 10.3 driver code was using pure IOKit mechanisms, because Apple has provided backwards compatibility for such older driver binaries. From (long link, may get split): http://developer.apple.com/documentation/Darwin/Conceptual/ KEXTConcept/KEXTConceptDependencies/kext_dependencies.html "Declare dependencies on the kernel subcomponents available in earlier versions of Mac OS X. This method provides backward compatibility for pure I/O Kit KEXTs, but some Mach and BSD symbols are no longer available. When you use this method, use the version of the kernel subcomponent that corresponds to the earliest version of Mac OS X you need to support (see the tables in “Declaring Dependencies on Kernel Subcomponents” for these values). This method is suitable for pure I/O Kit KEXTs that must run in versions of Mac OS X prior to Mac OS X v10.4." Apple's included version tables for com.apple.kernel.libkern, com.apple.kernel.iokit, and so forth from MacOS X 10.0 onwards later on that page. -- -ChuckReceived on Wed Nov 09 2005 - 20:38:17 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:47 UTC