mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-29 14:16:31 +00:00
arm: conditionally support regular ARM instructions
Until now, all ARM processors supported the original ARM instructions. However, the Cortex-M variants don't support them, and support only Thumb/Thumb2 modes. So, make a Kconfig option for ARM support and use it. [Thomas: - Remove the dependency in the choice between ARM/Thumb/Thumb-2, because basically the choice is now always visible. - Replace the BR2_ARM_INSTRUCTIONS_ARM_CHOICE choice option directly by BR2_ARM_INSTRUCTIONS_ARM, instead of having this blind option defined separately. This means the choice is now always visible, even when only the ARM instruction set is supported.] Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
5487b26307
commit
a87f5806ed
@ -31,6 +31,9 @@ config BR2_ARM_CPU_HAS_VFPV4
|
|||||||
bool
|
bool
|
||||||
select BR2_ARM_CPU_HAS_VFPV3
|
select BR2_ARM_CPU_HAS_VFPV3
|
||||||
|
|
||||||
|
config BR2_ARM_CPU_HAS_ARM
|
||||||
|
bool
|
||||||
|
|
||||||
config BR2_ARM_CPU_HAS_THUMB
|
config BR2_ARM_CPU_HAS_THUMB
|
||||||
bool
|
bool
|
||||||
|
|
||||||
@ -58,83 +61,100 @@ choice
|
|||||||
|
|
||||||
config BR2_arm920t
|
config BR2_arm920t
|
||||||
bool "arm920t"
|
bool "arm920t"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_HAS_THUMB
|
select BR2_ARM_CPU_HAS_THUMB
|
||||||
select BR2_ARM_CPU_ARMV4
|
select BR2_ARM_CPU_ARMV4
|
||||||
config BR2_arm922t
|
config BR2_arm922t
|
||||||
bool "arm922t"
|
bool "arm922t"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_HAS_THUMB
|
select BR2_ARM_CPU_HAS_THUMB
|
||||||
select BR2_ARM_CPU_ARMV4
|
select BR2_ARM_CPU_ARMV4
|
||||||
config BR2_arm926t
|
config BR2_arm926t
|
||||||
bool "arm926t"
|
bool "arm926t"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
select BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
||||||
select BR2_ARM_CPU_HAS_THUMB
|
select BR2_ARM_CPU_HAS_THUMB
|
||||||
select BR2_ARM_CPU_ARMV5
|
select BR2_ARM_CPU_ARMV5
|
||||||
config BR2_arm1136jf_s
|
config BR2_arm1136jf_s
|
||||||
bool "arm1136jf-s"
|
bool "arm1136jf-s"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_HAS_VFPV2
|
select BR2_ARM_CPU_HAS_VFPV2
|
||||||
select BR2_ARM_CPU_HAS_THUMB
|
select BR2_ARM_CPU_HAS_THUMB
|
||||||
select BR2_ARM_CPU_ARMV6
|
select BR2_ARM_CPU_ARMV6
|
||||||
config BR2_arm1176jz_s
|
config BR2_arm1176jz_s
|
||||||
bool "arm1176jz-s"
|
bool "arm1176jz-s"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_HAS_THUMB
|
select BR2_ARM_CPU_HAS_THUMB
|
||||||
select BR2_ARM_CPU_ARMV6
|
select BR2_ARM_CPU_ARMV6
|
||||||
config BR2_arm1176jzf_s
|
config BR2_arm1176jzf_s
|
||||||
bool "arm1176jzf-s"
|
bool "arm1176jzf-s"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_HAS_VFPV2
|
select BR2_ARM_CPU_HAS_VFPV2
|
||||||
select BR2_ARM_CPU_HAS_THUMB
|
select BR2_ARM_CPU_HAS_THUMB
|
||||||
select BR2_ARM_CPU_ARMV6
|
select BR2_ARM_CPU_ARMV6
|
||||||
config BR2_cortex_a5
|
config BR2_cortex_a5
|
||||||
bool "cortex-A5"
|
bool "cortex-A5"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_MAYBE_HAS_NEON
|
select BR2_ARM_CPU_MAYBE_HAS_NEON
|
||||||
select BR2_ARM_CPU_MAYBE_HAS_VFPV4
|
select BR2_ARM_CPU_MAYBE_HAS_VFPV4
|
||||||
select BR2_ARM_CPU_HAS_THUMB2
|
select BR2_ARM_CPU_HAS_THUMB2
|
||||||
select BR2_ARM_CPU_ARMV7A
|
select BR2_ARM_CPU_ARMV7A
|
||||||
config BR2_cortex_a7
|
config BR2_cortex_a7
|
||||||
bool "cortex-A7"
|
bool "cortex-A7"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_HAS_NEON
|
select BR2_ARM_CPU_HAS_NEON
|
||||||
select BR2_ARM_CPU_HAS_VFPV4
|
select BR2_ARM_CPU_HAS_VFPV4
|
||||||
select BR2_ARM_CPU_HAS_THUMB2
|
select BR2_ARM_CPU_HAS_THUMB2
|
||||||
select BR2_ARM_CPU_ARMV7A
|
select BR2_ARM_CPU_ARMV7A
|
||||||
config BR2_cortex_a8
|
config BR2_cortex_a8
|
||||||
bool "cortex-A8"
|
bool "cortex-A8"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_HAS_NEON
|
select BR2_ARM_CPU_HAS_NEON
|
||||||
select BR2_ARM_CPU_HAS_VFPV3
|
select BR2_ARM_CPU_HAS_VFPV3
|
||||||
select BR2_ARM_CPU_HAS_THUMB2
|
select BR2_ARM_CPU_HAS_THUMB2
|
||||||
select BR2_ARM_CPU_ARMV7A
|
select BR2_ARM_CPU_ARMV7A
|
||||||
config BR2_cortex_a9
|
config BR2_cortex_a9
|
||||||
bool "cortex-A9"
|
bool "cortex-A9"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_MAYBE_HAS_NEON
|
select BR2_ARM_CPU_MAYBE_HAS_NEON
|
||||||
select BR2_ARM_CPU_MAYBE_HAS_VFPV3
|
select BR2_ARM_CPU_MAYBE_HAS_VFPV3
|
||||||
select BR2_ARM_CPU_HAS_THUMB2
|
select BR2_ARM_CPU_HAS_THUMB2
|
||||||
select BR2_ARM_CPU_ARMV7A
|
select BR2_ARM_CPU_ARMV7A
|
||||||
config BR2_cortex_a12
|
config BR2_cortex_a12
|
||||||
bool "cortex-A12"
|
bool "cortex-A12"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_HAS_NEON
|
select BR2_ARM_CPU_HAS_NEON
|
||||||
select BR2_ARM_CPU_HAS_VFPV4
|
select BR2_ARM_CPU_HAS_VFPV4
|
||||||
select BR2_ARM_CPU_HAS_THUMB2
|
select BR2_ARM_CPU_HAS_THUMB2
|
||||||
select BR2_ARM_CPU_ARMV7A
|
select BR2_ARM_CPU_ARMV7A
|
||||||
config BR2_cortex_a15
|
config BR2_cortex_a15
|
||||||
bool "cortex-A15"
|
bool "cortex-A15"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_HAS_NEON
|
select BR2_ARM_CPU_HAS_NEON
|
||||||
select BR2_ARM_CPU_HAS_VFPV4
|
select BR2_ARM_CPU_HAS_VFPV4
|
||||||
select BR2_ARM_CPU_HAS_THUMB2
|
select BR2_ARM_CPU_HAS_THUMB2
|
||||||
select BR2_ARM_CPU_ARMV7A
|
select BR2_ARM_CPU_ARMV7A
|
||||||
config BR2_fa526
|
config BR2_fa526
|
||||||
bool "fa526/626"
|
bool "fa526/626"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_ARMV4
|
select BR2_ARM_CPU_ARMV4
|
||||||
config BR2_pj4
|
config BR2_pj4
|
||||||
bool "pj4"
|
bool "pj4"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_HAS_VFPV3
|
select BR2_ARM_CPU_HAS_VFPV3
|
||||||
select BR2_ARM_CPU_ARMV7A
|
select BR2_ARM_CPU_ARMV7A
|
||||||
config BR2_strongarm
|
config BR2_strongarm
|
||||||
bool "strongarm sa110/sa1100"
|
bool "strongarm sa110/sa1100"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_ARMV4
|
select BR2_ARM_CPU_ARMV4
|
||||||
config BR2_xscale
|
config BR2_xscale
|
||||||
bool "xscale"
|
bool "xscale"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_HAS_THUMB
|
select BR2_ARM_CPU_HAS_THUMB
|
||||||
select BR2_ARM_CPU_ARMV5
|
select BR2_ARM_CPU_ARMV5
|
||||||
config BR2_iwmmxt
|
config BR2_iwmmxt
|
||||||
bool "iwmmxt"
|
bool "iwmmxt"
|
||||||
|
select BR2_ARM_CPU_HAS_ARM
|
||||||
select BR2_ARM_CPU_ARMV5
|
select BR2_ARM_CPU_ARMV5
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
@ -318,10 +338,10 @@ endchoice
|
|||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "ARM instruction set"
|
prompt "ARM instruction set"
|
||||||
depends on BR2_ARM_CPU_HAS_THUMB || BR2_ARM_CPU_HAS_THUMB2
|
|
||||||
|
|
||||||
config BR2_ARM_INSTRUCTIONS_ARM_CHOICE
|
config BR2_ARM_INSTRUCTIONS_ARM
|
||||||
bool "ARM"
|
bool "ARM"
|
||||||
|
depends on BR2_ARM_CPU_HAS_ARM
|
||||||
help
|
help
|
||||||
This option instructs the compiler to generate regular ARM
|
This option instructs the compiler to generate regular ARM
|
||||||
instructions, that are all 32 bits wide.
|
instructions, that are all 32 bits wide.
|
||||||
@ -346,10 +366,6 @@ config BR2_ARM_INSTRUCTIONS_THUMB2
|
|||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config BR2_ARM_INSTRUCTIONS_ARM
|
|
||||||
def_bool y
|
|
||||||
depends on !(BR2_ARM_INSTRUCTIONS_THUMB || BR2_ARM_INSTRUCTIONS_THUMB2)
|
|
||||||
|
|
||||||
config BR2_ARCH
|
config BR2_ARCH
|
||||||
default "arm" if BR2_arm
|
default "arm" if BR2_arm
|
||||||
default "armeb" if BR2_armeb
|
default "armeb" if BR2_armeb
|
||||||
|
Loading…
x
Reference in New Issue
Block a user