Thread (27 messages) flat view 27 messages, 4 authors, 2011-02-09
STALE5657d

[PATCH v2] ARM: Define wfi() macro for v6 processors

From: arnd@arndb.de (Arnd Bergmann)
Date: 2011-02-08 12:11:51
Also in: linux-omap

On Tuesday 08 February 2011, Russell King - ARM Linux wrote:
On Tue, Feb 08, 2011 at 11:01:25AM +0000, Dave Martin wrote:
quoted
For v6, wfi is architected as a defined MCR instruction, so
use that definition.

Doing a no-op instead of wfi() is probably bad, so for older
processors than v6, wfi() is not defined.  If needed, some CPU-
specific wfi() will have to be defined elsewhere.
This is something we kind-of already handle in a different way - see
the individual processor idle function in arch/arm/mm/proc*.S.

There's various errata work-arounds older CPUs need for wfi (or rather
its mcr equivalent) so maybe wfi() should just be an alias for a call
to that function.  Or maybe we shouldn't have a wfi() macro at all.
I don't see any users of the sev/wfe/wfi macros in the current kernel,
so removing them seems like a good strategy to avoid people from
using them incorrectly.

If the definitions differ between v5/v6/v7 CPUs, any common code
using them would need to do either binary patching of some sort
or abstract the difference between the CPU in some other way.

Dave, what code do you have in mind as a possible user?

	Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help