compiling 2.6.37 kernel in THUMB2 mode

Dave Martin dave.martin at linaro.org
Sun Mar 13 07:08:22 EDT 2011


On Sat, Mar 12, 2011 at 12:14 AM,  <vb at vsbe.com> wrote:
> On Fri, Mar 11, 2011 at 2:44 PM,  <vb at vsbe.com> wrote:
>>
>> boot.ok:usb 3-1.4: SerialNumber: 07A80C01174E078E
>> boot.th:usb 3-1.4: SerialNumber: 07AA08011D51D473
>>
>
> oh, geez, this is embarrassing - please disregard this 'clue', but th
> rest of mystery remains - linux does not boot all the way...

All C code "should just work", so I'd be surprised if generic driver
stacks like USB got broken (for example). The most likely cause of
problems is that there is some mach/ or plat/ code containing some
assembler which is not Thumb-compatible.

For example, the power management code in plat-omap and mach-omap2 has
some issues of this type.  This prevented successful bootup, as well
as preventing power management operations from working properly until
the code was fixed.

For a list of all the patches which could be relevant, try grepping
the history of the linaro 2.6.38 tree
(git://git.linaro.org/kernel/linux-linaro-2.6.38.git master) for
anything matching "thumb".  The non-omap specific patches are relevant
to you -- pretty much everything is upstream or in Russell's tree now.
 The omap-specific patches will be a useful illustration of the kind
of problems you might encounter with the BSP.

Hope that helps
---Dave



More information about the linux-arm-kernel mailing list