linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 REPOST 0/5] ARM: omap[34]: Thumb-2 compatibility fixes
@ 2011-03-04 15:33 Dave Martin
  2011-03-04 15:33 ` [PATCH v5 1/5] ARM: omap4: Provide do_wfi() for Thumb-2 Dave Martin
                   ` (6 more replies)
  0 siblings, 7 replies; 16+ messages in thread
From: Dave Martin @ 2011-03-04 15:33 UTC (permalink / raw)
  To: linux-arm-kernel

This set of patches, along with some other patches under
discussion on alkml, should enable omap3 and omap4 kernels to be
built with CONFIG_THUMB2_KERNEL.

This patch set builds on recent cleanup done by the omap
maintainers.

At least some of this code definitely works, most features have
been tested successfully.  Further testing, especially of Thumb-2
behaviour, is still welcome.

In particular, I still have no Ack/Tested-by on the following
patches, so it would be great if anyone who has an opportunity
to do a final review / re-test can do so.

 * ARM: omap3: Convert END() to ENDPROC() for correct linkage with CONFIG_THUMB2_KERNEL
 * ARM: omap3: Thumb-2 compatibility for sram34xx.S
 * ARM: omap3: Thumb-2 compatibility for sleep34xx.S


Seems to work with CONFIG_SMP_ON_UP and CONFIG_THUMB2_KERNEL
enabled on Beagle xM A2 and Panda A1.

Thanks also to Santosh Shilimkar and Kevin Hilman for their help
with testing so far.


v3:
    * make SMC instruction syntax more consistent
    * remove do_wfi() in favour of the generic wfi() macro

v4:
    * revert to the OMAP-specific do_wfi() implementation, pending
      discussion of how generic macros can/should be provided

v5:
    * use ARM for low-level code in mach-omap2/*34xx.S, for
      correct interoperation with non-Thumb-capable firmware.

I've stripped the Acked/Tested-bys from the major patches to
mach-omap2/*34xx.S, since the reversion to ARM constitutes a
significant change -- I would be grateful if people could re-
test / re-review if they have the chance.

For best future compatibility, I've left the changes which
avoid architecturally deprecated features.


Details below.

Cheers,
Dave


The patches can be found, along with a buildable working tree,
in the following repo:

git://git.linaro.org/people/dmart/linux-2.6-arm.git

 * arm/omap-thumb2: has the patches proposed here
 * arm/omap-thumb2+merged: additionally has some patches cherry-
        picked from other trees which are needed in order for the
        patches on arm/omap-thumb2 to work usefully.
 * dirty/arm/omap-thumb2+merged: buildable test tree, which adds
        2 local patches to work around a toolchain bug.

A working kernel config for this tree is here:
http://people.linaro.org/~dmart/arm_omap-thumb2+v2_config :

  CONFIG_SMP_ON_UP=y
  CONFIG_THUMB2_KERNEL=y
  CONFIG_SERIAL_OMAP=y (to avoid garbage on xM; for Panda use console=ttyS2)

(The config is derived from the linaro omap config and so turns on
loads of modules -- don't feel you have to build them all...)


Cherry-picked patches originated from Russell's devel tree
and Tony Lindgren's omap-testing tree:

http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm.git devel

git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git omap-testing

This series also depends on one un-merged patch to generic-ise
the wfi() macro:

git://git.linaro.org/people/dmart/linux-2.6-arm.git arm/wfi-macro


Dave Martin (5):
  ARM: omap4: Provide do_wfi() for Thumb-2
  ARM: omap4: Convert END() to ENDPROC() for correct linkage with
    CONFIG_THUMB2_KERNEL
  ARM: omap3: Remove hand-encoded SMC instructions
  ARM: omap3: Thumb-2 compatibility for sram34xx.S
  ARM: omap3: Thumb-2 compatibility for sleep34xx.S

 arch/arm/mach-omap2/include/mach/omap4-common.h |    4 ++
 arch/arm/mach-omap2/omap-headsmp.S              |    2 +-
 arch/arm/mach-omap2/omap44xx-smc.S              |    8 ++--
 arch/arm/mach-omap2/sleep34xx.S                 |   62 ++++++++++++++++++----
 arch/arm/mach-omap2/sram34xx.S                  |   36 ++++++++++---
 5 files changed, 87 insertions(+), 25 deletions(-)

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2011-03-08  5:53 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-04 15:33 [PATCH v5 REPOST 0/5] ARM: omap[34]: Thumb-2 compatibility fixes Dave Martin
2011-03-04 15:33 ` [PATCH v5 1/5] ARM: omap4: Provide do_wfi() for Thumb-2 Dave Martin
2011-03-04 15:33 ` [PATCH v5 2/5] ARM: omap4: Convert END() to ENDPROC() for correct linkage with CONFIG_THUMB2_KERNEL Dave Martin
2011-03-04 15:33 ` [PATCH v5 3/5] ARM: omap3: Remove hand-encoded SMC instructions Dave Martin
2011-03-04 15:33 ` [PATCH v5 4/5] ARM: omap3: Thumb-2 compatibility for sram34xx.S Dave Martin
2011-03-04 15:33 ` [PATCH v5 5/5] ARM: omap3: Thumb-2 compatibility for sleep34xx.S Dave Martin
2011-03-04 17:35 ` [PATCH v5 REPOST 0/5] ARM: omap[34]: Thumb-2 compatibility fixes Dave Martin
2011-03-04 17:38   ` Santosh Shilimkar
2011-03-04 17:47     ` Tony Lindgren
2011-03-04 18:16       ` Dave Martin
2011-03-04 21:42         ` Kevin Hilman
2011-03-04 21:55           ` Nicolas Pitre
2011-03-07 10:26           ` Dave Martin
2011-03-07 21:35     ` Kevin Hilman
2011-03-08  5:53       ` Santosh Shilimkar
2011-03-07 22:09 ` Kevin Hilman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).