1
0
mirror of https://git.yoctoproject.org/meta-ti synced 2026-06-05 02:11:00 +00:00

linux-ti33x-psp 3.2: for beaglebone set default Asm architecture to armv7-a

Beaglebone kernel needs to be built in Thumb2 mode to achieve fast boot
times. Unfortunately, that build is broken under newer binutils-2.22 with
the below Assembler error. The fix is to pass the specific -march=armv7-a
flag to the Assembler to make it work.

| arch/arm/boot/compressed/head.S: Assembler messages:
| arch/arm/boot/compressed/head.S:127: Error: selected processor does not support requested special purpose register -- `mrs r2,cpsr'
| arch/arm/boot/compressed/head.S:134: Error: selected processor does not support requested special purpose register -- `mrs r2,cpsr'
| arch/arm/boot/compressed/head.S:136: Error: selected processor does not support requested special purpose register -- `msr cpsr_c,r2'
| make[2]: *** [arch/arm/boot/compressed/head.o] Error 1
| make[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Koen Kooi <koen@circuitco.com>
This commit is contained in:
Denys Dmytriyenko
2012-05-03 17:20:32 -04:00
parent 285aeaee51
commit 051482e3b0
2 changed files with 37 additions and 0 deletions
@@ -0,0 +1,36 @@
From 6b87752bd00d12ac7c8db994480c077857e23bf0 Mon Sep 17 00:00:00 2001
From: Denys Dmytriyenko <denys@ti.com>
Date: Thu, 3 May 2012 16:04:16 -0400
Subject: [PATCH] arch/arm/boot/compressed: set default Asm architecture to armv7-a
This enables building compressed kernel with newer binutils-2.22 when kernel is
built in Thumb2 mode. Otherwise it fails with the following Assembler error:
| arch/arm/boot/compressed/head.S: Assembler messages:
| arch/arm/boot/compressed/head.S:127: Error: selected processor does not support requested special purpose register -- `mrs r2,cpsr'
| arch/arm/boot/compressed/head.S:134: Error: selected processor does not support requested special purpose register -- `mrs r2,cpsr'
| arch/arm/boot/compressed/head.S:136: Error: selected processor does not support requested special purpose register -- `msr cpsr_c,r2'
| make[2]: *** [arch/arm/boot/compressed/head.o] Error 1
| make[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
---
arch/arm/boot/compressed/Makefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
index 21f56ff..e01d370 100644
--- a/arch/arm/boot/compressed/Makefile
+++ b/arch/arm/boot/compressed/Makefile
@@ -123,7 +123,7 @@ KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
endif
ccflags-y := -fpic -fno-builtin -I$(obj)
-asflags-y := -Wa,-march=all
+asflags-y := -Wa,-march=armv7-a
# Supply kernel BSS size to the decompressor via a linker symbol.
KBSS_SZ = $(shell size $(obj)/../../../../vmlinux | awk 'END{print $$3}')
--
1.7.8.5
@@ -958,4 +958,5 @@ PATCHES_OVER_PSP = " \
file://beaglebone/0031-beaglebone-fix-3.5-cape-support.patch \
file://beaglebone/0032-beaglebone-connect-batterycape-GPIO-to-gpio-charger.patch \
file://beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch \
file://beaglebone/0001-arm-boot-compressed-default-asm-arch-to-armv7-a.patch \
"