Hello community,

here is the log from the commit of package u-boot for openSUSE:Factory checked 
in at 2016-07-01 10:00:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/u-boot (Old)
 and      /work/SRC/openSUSE:Factory/.u-boot.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "u-boot"

Changes:
--------
--- /work/SRC/openSUSE:Factory/u-boot/u-boot-a10-olinuxino-lime.changes 
2016-05-30 09:55:55.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.u-boot.new/u-boot-a10-olinuxino-lime.changes    
2016-07-01 10:00:16.000000000 +0200
@@ -1,0 +2,55 @@
+Mon Jun 27 11:00:33 UTC 2016 - [email protected]
+
+- Enable SUNXI_SPL for orangepi_pc
+
+-------------------------------------------------------------------
+Mon Jun 27 06:14:09 UTC 2016 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/u-boot.git tumbleweed
+* Patches added:
+  0015-arm-Fix-setjmp.patch
+- Add update_git.sh to source file list
+
+-------------------------------------------------------------------
+Mon Jun  6 22:07:59 UTC 2016 - [email protected]
+
+- Add efifb support for RPi
+- Fix spin table spill on Rpi
+- Patch queue updated from git://github.com/openSUSE/u-boot.git tumbleweed
+* Patches added:
+  0011-efi_loader-Add-DM_VIDEO-support.patch
+  0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+  0013-bcm2835-video-Map-frame-buffer-as-3.patch
+  0014-bcm2835-Reserve-the-spin-table-in-e.patch
+
+-------------------------------------------------------------------
+Mon Jun  6 06:56:34 UTC 2016 - [email protected]
+
+- Add RTS reboot for RPi
+- Add EFI exit support
+- Patch queue updated from git://github.com/openSUSE/u-boot.git tumbleweed
+* Patches added:
+  0007-efi_loader-Allow-boards-to-implemen.patch
+  0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+  0009-arm-Introduce-setjmp-longjmp.patch
+  0010-efi_loader-Add-exit-support.patch
+
+-------------------------------------------------------------------
+Fri Jun  3 11:18:13 UTC 2016 - [email protected]
+
+- Disable EFI GOP fb_addr, so Linux doesn't use it
+- Move to git based patch queue workflow
+- Patch queue updated from git://github.com/openSUSE/u-boot.git tumbleweed
+* Patches dropped:
+  0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+  0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
+  0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
+* Patches added:
+  0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+  0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+  0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+  0004-video-ipu-Fix-build-with-hard-float.patch
+  0005-efi_loader-Clean-up-system-table-on.patch
+  0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+
+-------------------------------------------------------------------
u-boot-a13-olinuxino.changes: same change
u-boot-a13-olinuxinom.changes: same change
u-boot-a20-olinuxino-lime.changes: same change
u-boot-a20-olinuxino-lime2.changes: same change
u-boot-a20-olinuxinomicro.changes: same change
u-boot-am335xboneblack.changes: same change
u-boot-am335xevm.changes: same change
u-boot-am57xxevm.changes: same change
u-boot-am57xxevmnodt.changes: same change
u-boot-arndale.changes: same change
u-boot-bananapi.changes: same change
u-boot-clearfog.changes: same change
u-boot-colibrit20.changes: same change
u-boot-cubieboard.changes: same change
u-boot-cubieboard2.changes: same change
u-boot-cubietruck.changes: same change
u-boot-firefly-rk3288.changes: same change
u-boot-highbank.changes: same change
u-boot-hyundaia7hd.changes: same change
u-boot-jetson-tk1.changes: same change
u-boot-melea1000.changes: same change
u-boot-merriia80optimus.changes: same change
u-boot-mx53loco.changes: same change
u-boot-mx6cuboxi.changes: same change
u-boot-mx6qsabrelite.changes: same change
u-boot-odroid-xu3.changes: same change
u-boot-odroid.changes: same change
u-boot-omap3beagle.changes: same change
u-boot-omap4panda.changes: same change
u-boot-orangepipc.changes: same change
u-boot-p2371-2180.changes: same change
u-boot-paz00.changes: same change
u-boot-pcm051rev3.changes: same change
u-boot-qemu-ppce500.changes: same change
u-boot-rpi.changes: same change
u-boot-rpi2.changes: same change
u-boot-rpi3.changes: same change
u-boot-snow.changes: same change
u-boot-spring.changes: same change
u-boot-udoo.changes: same change
u-boot.changes: same change

Old:
----
  0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
  0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
  0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch

New:
----
  0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
  0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
  0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
  0004-video-ipu-Fix-build-with-hard-float.patch
  0005-efi_loader-Clean-up-system-table-on.patch
  0006-efi_loader-gop-Don-t-expose-fb-addr.patch
  0007-efi_loader-Allow-boards-to-implemen.patch
  0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
  0009-arm-Introduce-setjmp-longjmp.patch
  0010-efi_loader-Add-exit-support.patch
  0011-efi_loader-Add-DM_VIDEO-support.patch
  0012-efi_loader-gop-Expose-fb-when-32bpp.patch
  0013-bcm2835-video-Map-frame-buffer-as-3.patch
  0014-bcm2835-Reserve-the-spin-table-in-e.patch
  0015-arm-Fix-setjmp.patch
  update_git.sh

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ u-boot-a10-olinuxino-lime.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:21.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:21.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
A10-OLinuXino-Lime_defconfig

++++++ u-boot-a13-olinuxino.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:21.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:21.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
A13-OLinuXino_defconfig

++++++ u-boot-a13-olinuxinom.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:21.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:21.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
A13-OLinuXinoM_defconfig

++++++ u-boot-a20-olinuxino-lime.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:21.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:21.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
A20-OLinuXino-Lime_defconfig

++++++ u-boot-a20-olinuxino-lime2.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:21.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:21.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
A20-OLinuXino-Lime2_defconfig

++++++ u-boot-a20-olinuxinomicro.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:21.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:21.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
A20-OLinuXino_MICRO_defconfig

++++++ u-boot-am335xboneblack.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:21.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:21.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
am335x_boneblack_defconfig

++++++ u-boot-am335xevm.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:21.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:21.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
am335x_evm_defconfig

++++++ u-boot-am57xxevm.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:21.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:21.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
am57xx_evm_defconfig

++++++ u-boot-am57xxevmnodt.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:21.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:21.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
am57xx_evm_nodt_defconfig

++++++ u-boot-arndale.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:21.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:21.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" arndale_defconfig

++++++ u-boot-bananapi.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:21.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
Bananapi_defconfig

++++++ u-boot-clearfog.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
clearfog_defconfig

++++++ u-boot-colibrit20.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
colibri_t20_defconfig

++++++ u-boot-cubieboard.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
Cubieboard_defconfig

++++++ u-boot-cubieboard2.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
Cubieboard2_defconfig

++++++ u-boot-cubietruck.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
Cubietruck_defconfig

++++++ u-boot-firefly-rk3288.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
firefly-rk3288_defconfig

++++++ u-boot-highbank.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
highbank_defconfig

++++++ u-boot-hyundaia7hd.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
Hyundai_A7HD_defconfig

++++++ u-boot-jetson-tk1.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
jetson-tk1_defconfig

++++++ u-boot-melea1000.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
Mele_A1000_defconfig

++++++ u-boot-merriia80optimus.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
Merrii_A80_Optimus_defconfig

++++++ u-boot-mx53loco.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
mx53loco_defconfig

++++++ u-boot-mx6cuboxi.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
mx6cuboxi_defconfig

++++++ u-boot-mx6qsabrelite.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
mx6qsabrelite_defconfig

++++++ u-boot-odroid-xu3.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
odroid-xu3_defconfig

++++++ u-boot-odroid.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" odroid_defconfig

++++++ u-boot-omap3beagle.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
omap3_beagle_defconfig

++++++ u-boot-omap4panda.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
omap4_panda_defconfig

++++++ u-boot-orangepipc.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -21,7 +21,7 @@
 %define mvebu_spl 0
 %define x_loader 0
 %define rockchip_spl 0
-%define sunxi_spl 0
+%define sunxi_spl 1
 %define arndale_spl 0
 %define cuboxi_spl 0
 %define origen_spl 0
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
orangepi_pc_defconfig
@@ -118,14 +140,14 @@
 # Some times u-boot needs a dtb to configure itself appended to the binary.
 # In that case prefer the one with a working dtb already appended.
 if [ -f u-boot-dtb-tegra.bin ]; then
