[U-Boot] [PATCH] ARM: cfi_flash: Avoid generation of unaligned accesses

Andrew Gabbasov andrew_gabbasov at mentor.com
Sun Apr 28 12:39:36 CEST 2013


Packed structure cfi_qry contains unaligned 16- and 32-bits members,
accessing which causes problems when cfi_flash driver is compiled with
-munaligned-access option: flash initialization hangs, probably
due to data error.

Since fixing the code to use some other way of accessing those fields
seems quite expensive, just force the compiler to use -mno-unaligned-access.

Signed-off-by: Andrew Gabbasov <andrew_gabbasov at mentor.com>
---
 drivers/mtd/Makefile |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
index 543c845..a120f0b 100644
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -46,6 +46,9 @@ all:	$(LIB)
 $(LIB):	$(obj).depend $(OBJS)
 	$(call cmd_link_o_target, $(OBJS))
 
+# SEE README.arm-unaligned-accesses
+$(obj)cfi_flash.o: CFLAGS += $(PLATFORM_NO_UNALIGNED)
+
 #########################################################################
 
 # defines $(obj).depend target
-- 
1.7.10.4



More information about the U-Boot mailing list