[PATCH v2] ARM: Define wfi() macro for v6 processors
From: Dave Martin <hidden>
Date: 2011-02-08 17:00:26
Also in:
linux-omap
On Tue, Feb 8, 2011 at 4:55 PM, Russell King - ARM Linux [off-list ref] wrote:
On Tue, Feb 08, 2011 at 05:47:18PM +0100, Arnd Bergmann wrote:quoted
On Tuesday 08 February 2011 17:25:16 Russell King - ARM Linux wrote:quoted
On Tue, Feb 08, 2011 at 04:15:15PM +0100, Arnd Bergmann wrote:quoted
But that doesn't work if you build a combined v5/v6/v7 kernel, because v5 supports neither form, right? I think to do that, it needs the same kind of abstraction that we have for a number of other things like cache management in arch/arm/mm/.The options are kernels which support v3-v5 or v6-v7. ?There's too big a change between v5 and v6 to combine those into one kernel.Ah, good to know. I never realized this with the common binary discussions. Building for the versatile/realview platform makes it possible to select any of ARM926 and the v6/v6k/v7 CPUs, as well as ARM7TDMI in the same kernel config, so I assumed that this was actually a valid configuration aside from bugs. Would an attempt to make a combined v5/v6 kernel result in unacceptably bad code, or is this just too much work for anyone to be bothered with and little practical value?If you build for anything less than v6, you lose all barriers, the icache synchronization, and proper atomic operations. ?Just to name a few.
Can we represent the restriction in Kconfig somehow? For example: CPU_V6 depends on CPU_COMMON_V6PLUS CPU_V7 depends on CPU_COMMON_V6PLUS CPU_V5 depends on CPU_COMMON_V3_TO_V5 CPU_V4 depends on CPU_COMMON_V3_TO_V5 CPU_V3 depends on CPU_COMMON_V3_TO_V5 CPU_COMMON_V6PLUS depends on !CPU_COMMON_V3_TO_V5 CPU_COMMON_V3_TO_V5 depends on !CPU_COMMON_V6PLUS ...or something like that. ---Dave