[PATCH] ARM: zImage: add support for ARMv7-M

Catalin Marinas catalin.marinas at arm.com
Fri Sep 19 03:33:34 PDT 2014


On Thu, Sep 18, 2014 at 07:34:47PM +0100, Joachim Eastwood wrote:
> On 18 September 2014 19:38, Arnd Bergmann <arnd at arndb.de> wrote:
> > On Thursday 18 September 2014, Joachim Eastwood wrote:
> >>   ARM(          mov     pc, r4  )               @ call kernel
> >> - THUMB(                bx      r4      )               @ entry point is always ARM
> >> +#ifdef CONFIG_CPU_V7M
> >> +               add     r4, r4, #1              @ enter in Thumb mode for ARMv7M
> >> +#endif
> >> + THUMB(                bx      r4      )               @ entry point is always ARM for non ARMv7M CPUs
> >>
> >
> > I think it would be much nicer to avoid sprinkling #ifdefs here. We already
> > have the ARM() and THUMB() macros to deal with the two cases we support, which
> > are booting in ARM mode vs ARMv7-A with THUMB2 mode. We can probably add
> > another macro like this to deal with the ARMv7-M case that does not have
> > ARM mode.
> 
> Well, I guess I could make a THUMBONLY macro or something like that.
> But I think that the macro would only be useful in the case you quoted
> above. The other ifdefs in the patch are either for large blocks or
> removing code. So I don't think it would improve the patch a great
> deal.
> 
> btw, do you have better name suggestion than THUMBONLY?

It looks like you would need the reverse as well, !THUMBONLY. What about
M_CLASS and A_CLASS (with or without underscore and maybe AR_CLASS if we
ever need to differentiate between A and R)?

-- 
Catalin



More information about the linux-arm-kernel mailing list