Port-powerpc archive

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

Re: CPU specific Idle() function in locore_subr.S



At 07:00 AM 1/19/2005, Tim Kelly wrote:
Would it be possible to implement a CPU specific function either as Idle()
or within Idle() for MSR[POW] save? In looking over the code, there is no
HID setting for MPC7447A, which has dynamic frequenct switching, and the
code doesn't appear to be consistent with the MPC7450 User's Manual, which
says that a dssall and sync must be executed before mtmsr and a "context
switching" instruction afterward (and power save mode is not used for this
family, according to cpu_subr.c).

It should be possible.  If you look at some of the recent changes
to Idle, I made it so you could call out of it.

I'm using that capability (in a private port) to support device
polling.

Since checking the specific CPU each time before entering power save mode
would add a lot of overhead, what about installing a CPU specific handler
that gets called to handle entering power save mode? If this meets general
approval, I don't mind trying my hand at writing it. If the idea doesn't
meet approval, I'll find a more port specific solution.

My suggestion would be to add a member to cpu.h and call it
indirectly.  I can do that code if you want.  It's only a few minutes
to do. :)


--
Matt Thomas                     email: matt%3am-software.com@localhost
3am Software Foundry              www: http://3am-software.com/bio/matt/
Cupertino, CA              disclaimer: I avow all knowledge of this message.





Home | Main Index | Thread Index | Old Index