[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Reverse engeneering the SMU (iMac G5, newer single-pro G5)



On Thu, 2005-04-14 at 16:04 +0100, Francois Taiani wrote:
> John,
> 
> thanks for your tip. No Apple has not released the source for its low
> level thermal management drivers (AFAIK at least). It seems it's because
> the thermal management is a "sensitive" competitive feature [1]. The
> only things I could find so far are some high level notes of the SMU on
> Apple's site [2], but I might not have searched enough :-).

Apple do release the source for the platform plugins which contain the
thermal management algorithm (and the data assiciated with them are in
the property list in the project file). They are in AppleMacRISC4PE

What they don't provide is the source for the low level drivers
interfacing to the various chips, wether those are i2c sensor chips, the
FCU (fan control unit on older models), the SMU, etc...

Most of the sensor chips are standard off-the-shelves parts though, they
doc can be downloaded. The FCU, SMU, PMU etc... are apple specific
though and so we need to figure out how to properly drive them based on
the OF code, reverse engineering, etc...

Ben.

> Francois
> 
> [1] http://lists.apple.com/archives/darwin-dev/2004/Sep/msg00083.html
> [2] http://developer.apple.com/documentation/Hardware/Developer_Notes/Macintosh_CPUs-G5/PowerMacG5_SP/2Architecture/chapter_3_section_9.html
> 
> On Thu, 2005-04-14 at 15:36, John Steele Scott wrote:
> > Francois <f.taiani@computer.org> writes:
> > > One of the last critical things missing on my G5 to run Debian is fan
> > > control. To see if I could help understand how it works under Darwin, I
> > > tried to have a look at the corresponding libraries (the whole thing is
> > > called SMU, System Management Unit, a replacement for the older PMU
> > > system).
> > 
> > It looks like you have done a lot of work on this. I don't know the answer,
> > but I thought I'd ask another question. Doesn't Apple distribute the source
> > code to this as part of Darwin? That would save you a fair bit of trouble.
> > 
> > Otherwise, I imagine the code is originally Objective-C. If you want to
> > demangle the sames, see if you can find an equivalent tool to c++filt(1) for
> > ObjC.
> > 
> > cheers,
> > 
> > John
> -- 
> Dr Francois Taiani           http://www.comp.lancs.ac.uk/
> Computing Department         http://ftaiani.ouvaton.org/
> Lancaster University         phone: +44 (0) 1524 51 03 38
>                              fax  : +44 (0) 1524 51 04 92 
> 
> 
-- 
Benjamin Herrenschmidt <benh@kernel.crashing.org>



Reply to: