Booting Imac G5
J. Mayer
l_indien at magic.fr
Mon Nov 22 20:09:14 EST 2004
On Mon, 2004-11-22 at 09:41, Benjamin Herrenschmidt wrote:
[...]
> > In fact, I spent quite a long time before I understood why I didn't get
> > valid SMU messages back....
>
> That's strange... I suspect the SMU must bypass normal cache coherency
> protocol in some way, but that is strange, since according to the base
> address of the SMU area, it's in the middle of K2, which is on a fully
> coherent bus.
Yes, the doorbell buffer and the doorbell GPIOs are located in the K2
and I had no problem using them.
> > As the SMU is a separate chip, I'm not so surprised that the northbridge
> > does not know that it may "corrupt" some memory. The SMU may act as a
> > fake CPU while doing this if it was located on the processor bus.
>
> It can't be on the processor bus. Which is why I'm surprised.
Yes, was a foolish idea....
> It seem to
> be on K2, which is on a coherent bus. You may just be missing memory
> barriers in fact. Can you show me your code ?
Sure, you'll find it attached.
> > If I understand things well, the CPU acts as an IIC slave for the SPU
> > (which seems to be a part of the SMU) then can receive commands from
> > this unit. But it seems that the CPU cannot talk directly to the SPU.
>
> Hrm... the CPU is definitely an i2c slave of the SPU, but the command
> processing goes through some MMIOs wirted to K2 no ?
It seems we don't access directly the SPU or it's not showed in the OF
tree. We send commands to the SMU which "translate" those commands. But
I didn't spent lot's of time on SPU parts, for now only RTC, reboot and
halt.
> > I implemented SMU communication the same way Apple does in the OF
> > driver: we talk through a doorbell buffer and a GPIO all located in the
> > MacIO space. The doorbell buffer only contains the physical address of
> > the buffer used to exchange data with the SMU.
>
> Right... well, it's possible that the SMU actually uses i2c accesses to
> read the memory buffer, in which case it will indeed bypass coherency
> protocols... scary !
Maybe. Take a look at my code, which is quite simple even if still not
clean. Maybe you'll find a mistake I didn't see...
--
J. Mayer <l_indien at magic.fr>
Never organized
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smu.c
Type: text/x-csrc
Size: 12574 bytes
Desc: not available
Url : http://ozlabs.org/pipermail/linuxppc64-dev/attachments/20041122/cfa3a115/attachment.c
More information about the Linuxppc64-dev
mailing list