Using ioreg to identify a specific CPU

Hi all,
I'm trying to repair a PowerMac G5 I got off of eBay. It's a dual 2.0GHz model, I believe 1st generation (PowerPC 970 v2.2 chips). I believe I've narrowed down the problem to a single bad, slowly failing CPU.

I get the machine to boot up w/two CPUs active only for between a few mins. to an hour or two. Then it freezes up and I have to press the "on" button for the usual 5secs. or so to get it to shutdown.

When I get the machine back up (sometimes immediately, sometimes after repeated pressing the power button), it generally comes up with only 1 CPU running. with only 1 CPU running, the machine stays up and stable for days at a time.

I generally have had the machine boot-up maybe 1/3 of the time w/2 CPUs active. The rest of the time only 1 CPU comes up.

I've confirmed the two different states several ways: (a) looking in Apple System Profiler, (b) System Preferences/Processor (after installing the CHUD tools), and (c) running sysctl -a from the command line and diff-ing the results from each boot-up. All show either 2 CPUs running, or only 1 CPU active.

Looking in ioreg , specifically the class IOPlatformDevice, in Tiger (10.4.11) I see the property AAPL,phandle which seems to have a value of an address.

Which property in which class in ioreg contains the actual "location" of each active CPU?

In the PowerMac G5s (dual models) the CPUs are arranged vertically on the motherboard (when the tower is in the usual upright position). In the PM G4s (dual models) the CPUs are arranged horizontally.

I'd like to just identify (and replace) the one defective CPU in the G5 rather than both.

Any tips or links to documentation on ioreg, would be greatly appreciated!

Ed

PB G4, Mac OS X (10.4.11), PM G4 Dual 1.25, PM G4 Dual 867, OSX 10.2.8, OSX Server 10.2.8

Posted on Nov 15, 2008 11:00 AM

Reply
4 replies

Nov 15, 2008 11:24 AM in response to Ed Mansky

While you can certainly extract a number from the registry, determining which number corresponds to which physical IC on the board really wouldn't be something any ioreg documentation would cover as the registry doesn't care what information is put in it as long as it's put in correctly. If it's really not doing anything at all a logic probe should be able to pick up on it, and I'd imagine its temperature would be considerably lower as well.

Nov 15, 2008 11:25 AM in response to Ed Mansky

In reading the ADC documentation, I ran across a nice GUI into the ioreg data, IORegistryExplorer in /Developer/Applications (in 10.2.8 Server), or /Developer/Applications/Utilities (in 10.4.11).

When I follow the chain: Service Plane = IODeviceTree/root/device-tree/cpus

I see a single entry "PowerPC,G5@0 on the PM G5 and two entries on my dual CPU G4s (PowerPC,G4@0 and PowerPC,G4@1).

Hence, my question is narrowed to is the "0" CPU the lower or the upper CPU in the PM G5 dual models?



Ed

Nov 15, 2008 11:38 AM in response to Ed Mansky

Yes, I understand that, and like I said, that's not something you're likely to find documented outside of a service manual. Anyone who has access to a service manual can't legally share any of the information in it, so unless you have a friend who's an authorized service provider for Apple, checking temperatures and pulses is probably going to be the path of least resistance here.

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Using ioreg to identify a specific CPU

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.