Hi there Eric,
I have some results now from trying a Thumb-2 kernel on our various trees for imx:
* It "works" on the packaged 2.6.38 kernel tree (linux-linaro-natty), but I can't test things the kernel doesn't support (like power management).
[ John, is it worth trying to turn this on for the vanilla linaro tree and seeing whether it causes problems for anyone? Are there any particular tests I should do? ]
* The landing team trees contain some power management code that doesn't build for Thumb-2 -- if you can suggest who to discuss that with / where to propose patches, that would be great.
(The affected code appears simple to patch.)
* Many .align directives should be added, where inline data words are declared in .S files. I can advise further on this / suggest a patch. Only the landing trees appear to be affected.
* The lt-2.6.38 and linaro-lt-mx5-2.6.35 trees don't seem to boot for me, either in the default configuration (from debian.linaro/config/) or in Thumb-2.
I may be doing something wrong...
* The lt-2.6.38 tree has CONFIG_FIQ=y. I believe this might be a bug: this option is implicitly enabled in sound/soc/imx/Kconfig if any imx SoC audio support is built.
I believe that FIQ is may not be used by any driver applicable to the mx5 platforms, but I'd like someone to clarify this, since I'm not famliar with exactly what platforms exist and their hardware configuration.
If FIQ might be used, then some work is needed in plat-mxc/ssi-fiq.S, since that code is not currently Thumb-2 compatible. Note that all exceptions are entered in Thumb-2 in a Thumb-2 kernel.
There are a couple of core arm patches I recently upstreamed which would also be needed.
I'm guessing the best way forward is to discuss these with someone on the landing team.
None of the problems appears to affect the code that is currently upstream.
Cheers ---Dave