Re: [PATCH] ARM: Thumb-2: Make CONFIG_THUMB2_KERNEL depend on !CPU_V6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 8, 2010 at 7:43 AM, David Brownell <david-b@xxxxxxxxxxx> wrote:
>
> --- On Tue, 12/7/10, Dave Martin <dave.martin@xxxxxxxxxx> wrote:
>
>> From: Dave Martin <dave.martin@xxxxxxxxxx>
>> Subject: [PATCH] ARM: Thumb-2: Make CONFIG_THUMB2_KERNEL depend on !CPU_V6...
>
>> This makes sense, because Thumb-2
>> code can't execute on anything
>> prior to ARMv7.
>
> WRONG ... but you may be overlooking the
> fact that there are at least three
> flavors of Thumb-2 ...
>
>  - Original, as on some ARMv6 chips ARM1156 was
> the introductory Thumb2 core).  It's Thumb1
> plus a very few 32-bit instructions.  (And
> maybe the SIMD instructions too; I forget.  Not
> suitable for OS work like IRQ handling, ISTR; or
> at least, not as suitable as the ARMv7 flavors.
>
>  -Microcontroller ... ARMv7M chips, and likely
> not available on Linux-capable hardware ...   Suitable for RTOS work like IRQ
> handling.

You're correct on some points ... *but* v7-M is not supported in the
kernel yet, and in any case full linux is not applicable - this will
be ucLinux territory.  v7-M shares much of the instruction set with
v7-A/R, bit it's a substantially different architecture when it comes
to things like exception handling etc.

The v6T2 architecture supported by arm1156 does have comprehensive
Thumb-2 support (not just a few 32-bit instructions), and arm1156
supports taking of exceptions in Thumb-2 etc., so in principle the
complete OS could be built in Thumb-2 as is the case for v7.  But this
particular processor is rare and I believe it's not supported in the
kernel right now ... and not likely to be.  No other processors
implement v6T2, and no new processors will implement it either.

The rules might need to be refined later, but !CPU_V6 seems sensible for now.

Cheers
---Dave
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux