@@ -47,6 +47,7 @@ XARCH_riscv = riscv64
4747XARCH = $(or $(XARCH_$(ARCH ) ) ,$(ARCH ) )
4848
4949# map from user input variants to their kernel supported architectures
50+ ARCH_armthumb = arm
5051ARCH_ppc = powerpc
5152ARCH_ppc64 = powerpc
5253ARCH_ppc64le = powerpc
@@ -63,6 +64,7 @@ IMAGE_x86_64 = arch/x86/boot/bzImage
6364IMAGE_x86 = arch/x86/boot/bzImage
6465IMAGE_arm64 = arch/arm64/boot/Image
6566IMAGE_arm = arch/arm/boot/zImage
67+ IMAGE_armthumb = arch/arm/boot/zImage
6668IMAGE_mips32le = vmlinuz
6769IMAGE_mips32be = vmlinuz
6870IMAGE_ppc = vmlinux
@@ -83,6 +85,7 @@ DEFCONFIG_x86_64 = defconfig
8385DEFCONFIG_x86 = defconfig
8486DEFCONFIG_arm64 = defconfig
8587DEFCONFIG_arm = multi_v7_defconfig
88+ DEFCONFIG_armthumb = multi_v7_defconfig
8689DEFCONFIG_mips32le = malta_defconfig
8790DEFCONFIG_mips32be = malta_defconfig generic/eb.config
8891DEFCONFIG_ppc = pmac32_defconfig
@@ -107,6 +110,7 @@ QEMU_ARCH_x86_64 = x86_64
107110QEMU_ARCH_x86 = x86_64
108111QEMU_ARCH_arm64 = aarch64
109112QEMU_ARCH_arm = arm
113+ QEMU_ARCH_armthumb = arm
110114QEMU_ARCH_mips32le = mipsel # works with malta_defconfig
111115QEMU_ARCH_mips32be = mips
112116QEMU_ARCH_ppc = ppc
@@ -136,6 +140,7 @@ QEMU_ARGS_x86_64 = -M pc -append "console=ttyS0,9600 i8042.noaux panic=-1 $(
136140QEMU_ARGS_x86 = -M pc -append "console=ttyS0,9600 i8042.noaux panic=-1 $(TEST:%=NOLIBC_TEST=% ) "
137141QEMU_ARGS_arm64 = -M virt -cpu cortex-a53 -append "panic=-1 $(TEST:%=NOLIBC_TEST=% ) "
138142QEMU_ARGS_arm = -M virt -append "panic=-1 $(TEST:%=NOLIBC_TEST=% ) "
143+ QEMU_ARGS_armthumb = -M virt -append "panic=-1 $(TEST:%=NOLIBC_TEST=% ) "
139144QEMU_ARGS_mips32le = -M malta -append "panic=-1 $(TEST:%=NOLIBC_TEST=% ) "
140145QEMU_ARGS_mips32be = -M malta -append "panic=-1 $(TEST:%=NOLIBC_TEST=% ) "
141146QEMU_ARGS_ppc = -M g3beige -append "console=ttyS0 panic=-1 $(TEST:%=NOLIBC_TEST=% ) "
@@ -161,6 +166,7 @@ endif
161166
162167CFLAGS_i386 = $(call cc-option,-m32)
163168CFLAGS_arm = -marm
169+ CFLAGS_armthumb = -mthumb -march=armv6t2
164170CFLAGS_ppc = -m32 -mbig-endian -mno-vsx $(call cc-option,-mmultiple)
165171CFLAGS_ppc64 = -m64 -mbig-endian -mno-vsx $(call cc-option,-mmultiple)
166172CFLAGS_ppc64le = -m64 -mlittle-endian -mno-vsx $(call cc-option,-mabi=elfv2)
0 commit comments