-    install -D -m 0644 u-boot-dtb-tegra.bin %{buildroot}%{uboot_dir}/u-boot.bin
-elif [ -f u-boot-dtb.bin ]; then
-    install -D -m 0644 u-boot-dtb.bin %{buildroot}%{uboot_dir}/u-boot.bin
+    install -D -m 0644 u-boot-dtb-tegra.img %{buildroot}%{uboot_dir}/u-boot.img
+elif [ -f u-boot-dtb.img ]; then
+    install -D -m 0644 u-boot-dtb.img %{buildroot}%{uboot_dir}/u-boot.img
 else
-    install -D -m 0644 u-boot.bin %{buildroot}%{uboot_dir}/u-boot.bin
+    install -D -m 0644 u-boot.img %{buildroot}%{uboot_dir}/u-boot.img
 fi
 %if "%{name}" == "u-boot-qemu-ppce500"
-mv %{buildroot}%{uboot_dir}/u-boot.bin %{buildroot}%{uboot_dir}/u-boot.e500
+mv %{buildroot}%{uboot_dir}/u-boot.img %{buildroot}%{uboot_dir}/u-boot.e500
 %endif
 %endif
 %if %x_loader == 1

++++++ u-boot-p2371-2180.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
p2371-2180_defconfig

++++++ u-boot-paz00.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" paz00_defconfig

++++++ u-boot-pcm051rev3.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
pcm051_rev3_defconfig

++++++ u-boot-qemu-ppce500.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" 
qemu-ppce500_defconfig

++++++ u-boot-rpi.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" rpi_defconfig

++++++ u-boot-rpi2.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" rpi_2_defconfig

++++++ u-boot-rpi3.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" rpi_3_defconfig

++++++ u-boot-snow.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" snow_defconfig

++++++ u-boot-spring.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" spring_defconfig

++++++ u-boot-udoo.spec ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:22.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:22.000000000 +0200
@@ -39,13 +39,23 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+Patch0001:      0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
+Patch0002:      0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
+Patch0003:      0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch
+Patch0004:      0004-video-ipu-Fix-build-with-hard-float.patch
+Patch0005:      0005-efi_loader-Clean-up-system-table-on.patch
+Patch0006:      0006-efi_loader-gop-Don-t-expose-fb-addr.patch
+Patch0007:      0007-efi_loader-Allow-boards-to-implemen.patch
+Patch0008:      0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch
+Patch0009:      0009-arm-Introduce-setjmp-longjmp.patch
+Patch0010:      0010-efi_loader-Add-exit-support.patch
+Patch0011:      0011-efi_loader-Add-DM_VIDEO-support.patch
+Patch0012:      0012-efi_loader-gop-Expose-fb-when-32bpp.patch
+Patch0013:      0013-bcm2835-video-Map-frame-buffer-as-3.patch
+Patch0014:      0014-bcm2835-Reserve-the-spin-table-in-e.patch
+Patch0015:      0015-arm-Fix-setjmp.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +91,21 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+%patch0005 -p1
+%patch0006 -p1
+%patch0007 -p1
+%patch0008 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch0012 -p1
+%patch0013 -p1
+%patch0014 -p1
+%patch0015 -p1
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" udoo_defconfig

++++++ 0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch -> 
0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch ++++++
--- 
/work/SRC/openSUSE:Factory/u-boot/0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
     2016-05-02 10:44:19.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.u-boot.new/0001-XXX-openSUSE-XXX-Load-dtb-from-part.patch
       2016-07-01 10:00:16.000000000 +0200
@@ -1,7 +1,7 @@
-From e115b5cafe638c7b4d1bc66d0516100ff40437db Mon Sep 17 00:00:00 2001
+From 15c243d6282df398c5f8b056111460352753268e Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Wed, 13 Apr 2016 13:44:29 +0200
-Subject: [PATCH 1/3] XXX openSUSE XXX: Load dtb from partition 2
+Subject: [PATCH] XXX openSUSE XXX: Load dtb from partition 2
 
 Upstream U-Boot loads the device tree from the EFI partition. This is
 mostly because upstream we don't know which partition really holds the
@@ -39,6 +39,3 @@
                                        "${prefix}${efi_fdtfile}; then "  \
                                "run load_efi_dtb; "                      \
                        "fi;"                                             \
--- 
-1.8.5.6
-

++++++ 0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch -> 
0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch ++++++
--- 
/work/SRC/openSUSE:Factory/u-boot/0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
  2016-05-02 10:44:19.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.u-boot.new/0002-XXX-openSUSE-XXX-omap3-Move-to-dist.patch
       2016-07-01 10:00:16.000000000 +0200
@@ -1,7 +1,7 @@
-From cd390d22b9858748a69306917e387b416556dfed Mon Sep 17 00:00:00 2001
+From 8ea945ff9d5f57f626167d41b1c59d9518fb60b2 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Tue, 1 Mar 2016 10:05:10 +0100
-Subject: [PATCH 2/3] XXX openSUSE XXX: omap3: Move to distro bootcmd
+Subject: [PATCH] XXX openSUSE XXX: omap3: Move to distro bootcmd
 
 This is a half-assed conversion of the beagle3 default bootcmd
 to the distro framework. Only MMC boot works for now, but it gets
@@ -79,6 +79,3 @@
  
  /*
   * OMAP3 has 12 GP timers, they can be driven by the system clock
--- 
-1.8.5.6
-

++++++ 0003-Revert-Revert-omap3-Use-raw-SPL-by-.patch ++++++
>From b6f1638f76a63c9632b0885d7d44f56337dce5d5 Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Mon, 2 May 2016 23:25:07 +0200
Subject: [PATCH] Revert "Revert "omap3: Use raw SPL by default for mmc1""

This reverts commit 7fa75d0ac5502db813d109c1df7bd0da34688685.
---
 arch/arm/cpu/armv7/omap-common/boot-common.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/arm/cpu/armv7/omap-common/boot-common.c 
b/arch/arm/cpu/armv7/omap-common/boot-common.c
index 0456263..ed9ba7b 100644
--- a/arch/arm/cpu/armv7/omap-common/boot-common.c
+++ b/arch/arm/cpu/armv7/omap-common/boot-common.c
@@ -111,8 +111,6 @@ void save_omap_boot_params(void)
            (boot_device <= MMC_BOOT_DEVICES_END)) {
                switch (boot_device) {
                case BOOT_DEVICE_MMC1:
-                       boot_mode = MMCSD_MODE_FS;
-                       break;
                case BOOT_DEVICE_MMC2:
                        boot_mode = MMCSD_MODE_RAW;
                        break;
++++++ 0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch -> 
0004-video-ipu-Fix-build-with-hard-float.patch ++++++
--- 
/work/SRC/openSUSE:Factory/u-boot/0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
   2016-05-30 09:55:55.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.u-boot.new/0004-video-ipu-Fix-build-with-hard-float.patch
       2016-07-01 10:00:16.000000000 +0200
@@ -1,9 +1,9 @@
-From fabd591c6ba9c5ee5357d10c3284bf21ea585931 Mon Sep 17 00:00:00 2001
+From 9600ed3e34905a24670eac85a8707c85968a252a Mon Sep 17 00:00:00 2001
 From: Guillaume GARDET <[email protected]>
 Date: Wed, 18 May 2016 14:12:43 +0200
 Subject: [PATCH] video: ipu: Fix build with hard-float ARM toolchain
 
-Build with hard-float ARM toolchain was broken by commit 3cb4f25c: 
+Build with hard-float ARM toolchain was broken by commit 3cb4f25c:
 'video: ipu: avoid overflow issue'.
 To fix it, we use do_div function.
 
@@ -16,7 +16,6 @@
 Cc: Stefano Babic <[email protected]>
 Cc: Fabio Estevam <[email protected]>
 Cc: Tom Rini <[email protected]>
-
 ---
  drivers/video/ipu_common.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
@@ -35,6 +34,3 @@
  
        return 0;
  }
--- 
-1.8.4.5
-

++++++ 0005-efi_loader-Clean-up-system-table-on.patch ++++++
>From 9f23c6ee2d69f89b353483dfa887414dd8c8b73b Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Wed, 18 May 2016 00:51:35 +0200
Subject: [PATCH] efi_loader: Clean up system table on exit

We put the system table into our runtime services data section so that
payloads may still access it after exit_boot_services. However, most fields
in it are quite useless once we're in that state, so let's just patch them
out.

With this patch we don't get spurious warnings when running EFI binaries
anymore.

Signed-off-by: Alexander Graf <[email protected]>
---
 lib/efi_loader/efi_runtime.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/lib/efi_loader/efi_runtime.c b/lib/efi_loader/efi_runtime.c
index 3ee27ca..11d0126 100644
--- a/lib/efi_loader/efi_runtime.c
+++ b/lib/efi_loader/efi_runtime.c
@@ -125,6 +125,22 @@ static const struct efi_runtime_detach_list_struct 
efi_runtime_detach_list[] = {
                /* RTC accessors are gone */
                .ptr = &efi_runtime_services.get_time,
                .patchto = &efi_device_error,
