Commit ef81363d authored by Thomas Petazzoni's avatar Thomas Petazzoni
Browse files

at91dataflashboot: add two patches



The first patch allows to build with an EABI toolchain. The second
patch disables the install step of at91dataflashboot Makefile since it
tries to copy files to /tftpboot.

Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 470888be
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
Disable the automatic installation of at91dataflashboot since it tries
to install things to /tftpboot, which is not possible when not
building as root.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 Makefile |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: at91dataflashboot-1.05/Makefile
===================================================================
--- at91dataflashboot-1.05.orig/Makefile
+++ at91dataflashboot-1.05/Makefile
@@ -40,7 +40,7 @@
 
 I=config.h com.h dataflash.h embedded_services.h main.h stdio.h include/AT91RM9200.h include/lib_AT91RM9200.h 
 
-all: 	clean $(BINNAME) $(LSSNAME) install
+all: 	clean $(BINNAME) $(LSSNAME)
 	$(SIZE) $(OUTNAME)
 
 # C objects here
+43 −0
Original line number Diff line number Diff line
Get at91dataflashboot to build with EABI toolchains, by providing the
__aeabi_uidiv and __aeabi_uidivmod symbols. The code is based on
U-Boot's code.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 _udivsi3.S |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

Index: DataflashBoot-1.05/_udivsi3.S
===================================================================
--- DataflashBoot-1.05.orig/_udivsi3.S
+++ DataflashBoot-1.05/_udivsi3.S
@@ -12,8 +12,11 @@
 	.text
 	.globl	 __udivsi3
 	.type  __udivsi3       ,function
+        .globl  __aeabi_uidiv
+        .type   __aeabi_uidiv ,function
 	.align	0
  __udivsi3      :
+ __aeabi_uidiv:
 	cmp	divisor, #0
 	beq	Ldiv0
 	mov	curbit, #1
@@ -68,6 +71,17 @@
 	mov	r0, #0			@ about as wrong as it could be
 	ldmia	sp!, {pc}
 	.size  __udivsi3       , . -  __udivsi3
+
+.globl __aeabi_uidivmod
+__aeabi_uidivmod:
+
+        stmfd   sp!, {r0, r1, ip, lr}
+        bl      __aeabi_uidiv
+        ldmfd   sp!, {r1, r2, ip, lr}
+        mul     r3, r0, r2
+        sub     r1, r1, r3
+        mov     pc, lr
+
 /* # 235 "libgcc1.S" */
 /* # 320 "libgcc1.S" */
 /* # 421 "libgcc1.S" */