[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#859214: unblock: u-boot/u-boot_2016.11+dfsg1-4



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: Philip Hands <phil@hands.com>, Martin Michlmayr <tbm@cyrius.com>, Rick Thomas <rbthomas@pobox.com>

Please unblock package u-boot

This version of u-boot re-enables the openrd targets and applies a
patch patch from upstream fixing an issue that caused a failure to
boot (a more technical explanation is included in the patch
itself). This version also fixes a trivial typo on the documentation
for u-boot-rpi.

The reasons Martin requested openrd to be re-enabled for stretch:

 * stretch will be the last release to include support for the armel
   architecture, so it would be good to get support for this device
   as complete as possible.
 * While Debian can be installed with the default u-boot shipped on
   the OpenRD, the one provided by Debian is much more modern.

Additionally, I'd note that it was supported in jessie's u-boot, so this
would be a regression on upgrade to stretch. This will allow
debian-installer to re-enable support for openrd images as well.

A patched version has been tested by Phil Hands and Rick Thomas to
work on at least two different openrd targets.



diff -Nru u-boot-2016.11+dfsg1/debian/changelog u-boot-2016.11+dfsg1/debian/changelog
--- u-boot-2016.11+dfsg1/debian/changelog	2016-12-21 20:44:44.000000000 -0800
+++ u-boot-2016.11+dfsg1/debian/changelog	2017-03-27 11:39:51.000000000 -0700
@@ -1,3 +1,17 @@
+u-boot (2016.11+dfsg1-4) unstable; urgency=medium
+
+  [ Vagrant Cascadian ]
+  * [armel] Apply a patch from upstream to fix openrd targets which failed
+    to boot, and re-enable the openrd targets (Closes: #856441). Thanks to
+    Albert ARIBAUD for the patch, Martin Michlmayr for pointing out the
+    patch, and Phil Hands and Rick Thomas for testing on various openrd
+    platforms.
+
+  [ Martin Michlmayr ]
+  * u-boot-rpi: typo in README.Debian (Closes: #858574).
+
+ -- Vagrant Cascadian <vagrant@debian.org>  Mon, 27 Mar 2017 14:39:51 -0400
+
 u-boot (2016.11+dfsg1-3) unstable; urgency=medium
 
   [ Peter Michael Green ]
diff -Nru u-boot-2016.11+dfsg1/debian/patches/series u-boot-2016.11+dfsg1/debian/patches/series
--- u-boot-2016.11+dfsg1/debian/patches/series	2016-12-21 20:11:16.000000000 -0800
+++ u-boot-2016.11+dfsg1/debian/patches/series	2017-03-27 11:21:55.000000000 -0700
@@ -32,3 +32,5 @@
 
 orangepi_zero/0001-sunxi-add-proper-device-tree-for-Orange-Pi-Zero-boar.patch
 orangepi_zero/0002-sunxi-add-orangepi-zero-defconfig.patch
+
+upstream/openrd/0001-armv5te-make-ret-lr-produce-iinterworking-bx-lr.patch
diff -Nru u-boot-2016.11+dfsg1/debian/patches/upstream/openrd/0001-armv5te-make-ret-lr-produce-iinterworking-bx-lr.patch u-boot-2016.11+dfsg1/debian/patches/upstream/openrd/0001-armv5te-make-ret-lr-produce-iinterworking-bx-lr.patch
--- u-boot-2016.11+dfsg1/debian/patches/upstream/openrd/0001-armv5te-make-ret-lr-produce-iinterworking-bx-lr.patch	1969-12-31 16:00:00.000000000 -0800
+++ u-boot-2016.11+dfsg1/debian/patches/upstream/openrd/0001-armv5te-make-ret-lr-produce-iinterworking-bx-lr.patch	2017-03-27 11:21:55.000000000 -0700
@@ -0,0 +1,39 @@
+From 6b4e9426834580810790ecfa924979d61c5c1987 Mon Sep 17 00:00:00 2001
+From: Albert ARIBAUD <albert.u.boot@aribaud.net>
+Date: Mon, 27 Feb 2017 20:19:07 +0100
+Subject: [PATCH] armv5te: make 'ret lr' produce iinterworking 'bx lr'
+
+Current ARM assembler helper for the 'return to caller' pseudo-instruction
+turns 'ret lr' into 'mov pc, lr' for ARMv5TE. This causes the core to remain
+in its current ARM state even when the routine doing the 'ret' was called
+from Thumb-1 state, triggering an undefined instruction exception.
+
+This causes early run-time failures in all boards compiled using the Thumb-1
+instruction set (for instance the Open-RD family).
+
+ARMv5TE supports 'bx lr' which properly implements interworking and thus
+correctly returns to Thumb-1 state from ARM state.
+
+This change makes 'ret lr' turn into 'bx lr' for ARMv5TE.
+
+Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
+---
+ arch/arm/include/asm/assembler.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h
+index ae1e42fc06..c56daf2a1f 100644
+--- a/arch/arm/include/asm/assembler.h
++++ b/arch/arm/include/asm/assembler.h
+@@ -59,7 +59,7 @@
+ 
+ 	.irp	c,,eq,ne,cs,cc,mi,pl,vs,vc,hi,ls,ge,lt,gt,le,hs,lo
+ 	.macro	ret\c, reg
+-#if defined(__ARM_ARCH_5E__) || defined(__ARM_ARCH_5TE__)
++#if defined(__ARM_ARCH_5E__)
+ 	mov\c	pc, \reg
+ #else
+ 	.ifeqs	"\reg", "lr"
+-- 
+2.11.0
+
diff -Nru u-boot-2016.11+dfsg1/debian/targets u-boot-2016.11+dfsg1/debian/targets
--- u-boot-2016.11+dfsg1/debian/targets	2016-12-21 20:11:16.000000000 -0800
+++ u-boot-2016.11+dfsg1/debian/targets	2017-03-27 11:21:55.000000000 -0700
@@ -8,6 +8,17 @@
 # drEagle <drEagle@doukki.net>
 armel	-		guruplug	u-boot.kwb
 
+# Albert ARIBAUD <albert.u.boot@aribaud.net>
+armel  -               openrd_base u-boot.kwb
+
+# Rick Thomas <rbthomas@rcthomas.org>
+# Albert ARIBAUD <albert.u.boot@aribaud.net>
+armel  -               openrd_client u-boot.kwb
+
+# Rick Thomas <rbthomas@rcthomas.org>
+# Philip Hands <phil@hands.com>
+armel  -               openrd_ultimate u-boot.kwb
+
 # Vagrant Cascadian <vagrant@debian.org>, rpi B 256M
 armel	rpi		rpi		u-boot.bin
 
diff -Nru u-boot-2016.11+dfsg1/debian/u-boot-rpi.README.Debian u-boot-2016.11+dfsg1/debian/u-boot-rpi.README.Debian
--- u-boot-2016.11+dfsg1/debian/u-boot-rpi.README.Debian	2016-12-21 19:39:14.000000000 -0800
+++ u-boot-2016.11+dfsg1/debian/u-boot-rpi.README.Debian	2017-03-27 11:38:05.000000000 -0700
@@ -1,7 +1,7 @@
 == Installation ==
 
 The raspberry pi targets can be installed by copying u-boot.bin to the
-FAT partition of the raspberry pi boot firmwware:
+FAT partition of the raspberry pi boot firmware:
 
   mkdir -p /boot/fat
   mount /dev/mmcblk0p1 /boot/fat



unblock u-boot/u-boot_2016.11+dfsg1-4


Thanks for taking the time to review this request!


live well,
  vagrant

Attachment: signature.asc
Description: PGP signature


Reply to: