Thumb-2: Add Thumb-2 support to the build files
This patch adds the necessary entries to the Makefile and Kconfig files for building the Thumb-2 kernel. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
Родитель
e2ed3be731
Коммит
16c79651a5
|
@ -983,6 +983,18 @@ config HZ
|
||||||
default AT91_TIMER_HZ if ARCH_AT91
|
default AT91_TIMER_HZ if ARCH_AT91
|
||||||
default 100
|
default 100
|
||||||
|
|
||||||
|
config THUMB2_KERNEL
|
||||||
|
bool "Compile the kernel in Thumb-2 mode"
|
||||||
|
depends on CPU_V7 && EXPERIMENTAL
|
||||||
|
select AEABI
|
||||||
|
select ARM_ASM_UNIFIED
|
||||||
|
help
|
||||||
|
By enabling this option, the kernel will be compiled in
|
||||||
|
Thumb-2 mode. A compiler/assembler that understand the unified
|
||||||
|
ARM-Thumb syntax is needed.
|
||||||
|
|
||||||
|
If unsure, say N.
|
||||||
|
|
||||||
config ARM_ASM_UNIFIED
|
config ARM_ASM_UNIFIED
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ source "lib/Kconfig.debug"
|
||||||
# n, but then RMK will have to kill you ;).
|
# n, but then RMK will have to kill you ;).
|
||||||
config FRAME_POINTER
|
config FRAME_POINTER
|
||||||
bool
|
bool
|
||||||
|
depends on !THUMB2_KERNEL
|
||||||
default y if !ARM_UNWIND
|
default y if !ARM_UNWIND
|
||||||
help
|
help
|
||||||
If you say N here, the resulting kernel will be slightly smaller and
|
If you say N here, the resulting kernel will be slightly smaller and
|
||||||
|
|
|
@ -93,9 +93,16 @@ ifeq ($(CONFIG_ARM_UNWIND),y)
|
||||||
CFLAGS_ABI +=-funwind-tables
|
CFLAGS_ABI +=-funwind-tables
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_THUMB2_KERNEL),y)
|
||||||
|
AFLAGS_AUTOIT :=$(call as-option,-Wa$(comma)-mimplicit-it=thumb,-Wa$(comma)-mauto-it)
|
||||||
|
AFLAGS_NOWARN :=$(call as-option,-Wa$(comma)-mno-warn-deprecated,-Wa$(comma)-W)
|
||||||
|
CFLAGS_THUMB2 :=-mthumb $(AFLAGS_AUTOIT) $(AFLAGS_NOWARN)
|
||||||
|
AFLAGS_THUMB2 :=$(CFLAGS_THUMB2) -Wa$(comma)-mthumb
|
||||||
|
endif
|
||||||
|
|
||||||
# Need -Uarm for gcc < 3.x
|
# Need -Uarm for gcc < 3.x
|
||||||
KBUILD_CFLAGS +=$(CFLAGS_ABI) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm
|
KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_THUMB2) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm
|
||||||
KBUILD_AFLAGS +=$(CFLAGS_ABI) $(arch-y) $(tune-y) -include asm/unified.h -msoft-float
|
KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_THUMB2) $(arch-y) $(tune-y) -include asm/unified.h -msoft-float
|
||||||
|
|
||||||
CHECKFLAGS += -D__arm__
|
CHECKFLAGS += -D__arm__
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче