Sigh. I’m wrong. The new
path needs to be used for the Intel machines.
I had structured the code to use a
subroutine to try to find the path, and throw on failure. I would then catch
(at a higher level) and try with the new path.
Apparently stepping over the subroutine
threw, caught, and called the subroutine again with the new path and then hit
the end of the ‘step’, so it looked exactly like the original path
was found.
Sorry for the mis-information.
Dave
From:
darwin-dev-bounces+david_litwin=email@hidden
[mailto:darwin-dev-bounces+david_litwin=email@hidden] On Behalf Of David Litwin
Sent: Thursday, July 13, 2006 1:57
PM
To: email@hidden
Subject: RE: Re: Programatically
determining BootROM version?
Hmmm…
Apparently the old path works on the Intel machine even though the
IORegistryExplorer doesn’t show that path available. Asking for
“version” in the “:/rom” path works as well, perhaps
the older method was preserved for compatibility?
David Litwin
BigFix
From: David
Litwin
Sent: Thursday, July 13, 2006
11:15 AM
To: 'email@hidden'
Subject: Re: Programatically
determining BootROM version?
This question was answered a few
years back, but on an Intel Mac this path does not exist.
It seems like on Intel the path
would be “:/rom”, with the key being “version”, as that
data matches what System Profiler displays for its Boot ROM Version field on my
Intel dev machine.
Is there any official information on
how to get this (I couldn’t find much searching for it)? I can code
things to look for the PPC path first, then fall back to the location
I’ve found it on my Intel machine, but this is just what I’ve found
poking around myself, and who knows if I can rely on this for all machines.
David Litwin
BigFix
Garth Cummings writes:
Take a look at the IODeviceTree
plane, Root > rom@xxxxxxxx > boot-rom@xxxxxxxx. That node has the
BootROM-version property.
You can create a matching dictionary
for this using:
IORegistryEntryFromPath(kIOMasterPortDefault,
kIODeviceTreePlane ":/rom/boot-rom");
HTH,
gc