> asac asked in a private mail thread about how to enable thumb2 on an
> otherwise plain defconfig.
Two things:
1) If you want your kernel to support Thumb2 user space binaries, you
must have CONFIG_ARM_THUMB=y in your kernel config. This is probably
set as our user space has been compiled to Thumb2 for quite a while.
2) If you want your kernel itself to be a Thumb2 binary, then you must
have CONFIG_THUMB2_KERNEL=y. This is however available only for
ARMv7 and above. For example, in the OMAP case, you can't support
OMAP2 with a Thumb2 kernel, therefore the CONFIG_THUMB2_KERNEL option
will be visible only if OMAP2 support is configured out (OMAP3 +
OMAP4 is fine).
Also it is not necessary to match the kernel and user space "thumbness".
However there was a bug in the kernel compiled for ARM mode when a Thumb
mode user space was used with it when that kernel was configured for
both ARMv6 and ARMv7 (e.g. omap2plus_defconfig). The fix was available
in linux-linaro-3.0 but this was missing from linux-linaro-3.1 until a
few hours ago.
On Mon, 17 Oct 2011, James Westby wrote:
> asac asked in a private mail thread about how to enable thumb2 on an
> otherwise plain defconfig.
Two things:
1) If you want your kernel to support Thumb2 user space binaries, you
must have CONFIG_ARM_THUMB=y in your kernel config. This is probably
set as our user space has been compiled to Thumb2 for quite a while.
2) If you want your kernel itself to be a Thumb2 binary, then you must THUMB2_ KERNEL= y. This is however available only for THUMB2_ KERNEL option
have CONFIG_
ARMv7 and above. For example, in the OMAP case, you can't support
OMAP2 with a Thumb2 kernel, therefore the CONFIG_
will be visible only if OMAP2 support is configured out (OMAP3 +
OMAP4 is fine).
Also it is not necessary to match the kernel and user space "thumbness". defconfig) . The fix was available
However there was a bug in the kernel compiled for ARM mode when a Thumb
mode user space was used with it when that kernel was configured for
both ARMv6 and ARMv7 (e.g. omap2plus_
in linux-linaro-3.0 but this was missing from linux-linaro-3.1 until a
few hours ago.