site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com Michael Smith writes:
On Jun 15, 2006, at 1:49 PM, Andrew Gallatin wrote:
Terry Lambert writes:
On Jun 15, 2006, at 6:12 AM, Andrew Gallatin wrote:
More than a theory; I've personally made kernel changes in this area
I honestly wasn't trying to bait you, but since you seem to be baiting me...
for 64 bit support in the Tiger release that would break code that was using promiscuous knowledge of the structure contents, instead of using an accessor/mutator. The idea is to replace data interfaces
This would not be required if you had a 64-bit kernel.
Of course, if there was a 64-bit kernel, it wouldn't run on 32-bit hardware, and it would require a complete re-write of every device driver in existence.
The speedbump of Tiger required so many recompiles anyway that you probably could have gotten most drivers for free just by having the latest version of Xcode build drivers by default as fat 32/64 bit binaries. Above Terry mentioned changes to the size and/or layout of a struct uio. What do you do about old (10.2 era) drivers compiled when the uio accessors did not exist? Do they just fail to load after Terry's change? Or do they corrupt kernel memory? It seems to me that you're going to have to have a flag-day of 10.4 anyway, and that 10.x ( x <=3) drivers are going to stop working because of your kernel changes.
It's fair to say that the folks making these decisions aren't *complete* idiots.
No, not *complete* I suppose.
with accessor/mutator functions to insulate the underlying implementation from necessary data structure changes.
This is actually a fundamental Computer Science concept for object oriented programming. There's a good Wikipedia article on it at:
<http://en.wikipedia.org/wiki/Accessor>
Look in the second section, or seqrch in the page for "accessor".
Is it found right between "slow" and "inefficent" ? :)
Solaris has a much, much more stable driver ABI than you guys do (drivers compiled before MacOSX even existed still work) and it allows direct access to structures (like uio).
Sure, and if you want to assume that changes in hardware architecture and the way software uses that hardware stopped fifteen years ago then that model works fine.
What, like NextStep's IOKit that MacOSX uses? :) Drew _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com
participants (1)
-
Andrew Gallatin