| |||
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
|
All,
First I'd like to thank everyone for their help with this
issue. I was really pleasantly surprised by both the quality
and
timeliness of the responses I received.
Since the driver I'm working on is a universal binary what
I've decided to do is to conditionally compile it to make
a call to getPhysicalSegment() when compiled for the PPC
platform and to use the new call, getPhysicalSegment64()
when compiling for the Intel platform. If I
understand Garth's description of the problem, this should result in
a
driver that will run correctly on Intel platforms
regardless of the OS version or how much memory is in the
system
and should work OK on PPC systems
as long as they don't have more than 2.5GB of memory.
I've been testing a driver built this way on a MacPro and
so far so good, I haven't tried it yet on a PPC based Mac
yet. If anyone knows of a reason (besides not working
on PPC based Mac with more than 2.5GB of memory) I
would appreciate hearing from you.
Thanks again everyone for all your
help,
Dave Canfield From: Garth Cummings [mailto:email@hidden] Sent: Friday, October 06, 2006 2:01 PM To: Dave Canfield Cc: email@hidden Subject: Re: Kernel panic on Intel based Mac with more than 2GB of memory On Oct 6, 2006, at 1:33 PM, Dave Canfield wrote:
The problem is that getPhysicalSegment returns a 32 bit address. The panic
means that the physical address won't fit in 32 bits, which is the case on Mac
Pro systems with more than 2.5 GB of physical memory.
Depending on what you're doing, you need to move to using IODMACommand, or
use getPhysicalSegment64. These functions are new as of the Mac Pro but work on
all 64-bit capable machines as of 10.4.8.
If you need to support machines older than 10.4.8 (duh!) you'll need to
have a KEXT that uses the old API that loads on those systems and a separate
KEXT that uses the new API for newer systems. Each KEXT will have to have its
own CFBundleIdentifier, and one KEXT can live in the PlugIns directory within
the other for ease of installation. Use the OSBundleLibraries version numbers to
control which KEXT loads on which OS versions.
--gc
____________________________________________________________________
Sr. Software Engineer
Apple Developer Technical Support
|
_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-drivers mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-drivers/email@hidden This email sent to email@hidden
| References: | |
| >Re: Kernel panic on Intel based Mac with more than 2GB of memory (From: Garth Cummings <email@hidden>) |
| Home | Archives | FAQ | Terms/Conditions | Contact | RSS | Lists | About |
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE
Contact Apple | Terms of Use | Privacy Policy
Copyright © 2007 Apple Inc. All rights reserved.