[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHkRjk5ABYmwfxbvFgh2yWP_D69Sap6Pud+yMG7fBCTzRwmNzg@mail.gmail.com>
Date: Mon, 19 Dec 2011 17:39:51 +0000
From: Catalin Marinas <catalin.marinas@....com>
To: Dave Martin <dave.martin@...aro.org>
Cc: "Uwe Kleine-K?nig" <u.kleine-koenig@...gutronix.de>,
Mircea Gherzan <mgherzan@...il.com>,
linux-arm-kernel@...ts.infradead.org, netdev@...r.kernel.org
Subject: Re: [PATCH v2] ARM: net: JIT compiler for packet filters
On 19 December 2011 15:52, Dave Martin <dave.martin@...aro.org> wrote:
> On Mon, Dec 19, 2011 at 04:33:38PM +0100, Uwe Kleine-K?nig wrote:
>> On Mon, Dec 19, 2011 at 03:24:18PM +0000, Dave Martin wrote:
>> > On Mon, Dec 19, 2011 at 04:19:58PM +0100, Uwe Kleine-K?nig wrote:
>> > > On Mon, Dec 19, 2011 at 12:50:21PM +0000, Dave Martin wrote:
>> > > > On Mon, Dec 19, 2011 at 09:40:30AM +0100, Mircea Gherzan wrote:
>> > > > > Based of Matt Evans's PPC64 implementation.
>> > > > Note that it's fine to have the JIT generating ARM code, even if the rest
>> > > > if the kernel is Thumb-2. This would only start to cause problems if we
>> > > > want to do things like set kprobes in the JITted code, or unwind out of
>> > > > the JITted code.
>> > > or use a CPU that doesn't speak ARM (e.g. v7M)
>> >
>> > Indeed... I was assuming though that that would be out of scope for the
>> > first iteration of this code.
>> Right, depending on !THUMB2 is fine. Only generating ARM code with
>> THUMB2=y is not.
>
> The kernel doesn't support v7-M upstream though. CONFIG_THUMB2_KERNEL=y
> doesn't mean that there is no ARM code present -- there _is_ ARM code in
> the kernel image even with this option (though not very much).
>
> IMHO, CONFIG_THUMB2_KERNEL should be viewed as similiar to an optimisation
> option or other code gen options -- it's a hint to use the Thumb-2
> instruction set in preference to ARM, but doesn't make a 100% guarantee.
> Some parts of the kernel do contain ARM code even in this configuration.
>
>
> The real problem we have here is that we do not distinguish between v7-A
> and v7-M in Kconfig (this is not the same thing as CONFIG_MMU, since
> there's no special reason why it should be impossible to build a ucLinux
> kernel for v7-A -- in which case the ARM instruction is available)
If we ever take the time to push ARMv7-M into mainline, my patches
actually introduce CONFIG_CPU_V7M:
http://www.linux-arm.org/git?p=linux-2.6-stable.git;a=commitdiff;h=53a9ca6eccb3e14c7d9045870464cbfb37b0bb3b
--
Catalin
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists