[PATCH/RFC] ARM: CONFIG_MTD_XIP vs. __aeabi_idiv

Johannes Stezenbach js at sig21.net
Thu Sep 9 09:14:03 EDT 2010


For testing purposes I needed to build a kernel which
executes in-place in NOR flash.  It crashes when probing
physmap flash because the MTD code which runs from RAM with
CONFIG_MTD_XIP calls __aeabi_idiv.

Signed-off-by: Johannes Stezenbach <js at sig21.net>


diff --git a/arch/arm/lib/lib1funcs.S b/arch/arm/lib/lib1funcs.S
index 6dc0648..b2c0105 100644
--- a/arch/arm/lib/lib1funcs.S
+++ b/arch/arm/lib/lib1funcs.S
@@ -204,6 +204,10 @@ Boston, MA 02111-1307, USA.  */
 5:
 .endm
 
+#ifdef CONFIG_MTD_XIP
+	@ MTD code need to have these functions in RAM
+	.section ".data"
+#endif
 
 ENTRY(__udivsi3)
 ENTRY(__aeabi_uidiv)



More information about the linux-arm-kernel mailing list