+       }, {
+               /* Clean up system table */
+               .ptr = &systab.con_in,
+               .patchto = NULL,
+       }, {
+               /* Clean up system table */
+               .ptr = &systab.con_out,
+               .patchto = NULL,
+       }, {
+               /* Clean up system table */
+               .ptr = &systab.std_err,
+               .patchto = NULL,
+       }, {
+               /* Clean up system table */
+               .ptr = &systab.boottime,
+               .patchto = NULL,
        },
 };
 
++++++ 0006-efi_loader-gop-Don-t-expose-fb-addr.patch ++++++
>From 0d118391293829ccc4630f67d7d3c70998abf89b Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Wed, 18 May 2016 02:00:53 +0200
Subject: [PATCH] efi_loader: gop: Don't expose fb address

Recently Linux is gaining support for efifb on AArch64 and that support actually
tries to make use of the frame buffer address we expose to it via gop.

While this wouldn't be bad in theory, in practice it means a few bad things

  1) We expose 16bit frame buffers as 32bit today
  2) Linux can't deal with overlapping non-PCI regions between efifb and
     a different frame buffer driver

For now, let's just disable exposure of the frame buffer address. Most OSs that
get booted will have a native driver for the GPU anyway.

Signed-off-by: Alexander Graf <[email protected]>
---
 lib/efi_loader/efi_gop.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/lib/efi_loader/efi_gop.c b/lib/efi_loader/efi_gop.c
index bdd62bc..6c3115c 100644
--- a/lib/efi_loader/efi_gop.c
+++ b/lib/efi_loader/efi_gop.c
@@ -136,8 +136,6 @@ int efi_gop_register(void)
        gopobj->mode.max_mode = 1;
        gopobj->mode.info = &gopobj->info;
        gopobj->mode.info_size = sizeof(gopobj->info);
-       gopobj->mode.fb_base = gd->fb_base;
-       gopobj->mode.fb_size = lcd_get_size(&line_len);
 
        gopobj->info.version = 0;
        gopobj->info.width = panel_info.vl_col;
++++++ 0007-efi_loader-Allow-boards-to-implemen.patch ++++++
>From 8e0619b9f745d86051952398d75a11d6e82e0c09 Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Sun, 5 Jun 2016 13:05:08 +0200
Subject: [PATCH] efi_loader: Allow boards to implement get_time and
 reset_system

EFI allows an OS to leverage firmware drivers while the OS is running. In the
generic code we so far had to stub those implementations out, because we would
need board specific knowledge about MMIO setups for it.

However, boards can easily implement those themselves. This patch provides the
framework so that a board can implement its own versions of get_time and
reset_system which would actually do something useful.

While at it we also introduce a simple way for code to reserve MMIO pointers
as runtime available.

Signed-off-by: Alexander Graf <[email protected]>
---
 cmd/bootefi.c                |   4 ++
 include/efi_loader.h         |  18 ++++++++
 lib/efi_loader/efi_runtime.c | 101 ++++++++++++++++++++++++++++++++++++++-----
 3 files changed, 112 insertions(+), 11 deletions(-)

diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index 7f552fc..7546d0a 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -198,6 +198,10 @@ static unsigned long do_bootefi_exec(void *efi, void *fdt)
        efi_gop_register();
 #endif
 
+       /* Initialize EFI runtime services */
+       efi_reset_system_init();
+       efi_get_time_init();
+
        /* Call our payload! */
 #ifdef DEBUG_EFI
        printf("%s:%d Jumping to 0x%lx\n", __func__, __LINE__, (long)entry);
diff --git a/include/efi_loader.h b/include/efi_loader.h
index 88b8149..72bc699 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -147,11 +147,29 @@ static inline void ascii2unicode(u16 *unicode, char 
*ascii)
 #define EFI_RUNTIME_DATA __attribute__ ((section ("efi_runtime_data")))
 #define EFI_RUNTIME_TEXT __attribute__ ((section ("efi_runtime_text")))
 
+/* Call this with mmio_ptr as the _pointer_ to a pointer to an MMIO region
+ * to make it available at runtime */
+void efi_add_runtime_mmio(void *mmio_ptr, u64 len);
+
+/* Boards may provide the functions below to implement RTS functionality */
+
+void EFI_RUNTIME_TEXT EFIAPI efi_reset_system(
+                       enum efi_reset_type reset_type,
+                       efi_status_t reset_status,
+                       unsigned long data_size, void *reset_data);
+void efi_reset_system_init(void);
+
+efi_status_t EFI_RUNTIME_TEXT EFIAPI efi_get_time(
+                       struct efi_time *time,
+                       struct efi_time_cap *capabilities);
+void efi_get_time_init(void);
+
 #else /* defined(EFI_LOADER) && !defined(CONFIG_SPL_BUILD) */
 
 /* Without CONFIG_EFI_LOADER we don't have a runtime section, stub it out */
 #define EFI_RUNTIME_DATA
 #define EFI_RUNTIME_TEXT
+static inline void efi_add_runtime_mmio(void **mmio_ptr, u64 len) { }
 
 /* No loader configured, stub out EFI_ENTRY */
 static inline void efi_restore_gd(void) { }
diff --git a/lib/efi_loader/efi_runtime.c b/lib/efi_loader/efi_runtime.c
index 11d0126..61f2585 100644
--- a/lib/efi_loader/efi_runtime.c
+++ b/lib/efi_loader/efi_runtime.c
@@ -16,6 +16,16 @@
 /* For manual relocation support */
 DECLARE_GLOBAL_DATA_PTR;
 
+struct efi_runtime_mmio_list {
+       struct list_head link;
+       void **ptr;
+       u64 paddr;
+       u64 len;
+};
+
+/* This list contains all runtime available mmio regions */
+LIST_HEAD(efi_runtime_mmio);
+
 static efi_status_t EFI_RUNTIME_TEXT EFIAPI efi_unimplemented(void);
 static efi_status_t EFI_RUNTIME_TEXT EFIAPI efi_device_error(void);
 static efi_status_t EFI_RUNTIME_TEXT EFIAPI efi_invalid_parameter(void);
@@ -55,9 +65,10 @@ struct elf_rela {
  * handle a good number of runtime callbacks
  */
 
-static void EFIAPI efi_reset_system(enum efi_reset_type reset_type,
-                                   efi_status_t reset_status,
-                                   unsigned long data_size, void *reset_data)
+static void EFIAPI efi_reset_system_boottime(
+                       enum efi_reset_type reset_type,
+                       efi_status_t reset_status,
+                       unsigned long data_size, void *reset_data)
 {
        EFI_ENTRY("%d %lx %lx %p", reset_type, reset_status, data_size,
                  reset_data);
@@ -72,11 +83,12 @@ static void EFIAPI efi_reset_system(enum efi_reset_type 
reset_type,
                break;
        }
 
-       EFI_EXIT(EFI_SUCCESS);
+       while (1) { }
 }
 
-static efi_status_t EFIAPI efi_get_time(struct efi_time *time,
-                                       struct efi_time_cap *capabilities)
+static efi_status_t EFIAPI efi_get_time_boottime(
+                       struct efi_time *time,
+                       struct efi_time_cap *capabilities)
 {
 #if defined(CONFIG_CMD_DATE) && defined(CONFIG_DM_RTC)
        struct rtc_time tm;
@@ -107,6 +119,33 @@ static efi_status_t EFIAPI efi_get_time(struct efi_time 
*time,
 #endif
 }
 
+/* Boards may override the helpers below to implement RTS functionality */
+
+void __weak EFI_RUNTIME_TEXT EFIAPI efi_reset_system(
+                       enum efi_reset_type reset_type,
+                       efi_status_t reset_status,
+                       unsigned long data_size, void *reset_data)
+{
+       /* Nothing we can do */
+       while (1) { }
+}
+
+void __weak efi_reset_system_init(void)
+{
+}
+
+efi_status_t __weak EFI_RUNTIME_TEXT EFIAPI efi_get_time(
+                       struct efi_time *time,
+                       struct efi_time_cap *capabilities)
+{
+       /* Nothing we can do */
+       return EFI_DEVICE_ERROR;
+}
+
+void __weak efi_get_time_init(void)
+{
+}
+
 struct efi_runtime_detach_list_struct {
        void *ptr;
        void *patchto;
@@ -116,7 +155,7 @@ static const struct efi_runtime_detach_list_struct 
efi_runtime_detach_list[] = {
        {
                /* do_reset is gone */
                .ptr = &efi_runtime_services.reset_system,
-               .patchto = NULL,
+               .patchto = efi_reset_system,
        }, {
                /* invalidate_*cache_all are gone */
                .ptr = &efi_runtime_services.set_virtual_address_map,
@@ -124,7 +163,7 @@ static const struct efi_runtime_detach_list_struct 
efi_runtime_detach_list[] = {
        }, {
                /* RTC accessors are gone */
                .ptr = &efi_runtime_services.get_time,
-               .patchto = &efi_device_error,
+               .patchto = &efi_get_time,
        }, {
                /* Clean up system table */
                .ptr = &systab.con_in,
@@ -241,12 +280,38 @@ static efi_status_t EFIAPI efi_set_virtual_address_map(
        EFI_ENTRY("%lx %lx %x %p", memory_map_size, descriptor_size,
                  descriptor_version, virtmap);
 
+       /* Rebind mmio pointers */
+       for (i = 0; i < n; i++) {
+               struct efi_mem_desc *map = (void*)virtmap +
+                                          (descriptor_size * i);
+               struct list_head *lhandle;
+               efi_physical_addr_t map_start = map->physical_start;
+               efi_physical_addr_t map_len = map->num_pages << EFI_PAGE_SHIFT;
+               efi_physical_addr_t map_end = map_start + map_len;
+
+               /* Adjust all mmio pointers in this region */
+               list_for_each(lhandle, &efi_runtime_mmio) {
+                       struct efi_runtime_mmio_list *lmmio;
+
+                       lmmio = list_entry(lhandle,
+                                          struct efi_runtime_mmio_list,
+                                          link);
+                       if ((map_start <= lmmio->paddr) &&
+                           (map_end >= lmmio->paddr)) {
+                               u64 off = map->virtual_start - map_start;
+                               *lmmio->ptr = (void*)(lmmio->paddr + off);
+                       }
+               }
+       }
+
+       /* Move the actual runtime code over */
        for (i = 0; i < n; i++) {
                struct efi_mem_desc *map;
 
                map = (void*)virtmap + (descriptor_size * i);
                if (map->type == EFI_RUNTIME_SERVICES_CODE) {
-                       ulong new_offset = map->virtual_start - (runtime_start 
- gd->relocaddr);
+                       ulong new_offset = map->virtual_start -
+                                          (runtime_start - gd->relocaddr);
 
                        efi_runtime_relocate(new_offset, map);
                        /* Once we're virtual, we can no longer handle
@@ -259,6 +324,20 @@ static efi_status_t EFIAPI efi_set_virtual_address_map(
        return EFI_EXIT(EFI_INVALID_PARAMETER);
 }
 
+void efi_add_runtime_mmio(void *mmio_ptr, u64 len)
+{
+       struct efi_runtime_mmio_list *newmmio;
+
+       u64 pages = (len + EFI_PAGE_SIZE - 1) >> EFI_PAGE_SHIFT;
+       efi_add_memory_map(*(uintptr_t *)mmio_ptr, pages, EFI_MMAP_IO, false);
+
+       newmmio = calloc(1, sizeof(*newmmio));
+       newmmio->ptr = mmio_ptr;
+       newmmio->paddr = *(uintptr_t *)mmio_ptr;
+       newmmio->len = len;
+        list_add_tail(&newmmio->link, &efi_runtime_mmio);
+}
+
 /*
  * In the second stage, U-Boot has disappeared. To isolate our runtime code
  * that at this point still exists from the rest, we put it into a special
@@ -300,7 +379,7 @@ struct efi_runtime_services EFI_RUNTIME_DATA 
efi_runtime_services = {
                .revision = EFI_RUNTIME_SERVICES_REVISION,
                .headersize = sizeof(struct efi_table_hdr),
        },
-       .get_time = &efi_get_time,
+       .get_time = &efi_get_time_boottime,
        .set_time = (void *)&efi_device_error,
        .get_wakeup_time = (void *)&efi_unimplemented,
        .set_wakeup_time = (void *)&efi_unimplemented,
@@ -310,5 +389,5 @@ struct efi_runtime_services EFI_RUNTIME_DATA 
efi_runtime_services = {
        .get_next_variable = (void *)&efi_device_error,
        .set_variable = (void *)&efi_device_error,
        .get_next_high_mono_count = (void *)&efi_device_error,
-       .reset_system = &efi_reset_system,
+       .reset_system = &efi_reset_system_boottime,
 };
++++++ 0008-ARM-bcm283x-Implement-EFI-RTS-reset.patch ++++++
>From 3fc37904a3bb0260ab4aa56186f3a1f093d7d9fa Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Sun, 5 Jun 2016 13:07:44 +0200
Subject: [PATCH] ARM: bcm283x: Implement EFI RTS reset_system

The rpi has a pretty simple way of resetting the whole system. All it takes
is to poke a few registers at a well defined location in MMIO space.

This patch adds support for the EFI loader implementation to allow an OS to
reset and power off the system when we're outside of boot time.

Signed-off-by: Alexander Graf <[email protected]>
---
 arch/arm/mach-bcm283x/include/mach/wdog.h |  2 +-
 arch/arm/mach-bcm283x/reset.c             | 59 +++++++++++++++++++++++++++----
 2 files changed, 54 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-bcm283x/include/mach/wdog.h 
b/arch/arm/mach-bcm283x/include/mach/wdog.h
index 7741d7b..b4caca1 100644
--- a/arch/arm/mach-bcm283x/include/mach/wdog.h
+++ b/arch/arm/mach-bcm283x/include/mach/wdog.h
@@ -16,7 +16,7 @@
 struct bcm2835_wdog_regs {
        u32 unknown0[7];
        u32 rstc;
-       u32 unknown1;
+       u32 rsts;
        u32 wdog;
 };
 
diff --git a/arch/arm/mach-bcm283x/reset.c b/arch/arm/mach-bcm283x/reset.c
index 72cdc31..e87241d 100644
--- a/arch/arm/mach-bcm283x/reset.c
+++ b/arch/arm/mach-bcm283x/reset.c
@@ -10,19 +10,66 @@
 #include <common.h>
 #include <asm/io.h>
 #include <asm/arch/wdog.h>
+#include <efi_loader.h>
 
 #define RESET_TIMEOUT 10
 
-void reset_cpu(ulong addr)
+/*
+ * The Raspberry Pi firmware uses the RSTS register to know which partiton
+ * to boot from. The partiton value is spread into bits 0, 2, 4, 6, 8, 10.
+ * Partiton 63 is a special partition used by the firmware to indicate halt.
+ */
+#define BCM2835_WDOG_RSTS_RASPBERRYPI_HALT     0x555
+
+EFI_RUNTIME_DATA struct bcm2835_wdog_regs *wdog_regs =
+       (struct bcm2835_wdog_regs *)BCM2835_WDOG_PHYSADDR;
+
+void EFI_RUNTIME_TEXT reset_cpu(ulong addr)
 {
-       struct bcm2835_wdog_regs *regs =
-               (struct bcm2835_wdog_regs *)BCM2835_WDOG_PHYSADDR;
        uint32_t rstc;
 
-       rstc = readl(&regs->rstc);
+       rstc = readl(&wdog_regs->rstc);
        rstc &= ~BCM2835_WDOG_RSTC_WRCFG_MASK;
        rstc |= BCM2835_WDOG_RSTC_WRCFG_FULL_RESET;
 
-       writel(BCM2835_WDOG_PASSWORD | RESET_TIMEOUT, &regs->wdog);
-       writel(BCM2835_WDOG_PASSWORD | rstc, &regs->rstc);
+       writel(BCM2835_WDOG_PASSWORD | RESET_TIMEOUT, &wdog_regs->wdog);
+       writel(BCM2835_WDOG_PASSWORD | rstc, &wdog_regs->rstc);
+}
+
+#ifdef CONFIG_EFI_LOADER
+
+void EFI_RUNTIME_TEXT EFIAPI efi_reset_system(
+                       enum efi_reset_type reset_type,
+                       efi_status_t reset_status,
+                       unsigned long data_size, void *reset_data)
+{
+       u32 val;
+
+       switch (reset_type) {
+       case EFI_RESET_COLD:
+       case EFI_RESET_WARM:
+               reset_cpu(0);
+               break;
+       case EFI_RESET_SHUTDOWN:
+               /*
+                * We set the watchdog hard reset bit here to distinguish this 
reset
+                * from the normal (full) reset. bootcode.bin will not reboot 
after a
+                * hard reset.
+                */
+               val = readl(&wdog_regs->rsts);
+               val |= BCM2835_WDOG_PASSWORD;
+               val |= BCM2835_WDOG_RSTS_RASPBERRYPI_HALT;
+               writel(val, &wdog_regs->rsts);
+               reset_cpu(0);
+               break;
+       }
+
+       while (1) { }
 }
+
+void efi_reset_system_init(void)
+{
+       efi_add_runtime_mmio(&wdog_regs, sizeof(*wdog_regs));
+}
+
+#endif
++++++ 0009-arm-Introduce-setjmp-longjmp.patch ++++++
>From 45f06cf1c14ce26151967b03977e542a1cdfc0c9 Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Fri, 20 May 2016 23:22:36 +0200
Subject: [PATCH] arm: Introduce setjmp/longjmp

To quit an EFI application we will need logic to jump to the caller
of a function without returning from the function we called into,
so we need setjmp/longjmp functionality.

This patch introduces a trivial implementation of these that I
verified works on armv7, thumb2 and aarch64.

Signed-off-by: Alexander Graf <[email protected]>
---
 arch/arm/include/asm/setjmp.h | 99 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 99 insertions(+)
 create mode 100644 arch/arm/include/asm/setjmp.h

diff --git a/arch/arm/include/asm/setjmp.h b/arch/arm/include/asm/setjmp.h
new file mode 100644
index 0000000..b8b85b7
--- /dev/null
+++ b/arch/arm/include/asm/setjmp.h
@@ -0,0 +1,99 @@
+/*
+ * (C) Copyright 2016
+ * Alexander Graf <[email protected]>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef _SETJMP_H_
+#define _SETJMP_H_     1
+
+struct jmp_buf_data {
+       ulong target;
+       ulong regs[5];
+};
+
+typedef struct jmp_buf_data jmp_buf[1];
+
+static inline int setjmp(jmp_buf jmp)
+{
+       long r = 0;
+
+#ifdef CONFIG_ARM64
+       asm volatile(
+               "adr x1, jmp_target\n"
+               "str x1, %1\n"
+               "stp x26, x27, %2\n"
+               "stp x28, x29, %3\n"
+               "mov x1, sp\n"
+               "str x1, %4\n"
+               "b 2f\n"
+               "jmp_target: "
+               "mov %0, #1\n"
+               "2:\n"
+               : "+r" (r), "=m" (jmp->target),
+                 "=m" (jmp->regs[0]), "=m" (jmp->regs[2]),
+                 "=m" (jmp->regs[4])
+               :
+               : "x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7",
+                 "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15",
+                 "x16", "x17", "x18", "x19", "x20", "x21", "x22",
+                 "x23", "x24", "x25", /* x26, x27, x28, x29, sp */
+                 "x30", "cc", "memory");
+#else
+       asm volatile(
+#ifdef CONFIG_SYS_THUMB_BUILD
+               "adr r0, jmp_target + 1\n"
+#else
+               "adr r0, jmp_target\n"
+#endif
+               "mov r1, %1\n"
+               "mov r2, sp\n"
+               "stm r1, {r0, r2, r4, r5, r6, r7}\n"
+               "b 2f\n"
+               "jmp_target: "
+               "mov %0, #1\n"
+               "2:\n"
+               : "+l" (r)
+               : "l" (&jmp->target)
+               : "r0", "r1", "r2", "r3", /* "r4", "r5", "r6", "r7", */
+                 "r8", "r9", "r10", "r11", /* sp, */ "ip", "lr",
+                 "cc", "memory");
+#endif
+
+printf("%s:%d target=%#lx\n", __func__, __LINE__, jmp->target);
+
+       return r;
+}
+
+static inline __noreturn void longjmp(jmp_buf jmp)
+{
+#ifdef CONFIG_ARM64
+       asm volatile(
+               "ldr x0, %0\n"
+               "ldr x1, %3\n"
+               "mov sp, x1\n"
+               "ldp x26, x27, %1\n"
+               "ldp x28, x25, %2\n"
+               "mov x29, x25\n"
+               "br x0\n"
+               :
+               : "m" (jmp->target), "m" (jmp->regs[0]), "m" (jmp->regs[2]),
+                 "m" (jmp->regs[4])
+               : "x0", "x1", "x25", "x26", "x27", "x28");
+#else
+       asm volatile(
+               "mov r1, %0\n"
+               "ldm r1, {r0, r2, r4, r5, r6, r7}\n"
+               "mov sp, r2\n"
+               "bx r0\n"
+               :
+               : "l" (&jmp->target)
+               : "r1");
+#endif
+
+       while (1) { }
+}
+
+
+#endif /* _SETJMP_H_ */
++++++ 0010-efi_loader-Add-exit-support.patch ++++++
>From e73c13b8b235ade604cb3a6c7ff8da4ef1038b58 Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Fri, 20 May 2016 23:24:20 +0200
Subject: [PATCH] efi_loader: Add exit support

Some times you may want to exit an EFI payload again, for example
to default boot into a PXE installation and decide that you would
rather want to boot from the local disk instead.

This patch adds exit functionality to the EFI implementation, allowing
EFI payloads to exit.

Signed-off-by: Alexander Graf <[email protected]>
---
 cmd/bootefi.c                 |  6 ++++++
 include/efi_api.h             | 10 ++++++++++
 lib/efi_loader/efi_boottime.c | 21 ++++++++++++++++-----
 3 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index 7546d0a..27ac242 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -206,6 +206,12 @@ static unsigned long do_bootefi_exec(void *efi, void *fdt)
 #ifdef DEBUG_EFI
        printf("%s:%d Jumping to 0x%lx\n", __func__, __LINE__, (long)entry);
 #endif
+
+       if (setjmp(&loaded_image_info.exit_jmp)) {
+               efi_status_t status = loaded_image_info.exit_status;
+               return status == EFI_SUCCESS ? 0 : -EINVAL;
+       }
+
        return entry(&loaded_image_info, &systab);
 }
 
diff --git a/include/efi_api.h b/include/efi_api.h
index 51d7586..029c830 100644
--- a/include/efi_api.h
+++ b/include/efi_api.h
@@ -17,6 +17,10 @@
 
 #include <efi.h>
 
+#ifdef CONFIG_EFI_LOADER
+#include <asm/setjmp.h>
+#endif
+
 /* Types and defines for EFI CreateEvent */
 enum efi_event_type {
        EFI_TIMER_STOP = 0,
@@ -239,6 +243,12 @@ struct efi_loaded_image {
        unsigned int image_code_type;
        unsigned int image_data_type;
        unsigned long unload;
+
+       /* Below are efi loader private fields */
+#ifdef CONFIG_EFI_LOADER
+       efi_status_t exit_status;
+       struct jmp_buf_data exit_jmp;
+#endif
 };
 
 #define DEVICE_PATH_GUID \
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index 9daca50..15a1b90 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -458,19 +458,30 @@ static efi_status_t EFIAPI efi_start_image(efi_handle_t 
image_handle,
        efi_is_direct_boot = false;
 
        /* call the image! */
+       if (setjmp(&info->exit_jmp)) {
+               /* We returned from the child image */
+               return EFI_EXIT(info->exit_status);
+       }
+
        entry(image_handle, &systab);
 
        /* Should usually never get here */
        return EFI_EXIT(EFI_SUCCESS);
 }
 
-static efi_status_t EFIAPI efi_exit(void *image_handle, long exit_status,
-                                   unsigned long exit_data_size,
-                                   uint16_t *exit_data)
+static efi_status_t EFIAPI efi_exit(efi_handle_t image_handle,
+                       efi_status_t exit_status, unsigned long exit_data_size,
+                       int16_t *exit_data)
 {
+       struct efi_loaded_image *loaded_image_info = (void*)image_handle;
+
        EFI_ENTRY("%p, %ld, %ld, %p", image_handle, exit_status,
                  exit_data_size, exit_data);
-       return EFI_EXIT(efi_unsupported(__func__));
+
+       loaded_image_info->exit_status = exit_status;
+       longjmp(&loaded_image_info->exit_jmp);
+
+       panic("EFI application exited");
 }
 
 static struct efi_object *efi_search_obj(void *handle)
@@ -746,7 +757,7 @@ static const struct efi_boot_services efi_boot_services = {
        .install_configuration_table = efi_install_configuration_table,
        .load_image = efi_load_image,
        .start_image = efi_start_image,
-       .exit = (void*)efi_exit,
+       .exit = efi_exit,
        .unload_image = efi_unload_image,
        .exit_boot_services = efi_exit_boot_services,
        .get_next_monotonic_count = efi_get_next_monotonic_count,
++++++ 0011-efi_loader-Add-DM_VIDEO-support.patch ++++++
>From eff13e84aa115f18f830e028f7fa40cda803c380 Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Sun, 5 Jun 2016 22:32:18 +0200
Subject: [PATCH] efi_loader: Add DM_VIDEO support

Some systems are starting to shift to support DM_VIDEO which exposes
the frame buffer through a slightly different interface.

This is a poor man's effort to support the dm video interface instead
of the lcd one. We still only support a single display device.

Signed-off-by: Alexander Graf <[email protected]>
---
 lib/efi_loader/efi_gop.c | 62 ++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 55 insertions(+), 7 deletions(-)

diff --git a/lib/efi_loader/efi_gop.c b/lib/efi_loader/efi_gop.c
index 6c3115c..46f1569 100644
--- a/lib/efi_loader/efi_gop.c
+++ b/lib/efi_loader/efi_gop.c
@@ -7,10 +7,12 @@
  */
 
 #include <common.h>
+#include <dm.h>
 #include <efi_loader.h>
 #include <inttypes.h>
 #include <lcd.h>
 #include <malloc.h>
+#include <video.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -24,6 +26,8 @@ struct efi_gop_obj {
        /* The only mode we support */
        struct efi_gop_mode_info info;
        struct efi_gop_mode mode;
+       /* Fields we only have acces to during init */
+       u32 bpix;
 };
 
 static efi_status_t EFIAPI gop_query_mode(struct efi_gop *this, u32 
mode_number,
@@ -57,6 +61,7 @@ static efi_status_t EFIAPI gop_blt(struct efi_gop *this, void 
*buffer,
                                   unsigned long dy, unsigned long width,
                                   unsigned long height, unsigned long delta)
 {
+       struct efi_gop_obj *gopobj = container_of(this, struct efi_gop_obj, 
ops);
        int i, j, line_len16, line_len32;
        void *fb;
 
@@ -67,13 +72,17 @@ static efi_status_t EFIAPI gop_blt(struct efi_gop *this, 
void *buffer,
                return EFI_EXIT(EFI_INVALID_PARAMETER);
 
        fb = (void*)gd->fb_base;
-       line_len16 = panel_info.vl_col * sizeof(u16);
-       line_len32 = panel_info.vl_col * sizeof(u32);
+       line_len16 = gopobj->info.width * sizeof(u16);
+       line_len32 = gopobj->info.width * sizeof(u32);
 
        /* Copy the contents line by line */
 
-       switch (panel_info.vl_bpix) {
+       switch (gopobj->bpix) {
+#ifdef CONFIG_DM_VIDEO
+       case VIDEO_BPP32:
+#else
        case LCD_COLOR32:
+#endif
                for (i = 0; i < height; i++) {
                        u32 *dest = fb + ((i + dy)  * line_len32) +
                                         (dx * sizeof(u32));
@@ -84,7 +93,11 @@ static efi_status_t EFIAPI gop_blt(struct efi_gop *this, 
void *buffer,
                        memcpy(dest, src, width * sizeof(u32));
                }
                break;
+#ifdef CONFIG_DM_VIDEO
+       case VIDEO_BPP16:
+#else
        case LCD_COLOR16:
+#endif
                for (i = 0; i < height; i++) {
                        u16 *dest = fb + ((i + dy)  * line_len16) +
                                         (dx * sizeof(u16));
@@ -102,7 +115,11 @@ static efi_status_t EFIAPI gop_blt(struct efi_gop *this, 
void *buffer,
                break;
        }
 
+#ifdef CONFIG_DM_VIDEO
+       video_sync_all();
+#else
        lcd_sync();
+#endif
 
        return EFI_EXIT(EFI_SUCCESS);
 }
@@ -111,11 +128,40 @@ static efi_status_t EFIAPI gop_blt(struct efi_gop *this, 
void *buffer,
 int efi_gop_register(void)
 {
        struct efi_gop_obj *gopobj;
+       u32 bpix, col, row;
+       u64 fb_base, fb_size;
+
+#ifdef CONFIG_DM_VIDEO
+       struct udevice *vdev;
+
+       /* We only support a single video output device for now */
+       if (uclass_first_device(UCLASS_VIDEO, &vdev))
+               return -1;
+
+       struct video_priv *priv = dev_get_uclass_priv(vdev);
+       bpix = priv->bpix;
+       col = video_get_xsize(vdev);
+       row = video_get_ysize(vdev);
+       fb_base = (uintptr_t)priv->fb;
+       fb_size = priv->fb_size;
+#else
        int line_len;
 
-       switch (panel_info.vl_bpix) {
+       bpix = panel_info.vl_bpix;
+       col = panel_info.vl_col;
+       row = panel_info.vl_row;
+       fb_base = gd->fb_base;
+       fb_size = lcd_get_size(&line_len);
+#endif
+
+       switch (bpix) {
+#ifdef CONFIG_DM_VIDEO
+       case VIDEO_BPP16:
+       case VIDEO_BPP32:
+#else
        case LCD_COLOR32:
        case LCD_COLOR16:
+#endif
                break;
        default:
                /* So far, we only work in 16 or 32 bit mode */
@@ -138,10 +184,12 @@ int efi_gop_register(void)
        gopobj->mode.info_size = sizeof(gopobj->info);
 
        gopobj->info.version = 0;
-       gopobj->info.width = panel_info.vl_col;
-       gopobj->info.height = panel_info.vl_row;
+       gopobj->info.width = col;
+       gopobj->info.height = row;
        gopobj->info.pixel_format = EFI_GOT_RGBA8;
-       gopobj->info.pixels_per_scanline = panel_info.vl_col;
+       gopobj->info.pixels_per_scanline = col;
+
+       gopobj->bpix = bpix;
 
        /* Hook up to the device list */
        list_add_tail(&gopobj->parent.link, &efi_obj_list);
++++++ 0012-efi_loader-gop-Expose-fb-when-32bpp.patch ++++++
>From f221b548964319c29a74451beef20397c5caf41d Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Mon, 6 Jun 2016 17:35:10 +0200
Subject: [PATCH] efi_loader: gop: Expose fb when 32bpp

When we're running in 32bpp mode, expose the frame buffer address
to our payloads so that Linux efifb can pick it up.

Signed-off-by: Alexander Graf <[email protected]>
---
 lib/efi_loader/efi_gop.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/lib/efi_loader/efi_gop.c b/lib/efi_loader/efi_gop.c
index 46f1569..286ad83 100644
--- a/lib/efi_loader/efi_gop.c
+++ b/lib/efi_loader/efi_gop.c
@@ -183,6 +183,16 @@ int efi_gop_register(void)
        gopobj->mode.info = &gopobj->info;
        gopobj->mode.info_size = sizeof(gopobj->info);
 
+#ifdef CONFIG_DM_VIDEO
+       if (bpix == VIDEO_BPP32) {
+#else
+       if (bpix == LCD_COLOR32) {
+#endif
+               /* With 32bit color space we can directly expose the fb */
+               gopobj->mode.fb_base = fb_base;
+               gopobj->mode.fb_size = fb_size;
+       }
+
        gopobj->info.version = 0;
        gopobj->info.width = col;
        gopobj->info.height = row;
++++++ 0013-bcm2835-video-Map-frame-buffer-as-3.patch ++++++
>From 434a593edd834710f016c34b7d36f037eda9b650 Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Mon, 6 Jun 2016 18:23:37 +0200
Subject: [PATCH] bcm2835 video: Map frame buffer as 32bpp

To enable working efifb support, let's map the frame buffer as 32bpp
instead of 16bpp.

Signed-off-by: Alexander Graf <[email protected]>
---
 drivers/video/bcm2835.c | 6 +++---
 include/configs/rpi.h   | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/video/bcm2835.c b/drivers/video/bcm2835.c
index cd605e6..cc6454f 100644
--- a/drivers/video/bcm2835.c
+++ b/drivers/video/bcm2835.c
@@ -71,9 +71,9 @@ void lcd_ctrl_init(void *lcdbase)
        msg_setup->virtual_w_h.body.req.width = w;
        msg_setup->virtual_w_h.body.req.height = h;
        BCM2835_MBOX_INIT_TAG(&msg_setup->depth, SET_DEPTH);
-       msg_setup->depth.body.req.bpp = 16;
+       msg_setup->depth.body.req.bpp = 32;
        BCM2835_MBOX_INIT_TAG(&msg_setup->pixel_order, SET_PIXEL_ORDER);
-       msg_setup->pixel_order.body.req.order = BCM2835_MBOX_PIXEL_ORDER_BGR;
+       msg_setup->pixel_order.body.req.order = BCM2835_MBOX_PIXEL_ORDER_RGB;
        BCM2835_MBOX_INIT_TAG(&msg_setup->alpha_mode, SET_ALPHA_MODE);
        msg_setup->alpha_mode.body.req.alpha = BCM2835_MBOX_ALPHA_MODE_IGNORED;
        BCM2835_MBOX_INIT_TAG(&msg_setup->virtual_offset, SET_VIRTUAL_OFFSET);
@@ -103,7 +103,7 @@ void lcd_ctrl_init(void *lcdbase)
 
        panel_info.vl_col = w;
        panel_info.vl_row = h;
-       panel_info.vl_bpix = LCD_COLOR16;
+       panel_info.vl_bpix = LCD_COLOR32;
 
        gd->fb_base = bus_to_phys(
                msg_setup->allocate_buffer.body.resp.fb_address);
diff --git a/include/configs/rpi.h b/include/configs/rpi.h
index af58182..f541305 100644
--- a/include/configs/rpi.h
+++ b/include/configs/rpi.h
@@ -78,7 +78,7 @@
 /* LCD */
 #define CONFIG_LCD
 #define CONFIG_LCD_DT_SIMPLEFB
-#define LCD_BPP                                LCD_COLOR16
+#define LCD_BPP                                LCD_COLOR32
 /*
  * Prevent allocation of RAM for FB; the real FB address is queried
  * dynamically from the VideoCore co-processor, and comes from RAM
++++++ 0014-bcm2835-Reserve-the-spin-table-in-e.patch ++++++
>From bc8cf1317fd2b4301a74d00ee47d7d577b77fcdf Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Mon, 6 Jun 2016 23:55:33 +0200
Subject: [PATCH] bcm2835: Reserve the spin table in efi memory map

Firmware provides a spin table on the raspberry pi. This table shouldn't
get overwritten by payloads, so we need to mark it as reserved.

Signed-off-by: Alexander Graf <[email protected]>
---
 board/raspberrypi/rpi/rpi.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index c45ddb1..a2336fc 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -8,6 +8,7 @@
 #include <inttypes.h>
 #include <config.h>
 #include <dm.h>
+#include <efi_loader.h>
 #include <fdt_support.h>
 #include <fdt_simplefb.h>
 #include <lcd.h>
@@ -480,5 +481,10 @@ int ft_board_setup(void *blob, bd_t *bd)
         */
        lcd_dt_simplefb_add_node(blob);
 
+#ifdef CONFIG_EFI_LOADER
+       /* Reserve the spin table */
+       efi_add_memory_map(0, 1, EFI_RESERVED_MEMORY_TYPE, 0);
+#endif
+
        return 0;
 }
++++++ 0015-arm-Fix-setjmp.patch ++++++
>From 5e2cfbf9b14910647eddfaa4da7cfc97a1dcecde Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Mon, 13 Jun 2016 13:55:11 +0200
Subject: [PATCH] arm: Fix setjmp

The setjmp/longjmp implementation did not work on thumb1 implementations
because it used instruction encodings that don't exist on thumb1 yet.

This patch limits itself to thumb1 instruction set for 32bit arm and
removes a superfluous printf along the way.

Signed-off-by: Alexander Graf <[email protected]>
---
 arch/arm/include/asm/setjmp.h | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/arch/arm/include/asm/setjmp.h b/arch/arm/include/asm/setjmp.h
index b8b85b7..ae738b2 100644
--- a/arch/arm/include/asm/setjmp.h
+++ b/arch/arm/include/asm/setjmp.h
@@ -43,13 +43,14 @@ static inline int setjmp(jmp_buf jmp)
 #else
        asm volatile(
 #ifdef CONFIG_SYS_THUMB_BUILD
-               "adr r0, jmp_target + 1\n"
+               "adr r0, jmp_target\n"
+               "add r0, r0, $1\n"
 #else
                "adr r0, jmp_target\n"
 #endif
                "mov r1, %1\n"
                "mov r2, sp\n"
-               "stm r1, {r0, r2, r4, r5, r6, r7}\n"
+               "stm r1!, {r0, r2, r4, r5, r6, r7}\n"
                "b 2f\n"
                "jmp_target: "
                "mov %0, #1\n"
@@ -61,8 +62,6 @@ static inline int setjmp(jmp_buf jmp)
                  "cc", "memory");
 #endif
 
-printf("%s:%d target=%#lx\n", __func__, __LINE__, jmp->target);
-
        return r;
 }
 
@@ -84,7 +83,7 @@ static inline __noreturn void longjmp(jmp_buf jmp)
 #else
        asm volatile(
                "mov r1, %0\n"
-               "ldm r1, {r0, r2, r4, r5, r6, r7}\n"
+               "ldm r1!, {r0, r2, r4, r5, r6, r7}\n"
                "mov sp, r2\n"
                "bx r0\n"
                :

++++++ pre_checkin.sh ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:23.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:23.000000000 +0200
@@ -1,5 +1,10 @@
 #!/bin/bash -e
 
+if [ ! -e u-boot.spec.tmp ]; then
+    # We need to convert u-boot.spec.in into u-boot.spec.tmp first
+    /bin/sh update_git.sh
+fi
+
 BOARDNAME="$1"
 BOARDCONFIG="$2"
 ARCH_RESTRICTIONS="$3"
@@ -84,7 +89,7 @@
     BINEND=bin
     ARNDALE_SPL=1
     ;;
-Bananapi*|Cubieboard*|Cubietruck*|*-OLinuXino*)
+Bananapi*|Cubieboard*|Cubietruck*|*-OLinuXino*|orangepi_pc)
     BINEND=img
     SUNXI_SPL=1
     ;;
@@ -135,6 +140,6 @@
 s/TEGRA_SPL/$TEGRA_SPL/g
 s/CUBOXI_SPL/$CUBOXI_SPL/g
 s/UDOO_SPL/$UDOO_SPL/g
-s/OMAP_SPL/$OMAP_SPL/g" < u-boot.spec.in > u-boot-$BOARDNAME.spec
+s/OMAP_SPL/$OMAP_SPL/g" < u-boot.spec.tmp > u-boot-$BOARDNAME.spec
 
 cp u-boot.changes u-boot-$BOARDNAME.changes

++++++ u-boot.spec.in ++++++
--- /var/tmp/diff_new_pack.tjEFxe/_old  2016-07-01 10:00:23.000000000 +0200
+++ /var/tmp/diff_new_pack.tjEFxe/_new  2016-07-01 10:00:23.000000000 +0200
@@ -28,10 +28,10 @@
 %define udoo_spl UDOO_SPL
 
 # archive_version differs from version for RC version only
-%define archive_version 2016.05
+ARCHIVE_VERSION
 
 Name:           u-boot-BOARDNAME
-Version:        2016.05
+UBOOT_VERSION
 Release:        0
 Summary:        The U-Boot firmware for the BOARDNAME platform
 License:        GPL-2.0
@@ -39,13 +39,9 @@
 Url:            http://www.denx.de/wiki/U-Boot
 Source:         ftp://ftp.denx.de/pub/u-boot/u-boot-%{archive_version}.tar.bz2
 Source2:        arndale-bl1.img
+Source3:        update_git.sh
 Source300:      u-boot-rpmlintrc
-# Set default environment slightly different for EFI, so it finds our dtbs
-Patch1:         0001-XXX-openSUSE-XXX-Load-dtb-from-partition-2.patch
-# Move omap3 to distro boot method
-Patch2:         0002-XXX-openSUSE-XXX-omap3-Move-to-distro-bootcmd.patch
-# UPSTREAM: Fix build with hard-float ARM toolchain (Fix iMX boards)
-Patch3:         0001-video-ipu-Fix-build-with-hard-float-ARM-toolchain.-I.patch
+PATCH_FILES
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # Arndale board need DTC >= 1.4
 BuildRequires:  bc
@@ -81,9 +77,7 @@
 
 %prep
 %setup -q -n u-boot-%{archive_version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+PATCH_EXEC
 
 %build
 make %{?jobs:-j %jobs} CROSS_COMPILE= CFLAGS="$RPM_OPT_FLAGS" BOARDCONFIG

++++++ update_git.sh ++++++
#!/bin/bash
#
# Instead of a quilt workflow, we use a git tree that contains
# all the commits on top of a stable tarball.
#
# When updating this package, just either update the git tree
# below (use rebase!) or change the tree path and use your own
#
# That way we can easily rebase against the next stable release
# when it comes.

set -e

GIT_TREE=git://github.com/openSUSE/u-boot.git
GIT_LOCAL_TREE=~/git/u-boot-opensuse
GIT_BRANCH=tumbleweed
GIT_UPSTREAM_TAG=v2016.05
GIT_DIR=/dev/shm/u-boot-factory-git-dir
CMP_DIR=/dev/shm/u-boot-factory-cmp-dir

rm -rf $GIT_DIR
rm -rf $CMP_DIR

if [ -d "$GIT_LOCAL_TREE" ]; then
    echo "Processing $GIT_BRANCH branch of local git tree, using tag:" \
         "$GIT_UPSTREAM_TAG"
    if ! (cd $GIT_LOCAL_TREE && git show-branch $GIT_BRANCH &>/dev/null); then
        echo "Error: Branch $GIT_BRANCH not found - please create a remote" \
             "tracking branch of origin/$GIT_BRANCH"
        exit
    fi
    git clone -ls $GIT_LOCAL_TREE $GIT_DIR -b $GIT_BRANCH
    if ! (cd $GIT_LOCAL_TREE && git remote show upstream &>/dev/null); then
        echo "Remote for upstream git tree not found. Next time add remote" \
             "named upstream for git://git.denx.de/u-boot.git and update"
        (cd $GIT_DIR && git remote add upstream git://git.denx.de/u-boot.git)
        (cd $GIT_DIR && git remote update)
   fi
else
    echo "Processing $GIT_BRANCH branch of remote git tree, using tag:" \
         "$GIT_UPSTREAM_TAG"
    echo "(For much faster processing, consider establishing a local git tree" \
         "at $GIT_LOCAL_TREE)"
    git clone $GIT_TREE $GIT_DIR -b $GIT_BRANCH
    (cd $GIT_DIR && git remote add upstream git://git.denx.de/u-boot.git)
    (cd $GIT_DIR && git remote update)
fi
(cd $GIT_DIR && git format-patch -N $GIT_UPSTREAM_TAG --suffix= -o $CMP_DIR 
>/dev/null)
UBOOT_VERSION=$(egrep '^VERSION = ' $GIT_DIR/Makefile | cut -d ' ' -f 3)
UBOOT_PATCHLEVEL=$(egrep '^PATCHLEVEL = ' $GIT_DIR/Makefile | cut -d ' ' -f 3)
UBOOT_EXTRAVERSION=$(egrep '^EXTRAVERSION = ' $GIT_DIR/Makefile | cut -d ' ' -f 
3)
UBOOT_VERSION="${UBOOT_VERSION}.${UBOOT_PATCHLEVEL}${UBOOT_EXTRAVERSION}"
echo "U-Boot version: $UBOOT_VERSION"

rm -rf $GIT_DIR

(
    CHANGED_COUNT=0
    UNCHANGED_COUNT=0
    DELETED_COUNT=0
    ADDED_COUNT=0

    shopt -s nullglob

# Process patches to eliminate useless differences: limit file names to 40 chars
# before extension and remove git signature. ('32' below gets us past dir 
prefix)
    for i in $CMP_DIR/*; do
        # format-patch may append a signature, which per default contains the 
git version
        # wipe everything starting from the signature tag
        sed '/^-- $/Q' $i > $CMP_DIR/${i:32:40}.patch
        rm $i
    done

    for i in 0???-*.patch; do
        if [ -e $CMP_DIR/$i ]; then
            if cmp -s $CMP_DIR/$i $i; then
                rm $CMP_DIR/$i
                let UNCHANGED_COUNT+=1
            else
                mv $CMP_DIR/$i .
                let CHANGED_COUNT+=1
            fi
        else
            osc rm --force $i
            let DELETED_COUNT+=1
            echo "  ${i##*/}" >> u-boot.changes.deleted
        fi
    done

    for i in $CMP_DIR/*; do
        mv $i .
        osc add ${i##*/}
        let ADDED_COUNT+=1
        echo "  ${i##*/}" >> u-boot.changes.added
    done

    for package in u-boot; do
        while IFS= read -r line; do
            if [ "$line" = "PATCH_FILES" ]; then
                for i in 0???-*.patch; do
                    NUM=${i%%-*}
                    echo -e "Patch$NUM:      $i"
                done
            elif [ "$line" = "PATCH_EXEC" ]; then
                for i in 0???-*.patch; do
                    NUM=${i%%-*}
                    echo "%patch$NUM -p1"
                done
            elif [ "$line" = "ARCHIVE_VERSION" ]; then
                echo "%define archive_version $UBOOT_VERSION"
            elif [ "$line" = "UBOOT_VERSION" ]; then
                echo "Version:        $(echo $UBOOT_VERSION | sed 's/-/~/g')"
            else
                echo "$line"
            fi
        done < $package.spec.in > $package.spec.tmp

        # Factory requires all deleted and added patches to be mentioned
        if [ -e u-boot.changes.deleted ] || [ -e u-boot.changes.added ]; then
            echo "Patch queue updated from ${GIT_TREE} ${GIT_BRANCH}" > 
$package.changes.proposed
        fi
        if [ -e u-boot.changes.deleted ]; then
            echo "* Patches dropped:" >> $package.changes.proposed
            cat u-boot.changes.deleted  >> $package.changes.proposed
        fi
        if [ -e u-boot.changes.added ]; then
            echo "* Patches added:" >> $package.changes.proposed
            cat u-boot.changes.added  >> $package.changes.proposed
        fi
        if [ -e $package.changes.proposed ]; then
            osc vc --file=$package.changes.proposed $package
            rm -f $package.changes.proposed
        fi
    done
    if [ -e u-boot.changes.deleted ]; then
        rm -f u-boot.changes.deleted
    fi
    if [ -e u-boot.changes.added ]; then
        rm -f u-boot.changes.added
    fi
    echo "git patch summary"
    echo "  unchanged: $UNCHANGED_COUNT"
    echo "    changed: $CHANGED_COUNT"
    echo "    deleted: $DELETED_COUNT"
    echo "      added: $ADDED_COUNT"
)

rm -rf $CMP_DIR

osc service localrun format_spec_file

/bin/sh pre_checkin.sh

echo "Please remember to run pre_checkin.sh after modifying u-boot.changes."

Reply via email to