U-Boot
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
July 2022
- 182 participants
- 613 discussions
Hei hei,
this is some fallout from migrating some downstream boards with Altera
Cyclone FPGAs to recent U-Boot v2022.04. Not entirely sure about that
FPGA_COUNT variable in patch 3, which seems to be used in source code in
board/astro/mcf5373l/fpga.c only. Maybe that variable can be dropped
entirely?
Greets
Alex
Cc: Wolfgang Wegner <w.wegner(a)astro-kom.de>
Cc: Patrick Bruenn <p.bruenn(a)beckhoff.com>
Cc: Dinh Nguyen <dinguyen(a)kernel.org>
Cc: Chin-Liang See <clsee(a)altera.com>
Cc: Marek Vasut <marex(a)denx.de>
Cc: Dalon Westergreen <dwesterg(a)gmail.com>
Cc: Humberto Naves <hsnaves(a)gmail.com>
Cc: Anatolij Gustschin <agust(a)denx.de>
Cc: Pavel Machek <pavel(a)denx.de>
Cc: Wolfgang Grandegger <wg(a)aries-embedded.de>
Cc: Stefan Roese <sr(a)denx.de>
Cc: Michal Simek <michal.simek(a)amd.com>
Alexander Dahl (3):
fpga: Convert SYS_FPGA_CHECK_CTRLC to Kconfig
fpga: Convert SYS_FPGA_PROG_FEEDBACK to Kconfig
fpga: Convert FPGA_COUNT to Kconfig
README | 11 -----------
configs/astro_mcf5373l_defconfig | 2 ++
configs/mx53cx9020_defconfig | 1 +
configs/socfpga_arria10_defconfig | 1 +
configs/socfpga_arria5_defconfig | 1 +
configs/socfpga_cyclone5_defconfig | 1 +
configs/socfpga_dbm_soc1_defconfig | 1 +
configs/socfpga_de0_nano_soc_defconfig | 1 +
configs/socfpga_de10_nano_defconfig | 1 +
configs/socfpga_de10_standard_defconfig | 1 +
configs/socfpga_de1_soc_defconfig | 1 +
configs/socfpga_is1_defconfig | 1 +
configs/socfpga_mcvevk_defconfig | 1 +
configs/socfpga_sockit_defconfig | 1 +
configs/socfpga_socrates_defconfig | 1 +
configs/socfpga_sr1500_defconfig | 1 +
configs/socfpga_vining_fpga_defconfig | 1 +
drivers/fpga/Kconfig | 16 ++++++++++++++++
include/configs/astro_mcf5373l.h | 2 --
include/configs/mx53cx9020.h | 2 --
include/configs/socfpga_common.h | 7 -------
scripts/config_whitelist.txt | 2 --
22 files changed, 33 insertions(+), 24 deletions(-)
base-commit: 568a226f87655fd5339514f66413c2ad72f65d6f
--
2.30.2
2
4

12 Jul '22
These tables are generated by
https://patchwork.ozlabs.org/project/uboot/patch/20220712121116.3048662-1-t…
with the header and stats summary added manually.
Before I go off and re-create all of the historical stats pages I want
to get the output reviewed.
Cc: Heinrich Schuchardt <xypron.glpk(a)gmx.de>
Signed-off-by: Tom Rini <trini(a)konsulko.com>
---
.../statistics/u-boot-stats-v2022.07.rst | 753 ++++++++++++++++++
1 file changed, 753 insertions(+)
create mode 100644 doc/develop/statistics/u-boot-stats-v2022.07.rst
diff --git a/doc/develop/statistics/u-boot-stats-v2022.07.rst b/doc/develop/statistics/u-boot-stats-v2022.07.rst
new file mode 100644
index 000000000000..fa4e8cea48e5
--- /dev/null
+++ b/doc/develop/statistics/u-boot-stats-v2022.07.rst
@@ -0,0 +1,753 @@
+U-Boot v2022.07 Release Statistics
+==================================
+
+* Processed 1696 csets from 183 developers
+
+* 27 employers found
+
+* A total of 148026 lines added, 56440 removed (delta 91586)
+
+============================================================ ======
+Developers with the most changesets Amount
+============================================================ ======
+Tom Rini 164 (9.7%)
+Simon Glass 141 (8.3%)
+Pali Rohár 114 (6.7%)
+Marek Vasut 94 (5.5%)
+Peng Fan 61 (3.6%)
+Sean Anderson 59 (3.5%)
+Heinrich Schuchardt 57 (3.4%)
+Samuel Holland 49 (2.9%)
+Michal Simek 49 (2.9%)
+Johan Jonker 45 (2.7%)
+Aaron Williams 40 (2.4%)
+AKASHI Takahiro 38 (2.2%)
+Marek Behún 36 (2.1%)
+Tim Harvey 33 (1.9%)
+Philippe Reynes 29 (1.7%)
+Andre Przywara 28 (1.7%)
+Andrew Scull 27 (1.6%)
+Patrice Chotard 26 (1.5%)
+Patrick Delaunay 25 (1.5%)
+Fabio Estevam 24 (1.4%)
+Gaurav Jain 20 (1.2%)
+Ye Li 20 (1.2%)
+Ashok Reddy Soma 16 (0.9%)
+Stefan Roese 13 (0.8%)
+Sughosh Ganu 12 (0.7%)
+Masahisa Kojima 12 (0.7%)
+Michael Trimarchi 11 (0.6%)
+Paweł Anikiel 11 (0.6%)
+Adam Ford 11 (0.6%)
+Marcel Ziswiler 11 (0.6%)
+Dave Gerlach 11 (0.6%)
+Philip Oberfichtner 11 (0.6%)
+T Karthik Reddy 11 (0.6%)
+Bin Meng 9 (0.5%)
+Tommaso Merciai 9 (0.5%)
+Heiko Thiery 8 (0.5%)
+Alper Nebi Yasak 8 (0.5%)
+Philippe Schenker 8 (0.5%)
+Vyacheslav Bocharov 8 (0.5%)
+Michael Walle 7 (0.4%)
+Peter Robinson 6 (0.4%)
+Francesco Dolcini 6 (0.4%)
+Mark Kettenis 6 (0.4%)
+Neal Frager 6 (0.4%)
+Robert Marko 6 (0.4%)
+Jim Liu 6 (0.4%)
+Tudor Ambarus 6 (0.4%)
+Paweł Jarosz 5 (0.3%)
+Dinesh Maniyam 5 (0.3%)
+Ariel D'Alessandro 5 (0.3%)
+Eugen Hristev 5 (0.3%)
+Sergiu Moga 5 (0.3%)
+Lukasz Majewski 5 (0.3%)
+Clément Léger 5 (0.3%)
+Huang Jianan 5 (0.3%)
+Etienne Carriere 5 (0.3%)
+Tien Fong Chee 4 (0.2%)
+Chris Morgan 4 (0.2%)
+Dario Binacchi 4 (0.2%)
+Frieder Schrempf 4 (0.2%)
+Janne Grunau 4 (0.2%)
+Josua Mayer 4 (0.2%)
+Vincent Stehlé 4 (0.2%)
+Chris Packham 4 (0.2%)
+Sai Pavan Boddu 4 (0.2%)
+Neil Armstrong 4 (0.2%)
+Jan Kiszka 4 (0.2%)
+Andrew Davis 4 (0.2%)
+Aswath Govindraju 4 (0.2%)
+Masami Hiramatsu 4 (0.2%)
+Durai Manickam KR 4 (0.2%)
+Billy Tsai 4 (0.2%)
+Angus Ainslie 4 (0.2%)
+Jesse Taube 4 (0.2%)
+Andrew Jeffery 4 (0.2%)
+Hari Nagalla 4 (0.2%)
+Icenowy Zheng 4 (0.2%)
+Romain Naour 4 (0.2%)
+Joel Stanley 3 (0.2%)
+Andrey Zhizhikin 3 (0.2%)
+Loic Poulain 3 (0.2%)
+Rasmus Villemoes 3 (0.2%)
+Vagrant Cascadian 3 (0.2%)
+Ilias Apalodimas 3 (0.2%)
+Eddie James 3 (0.2%)
+Gireesh Hiremath 3 (0.2%)
+Sam Shih 3 (0.2%)
+Luca Ellero 3 (0.2%)
+Tony Dinh 3 (0.2%)
+Paul Barker 3 (0.2%)
+Oleksandr Suvorov 3 (0.2%)
+Igor Opaniuk 3 (0.2%)
+Denys Drozdov 3 (0.2%)
+SESA644425 3 (0.2%)
+Vignesh Raghavendra 3 (0.2%)
+Dzmitry Sankouski 3 (0.2%)
+Jernej Skrabec 3 (0.2%)
+Miquel Raynal 2 (0.1%)
+Christian Gmeiner 2 (0.1%)
+Nate Drude 2 (0.1%)
+Rick Chen 2 (0.1%)
+Yannick Fertre 2 (0.1%)
+Peter Hoyes 2 (0.1%)
+Dominic Rath 2 (0.1%)
+Du Huanpeng 2 (0.1%)
+Haolin Li 2 (0.1%)
+Clement Faure 2 (0.1%)
+Vladimir Oltean 2 (0.1%)
+Christoph Niedermaier 2 (0.1%)
+Paul Barbieri 1 (0.1%)
+Hannes Schmelzer 1 (0.1%)
+Teik Heng Chong 1 (0.1%)
+Andrea Scian 1 (0.1%)
+Jerome Forissier 1 (0.1%)
+Emmanuel Vadot 1 (0.1%)
+Nicolas Iooss 1 (0.1%)
+Andrejs Cainikovs 1 (0.1%)
+qianfan Zhao 1 (0.1%)
+Yau Wai Gan 1 (0.1%)
+Corentin LABBE 1 (0.1%)
+Christophe Leroy 1 (0.1%)
+Chunfeng Yun 1 (0.1%)
+Camelia Groza 1 (0.1%)
+Wasim Khan 1 (0.1%)
+Georgi Vlaev 1 (0.1%)
+Andrea zi0Black Cappa 1 (0.1%)
+Leo Yu-Chi Liang 1 (0.1%)
+Humberto Naves 1 (0.1%)
+Sean Nyekjaer 1 (0.1%)
+Christoph Fritz 1 (0.1%)
+Sergei Antonov 1 (0.1%)
+George Hilliard 1 (0.1%)
+Ying-Chun Liu (PaulLiu) 1 (0.1%)
+Vishal Patel 1 (0.1%)
+Piyush Mehta 1 (0.1%)
+Amit Kumar Mahapatra 1 (0.1%)
+Jorge Ramirez-Ortiz 1 (0.1%)
+Ralph Siemsen 1 (0.1%)
+Ovidiu Panait 1 (0.1%)
+John Keeping 1 (0.1%)
+Oliver Graute 1 (0.1%)
+Nicolas Heemeryck 1 (0.1%)
+Stanley Chu 1 (0.1%)
+Josef Schlehofer 1 (0.1%)
+Stephen Carlson 1 (0.1%)
+Yuantian Tang 1 (0.1%)
+Hou Zhiqiang 1 (0.1%)
+Kyle Evans 1 (0.1%)
+Lyle Franklin 1 (0.1%)
+Andrew Abbott 1 (0.1%)
+Oleksii Titov 1 (0.1%)
+Kshitiz Varshney 1 (0.1%)
+Ian Ray 1 (0.1%)
+Rogier Stam 1 (0.1%)
+Diego Rondini 1 (0.1%)
+Daniel Golle 1 (0.1%)
+Peter Cai 1 (0.1%)
+Alexandre Besnard 1 (0.1%)
+Elmar Albert 1 (0.1%)
+Arjan Minzinga Zijlstra 1 (0.1%)
+Oleksii Bidnichenko 1 (0.1%)
+Ji Luo 1 (0.1%)
+Clark Wang 1 (0.1%)
+Clément Péron 1 (0.1%)
+Andy Shevchenko 1 (0.1%)
+Hajo Noerenberg 1 (0.1%)
+Ville Baillie 1 (0.1%)
+Paul HENRYS 1 (0.1%)
+Jérôme Carretero 1 (0.1%)
+Dhananjay Phadke 1 (0.1%)
+Ivan Vozvakhov 1 (0.1%)
+Tom Saeger 1 (0.1%)
+Adarsh Babu Kalepalli 1 (0.1%)
+He Yong 1 (0.1%)
+Samuel Dionne-Riel 1 (0.1%)
+Felix.Vietmeyer(a)jila.colorado.edu 1 (0.1%)
+Yi Liu 1 (0.1%)
+Angelo Dureghello 1 (0.1%)
+Baltazár Radics 1 (0.1%)
+Alexander Graf 1 (0.1%)
+Mihai Sain 1 (0.1%)
+Sai Krishna Potthuri 1 (0.1%)
+weichangzheng 1 (0.1%)
+============================================================ ======
+
+============================================================ ======
+Developers with the most changed lines Amount
+============================================================ ======
+Aaron Williams 31473 (16.9%)
+Tom Rini 25599 (13.7%)
+Simon Glass 17972 (9.7%)
+Marek Vasut 14707 (7.9%)
+Tim Harvey 11858 (6.4%)
+Sean Anderson 10323 (5.5%)
+Samuel Holland 8705 (4.7%)
+Stefan Roese 4394 (2.4%)
+Johan Jonker 3712 (2.0%)
+Jim Liu 3650 (2.0%)
+Ariel D'Alessandro 3358 (1.8%)
+Huang Jianan 3272 (1.8%)
+Philippe Reynes 2587 (1.4%)
+Philip Oberfichtner 2400 (1.3%)
+Peng Fan 2365 (1.3%)
+Pali Rohár 2277 (1.2%)
+Paweł Jarosz 2092 (1.1%)
+AKASHI Takahiro 1700 (0.9%)
+Eugen Hristev 1532 (0.8%)
+Gaurav Jain 1522 (0.8%)
+Humberto Naves 1498 (0.8%)
+Marek Behún 1353 (0.7%)
+Andre Przywara 1318 (0.7%)
+Paul Barker 1308 (0.7%)
+Patrick Delaunay 1200 (0.6%)
+Paweł Anikiel 1162 (0.6%)
+Michal Simek 1065 (0.6%)
+Patrice Chotard 1038 (0.6%)
+Ashok Reddy Soma 1000 (0.5%)
+Sughosh Ganu 954 (0.5%)
+Denys Drozdov 942 (0.5%)
+Neal Frager 894 (0.5%)
+Angus Ainslie 804 (0.4%)
+Heinrich Schuchardt 692 (0.4%)
+weichangzheng 686 (0.4%)
+Etienne Carriere 652 (0.4%)
+Janne Grunau 648 (0.3%)
+Marcel Ziswiler 636 (0.3%)
+Andrew Scull 606 (0.3%)
+Neil Armstrong 598 (0.3%)
+Masahisa Kojima 567 (0.3%)
+Adam Ford 524 (0.3%)
+Billy Tsai 497 (0.3%)
+Alper Nebi Yasak 440 (0.2%)
+Fabio Estevam 420 (0.2%)
+Michael Trimarchi 393 (0.2%)
+Durai Manickam KR 378 (0.2%)
+Vincent Stehlé 369 (0.2%)
+Andrew Jeffery 359 (0.2%)
+T Karthik Reddy 322 (0.2%)
+Francesco Dolcini 306 (0.2%)
+Ye Li 303 (0.2%)
+Nate Drude 275 (0.1%)
+Dave Gerlach 263 (0.1%)
+Sergiu Moga 260 (0.1%)
+Tony Dinh 256 (0.1%)
+Sam Shih 252 (0.1%)
+Ivan Vozvakhov 252 (0.1%)
+Dzmitry Sankouski 244 (0.1%)
+Tommaso Merciai 242 (0.1%)
+Yannick Fertre 217 (0.1%)
+Clément Léger 208 (0.1%)
+Eddie James 202 (0.1%)
+Ilias Apalodimas 190 (0.1%)
+Philippe Schenker 189 (0.1%)
+Adarsh Babu Kalepalli 174 (0.1%)
+Igor Opaniuk 160 (0.1%)
+Michael Walle 159 (0.1%)
+Lukasz Majewski 157 (0.1%)
+Josua Mayer 137 (0.1%)
+Vyacheslav Bocharov 131 (0.1%)
+Stanley Chu 131 (0.1%)
+Gireesh Hiremath 127 (0.1%)
+Hari Nagalla 126 (0.1%)
+Leo Yu-Chi Liang 116 (0.1%)
+Luca Ellero 107 (0.1%)
+Chris Morgan 100 (0.1%)
+Peter Hoyes 100 (0.1%)
+Ji Luo 100 (0.1%)
+George Hilliard 82 (0.0%)
+Mark Kettenis 79 (0.0%)
+Frieder Schrempf 78 (0.0%)
+Heiko Thiery 72 (0.0%)
+Icenowy Zheng 69 (0.0%)
+Joel Stanley 66 (0.0%)
+Diego Rondini 64 (0.0%)
+Robert Marko 63 (0.0%)
+Dinesh Maniyam 59 (0.0%)
+Andrejs Cainikovs 49 (0.0%)
+Samuel Dionne-Riel 48 (0.0%)
+Mihai Sain 45 (0.0%)
+Bin Meng 41 (0.0%)
+Loic Poulain 40 (0.0%)
+SESA644425 40 (0.0%)
+Masami Hiramatsu 39 (0.0%)
+Clement Faure 39 (0.0%)
+He Yong 39 (0.0%)
+Rasmus Villemoes 38 (0.0%)
+Jernej Skrabec 37 (0.0%)
+Jerome Forissier 35 (0.0%)
+Paul HENRYS 31 (0.0%)
+Jérôme Carretero 30 (0.0%)
+Paul Barbieri 28 (0.0%)
+Aswath Govindraju 27 (0.0%)
+Jan Kiszka 26 (0.0%)
+Jesse Taube 26 (0.0%)
+Nicolas Heemeryck 23 (0.0%)
+Ville Baillie 23 (0.0%)
+Andrew Davis 22 (0.0%)
+Kyle Evans 22 (0.0%)
+Peter Robinson 21 (0.0%)
+Romain Naour 21 (0.0%)
+Peter Cai 21 (0.0%)
+Hou Zhiqiang 20 (0.0%)
+Clark Wang 20 (0.0%)
+Sai Pavan Boddu 18 (0.0%)
+Amit Kumar Mahapatra 18 (0.0%)
+Elmar Albert 18 (0.0%)
+Tudor Ambarus 16 (0.0%)
+Oleksandr Suvorov 16 (0.0%)
+Chris Packham 15 (0.0%)
+Vagrant Cascadian 15 (0.0%)
+Dominic Rath 13 (0.0%)
+Andrea Scian 13 (0.0%)
+Christoph Fritz 13 (0.0%)
+Nicolas Iooss 12 (0.0%)
+Miquel Raynal 11 (0.0%)
+Vishal Patel 11 (0.0%)
+Georgi Vlaev 9 (0.0%)
+Dario Binacchi 8 (0.0%)
+Teik Heng Chong 8 (0.0%)
+Piyush Mehta 8 (0.0%)
+Ovidiu Panait 8 (0.0%)
+John Keeping 8 (0.0%)
+Dhananjay Phadke 8 (0.0%)
+Tom Saeger 8 (0.0%)
+Tien Fong Chee 7 (0.0%)
+Stephen Carlson 7 (0.0%)
+Lyle Franklin 7 (0.0%)
+Felix.Vietmeyer(a)jila.colorado.edu 7 (0.0%)
+Alexander Graf 7 (0.0%)
+Andrey Zhizhikin 6 (0.0%)
+Vignesh Raghavendra 6 (0.0%)
+Christian Gmeiner 6 (0.0%)
+Haolin Li 6 (0.0%)
+Daniel Golle 6 (0.0%)
+Rick Chen 5 (0.0%)
+Ying-Chun Liu (PaulLiu) 5 (0.0%)
+Rogier Stam 5 (0.0%)
+Alexandre Besnard 5 (0.0%)
+Angelo Dureghello 5 (0.0%)
+Christoph Niedermaier 4 (0.0%)
+Hannes Schmelzer 4 (0.0%)
+Chunfeng Yun 4 (0.0%)
+Kshitiz Varshney 4 (0.0%)
+Yi Liu 4 (0.0%)
+Baltazár Radics 4 (0.0%)
+Christophe Leroy 3 (0.0%)
+Wasim Khan 3 (0.0%)
+Andrea zi0Black Cappa 3 (0.0%)
+Sean Nyekjaer 3 (0.0%)
+Andy Shevchenko 3 (0.0%)
+Du Huanpeng 2 (0.0%)
+Vladimir Oltean 2 (0.0%)
+Camelia Groza 2 (0.0%)
+Sergei Antonov 2 (0.0%)
+Oliver Graute 2 (0.0%)
+Yuantian Tang 2 (0.0%)
+Oleksii Titov 2 (0.0%)
+Arjan Minzinga Zijlstra 2 (0.0%)
+Oleksii Bidnichenko 2 (0.0%)
+Clément Péron 2 (0.0%)
+Hajo Noerenberg 2 (0.0%)
+Sai Krishna Potthuri 2 (0.0%)
+Emmanuel Vadot 1 (0.0%)
+qianfan Zhao 1 (0.0%)
+Yau Wai Gan 1 (0.0%)
+Corentin LABBE 1 (0.0%)
+Jorge Ramirez-Ortiz 1 (0.0%)
+Ralph Siemsen 1 (0.0%)
+Josef Schlehofer 1 (0.0%)
+Andrew Abbott 1 (0.0%)
+Ian Ray 1 (0.0%)
+============================================================ ======
+
+============================================================ ======
+Developers with the most lines removed Amount
+============================================================ ======
+Tom Rini 19724 (34.9%)
+Denys Drozdov 941 (1.7%)
+Marcel Ziswiler 430 (0.8%)
+Stefan Roese 331 (0.6%)
+Marek Behún 309 (0.5%)
+Adam Ford 247 (0.4%)
+Tony Dinh 187 (0.3%)
+Igor Opaniuk 134 (0.2%)
+Leo Yu-Chi Liang 116 (0.2%)
+Etienne Carriere 97 (0.2%)
+Francesco Dolcini 30 (0.1%)
+Rasmus Villemoes 19 (0.0%)
+Hou Zhiqiang 16 (0.0%)
+Frieder Schrempf 14 (0.0%)
+John Keeping 8 (0.0%)
+Romain Naour 5 (0.0%)
+Ying-Chun Liu (PaulLiu) 5 (0.0%)
+Ovidiu Panait 3 (0.0%)
+Vignesh Raghavendra 3 (0.0%)
+Andrea zi0Black Cappa 2 (0.0%)
+Andy Shevchenko 2 (0.0%)
+Peter Robinson 1 (0.0%)
+Josef Schlehofer 1 (0.0%)
+Ian Ray 1 (0.0%)
+============================================================ ======
+
+============================================================ ======
+Developers with the most signoffs (total 266) Amount
+============================================================ ======
+Andre Przywara 50 (18.8%)
+Michal Simek 43 (16.2%)
+Stefan Roese 41 (15.4%)
+Patrice Chotard 23 (8.6%)
+Peng Fan 17 (6.4%)
+Marcel Ziswiler 16 (6.0%)
+Neil Armstrong 9 (3.4%)
+Priyanka Jain 7 (2.6%)
+Michael Trimarchi 6 (2.3%)
+Johan Jonker 5 (1.9%)
+Tom Rini 4 (1.5%)
+Tom Warren 4 (1.5%)
+T Karthik Reddy 4 (1.5%)
+Stanley Chu 4 (1.5%)
+Samuel Holland 4 (1.5%)
+Yau Wai Gan 2 (0.8%)
+Jagan Teki 2 (0.8%)
+Biwen Li 2 (0.8%)
+Ye Li 2 (0.8%)
+Ilias Apalodimas 2 (0.8%)
+Heinrich Schuchardt 2 (0.8%)
+Ariel D'Alessandro 2 (0.8%)
+Amit Kumar Mahapatra 1 (0.4%)
+Wolfgang Wallner 1 (0.4%)
+Alexandru M Stan 1 (0.4%)
+Kever Yang 1 (0.4%)
+Chee Hong Ang 1 (0.4%)
+Yifan Gu 1 (0.4%)
+Horia Geantă 1 (0.4%)
+Richard Weinberger 1 (0.4%)
+Anatolij Gustschin 1 (0.4%)
+Gabriel Fernandez 1 (0.4%)
+Christian Gmeiner 1 (0.4%)
+Sai Krishna Potthuri 1 (0.4%)
+Josua Mayer 1 (0.4%)
+Masahisa Kojima 1 (0.4%)
+Ashok Reddy Soma 1 (0.4%)
+============================================================ ======
+
+============================================================ ======
+Developers with the most reviews (total 871) Amount
+============================================================ ======
+Simon Glass 100 (11.5%)
+Fabio Estevam 69 (7.9%)
+Stefan Roese 67 (7.7%)
+Ramon Fried 65 (7.5%)
+Kever Yang 63 (7.2%)
+Priyanka Jain 53 (6.1%)
+Patrice Chotard 38 (4.4%)
+Patrick Delaunay 38 (4.4%)
+Heinrich Schuchardt 35 (4.0%)
+Andre Przywara 31 (3.6%)
+Peng Fan 26 (3.0%)
+Bin Meng 25 (2.9%)
+Alper Nebi Yasak 23 (2.6%)
+Tom Rini 21 (2.4%)
+Marek Behún 21 (2.4%)
+Jaehoon Chung 19 (2.2%)
+Ye Li 13 (1.5%)
+Marek Vasut 12 (1.4%)
+Heiko Schocher 9 (1.0%)
+Tien Fong Chee 9 (1.0%)
+Sean Anderson 9 (1.0%)
+Vladimir Oltean 8 (0.9%)
+Ilias Apalodimas 7 (0.8%)
+Leo Yu-Chi Liang 6 (0.7%)
+Mark Kettenis 6 (0.7%)
+Neil Armstrong 5 (0.6%)
+Samuel Holland 5 (0.6%)
+Jagan Teki 5 (0.6%)
+Masami Hiramatsu 5 (0.6%)
+Gaurav Jain 5 (0.6%)
+Christian Gmeiner 4 (0.5%)
+Chia-Wei Wang 4 (0.5%)
+Claudiu Beznea 4 (0.5%)
+Pali Rohár 4 (0.5%)
+Ashok Reddy Soma 3 (0.3%)
+Francesco Dolcini 3 (0.3%)
+Nishanth Menon 3 (0.3%)
+Stefano Babic 3 (0.3%)
+Holger Brunck 3 (0.3%)
+Miquel Raynal 3 (0.3%)
+Michael Walle 3 (0.3%)
+Michal Simek 2 (0.2%)
+Michael Trimarchi 2 (0.2%)
+Tony Dinh 2 (0.2%)
+Frieder Schrempf 2 (0.2%)
+Minkyu Kang 2 (0.2%)
+Rick Chen 2 (0.2%)
+Tudor Ambarus 2 (0.2%)
+Joel Stanley 2 (0.2%)
+Tim Harvey 2 (0.2%)
+Marcel Ziswiler 1 (0.1%)
+John Keeping 1 (0.1%)
+Peter Robinson 1 (0.1%)
+Peter Collingbourne 1 (0.1%)
+Pankaj Gupta 1 (0.1%)
+Han Xu 1 (0.1%)
+Radhey Shyam Pandey 1 (0.1%)
+Philipp Tomsich 1 (0.1%)
+Thomas Chou 1 (0.1%)
+Kristian Amlie 1 (0.1%)
+Qu Wenruo 1 (0.1%)
+Jacky Bai 1 (0.1%)
+Ley Foon Tan 1 (0.1%)
+Dylan Hung 1 (0.1%)
+Andrey Zhizhikin 1 (0.1%)
+Kshitiz Varshney 1 (0.1%)
+Andrew Scull 1 (0.1%)
+Janne Grunau 1 (0.1%)
+============================================================ ======
+
+============================================================ ======
+Developers with the most test credits (total 66) Amount
+============================================================ ======
+Tim Harvey 15 (22.7%)
+Patrice Chotard 5 (7.6%)
+Mark Kettenis 4 (6.1%)
+Adam Ford 4 (6.1%)
+Fabio Estevam 3 (4.5%)
+Marek Vasut 3 (4.5%)
+Marcel Ziswiler 3 (4.5%)
+Derald D. Woods 3 (4.5%)
+Pali Rohár 2 (3.0%)
+Ariel D'Alessandro 2 (3.0%)
+Heiko Thiery 2 (3.0%)
+Andre Przywara 1 (1.5%)
+Chia-Wei Wang 1 (1.5%)
+Stefano Babic 1 (1.5%)
+Frieder Schrempf 1 (1.5%)
+John Keeping 1 (1.5%)
+Peter Robinson 1 (1.5%)
+Peter Collingbourne 1 (1.5%)
+Kshitiz Varshney 1 (1.5%)
+Janne Grunau 1 (1.5%)
+Josua Mayer 1 (1.5%)
+Ying-Chun Liu (PaulLiu) 1 (1.5%)
+Peter Griffin 1 (1.5%)
+Tatsuhiko Yasumatsu 1 (1.5%)
+Jincheng Wang 1 (1.5%)
+Gabriel Hojda 1 (1.5%)
+Arti Zirk 1 (1.5%)
+Merlijn Wajer 1 (1.5%)
+Soeren Moch 1 (1.5%)
+Raffaele RECALCATI 1 (1.5%)
+Angus Ainslie 1 (1.5%)
+============================================================ ======
+
+============================================================ ======
+Developers who gave the most tested-by credits (total 67) Amount
+============================================================ ======
+Marek Vasut 14 (20.9%)
+Fabio Estevam 6 (9.0%)
+Michael Trimarchi 6 (9.0%)
+Heiko Thiery 4 (6.0%)
+Adam Ford 3 (4.5%)
+Heinrich Schuchardt 3 (4.5%)
+Tom Rini 3 (4.5%)
+Pali Rohár 2 (3.0%)
+Andre Przywara 2 (3.0%)
+Frieder Schrempf 2 (3.0%)
+Janne Grunau 2 (3.0%)
+Miquel Raynal 2 (3.0%)
+Masahisa Kojima 2 (3.0%)
+Tim Harvey 1 (1.5%)
+Mark Kettenis 1 (1.5%)
+Angus Ainslie 1 (1.5%)
+Simon Glass 1 (1.5%)
+Peng Fan 1 (1.5%)
+Marek Behún 1 (1.5%)
+Ye Li 1 (1.5%)
+Gaurav Jain 1 (1.5%)
+Joel Stanley 1 (1.5%)
+Rasmus Villemoes 1 (1.5%)
+Christoph Niedermaier 1 (1.5%)
+Peter Cai 1 (1.5%)
+Jerome Forissier 1 (1.5%)
+Andrejs Cainikovs 1 (1.5%)
+Nate Drude 1 (1.5%)
+AKASHI Takahiro 1 (1.5%)
+============================================================ ======
+
+============================================================ ======
+Developers with the most report credits (total 19) Amount
+============================================================ ======
+Tom Rini 2 (10.5%)
+Patrick Delaunay 2 (10.5%)
+Fabio Estevam 1 (5.3%)
+Tim Harvey 1 (5.3%)
+Tatsuhiko Yasumatsu 1 (5.3%)
+Jincheng Wang 1 (5.3%)
+Gabriel Hojda 1 (5.3%)
+Nishanth Menon 1 (5.3%)
+Milan P. Stanić 1 (5.3%)
+Yun-Chien Yu 1 (5.3%)
+Nicolas Bidron 1 (5.3%)
+Balaji Anandapadmanaban 1 (5.3%)
+David Mosberger-Tang 1 (5.3%)
+Jesse Villarreal 1 (5.3%)
+Suman Anna 1 (5.3%)
+Vagrant Cascadian 1 (5.3%)
+Chris Morgan 1 (5.3%)
+============================================================ ======
+
+============================================================ ======
+Developers who gave the most report credits (total 19) Amount
+============================================================ ======
+Simon Glass 5 (26.3%)
+Andre Przywara 3 (15.8%)
+Heinrich Schuchardt 2 (10.5%)
+Miquel Raynal 2 (10.5%)
+Aswath Govindraju 2 (10.5%)
+Tom Rini 1 (5.3%)
+Fabio Estevam 1 (5.3%)
+Samuel Holland 1 (5.3%)
+Tudor Ambarus 1 (5.3%)
+Chunfeng Yun 1 (5.3%)
+============================================================ ======
+
+============================================================ ======
+Top changeset contributors by employer Amount
+============================================================ ======
+(Unknown) 669 (39.4%)
+Google, Inc. 168 (9.9%)
+Konsulko Group 164 (9.7%)
+DENX Software Engineering 147 (8.7%)
+NXP 112 (6.6%)
+Linaro 80 (4.7%)
+ST Microelectronics 53 (3.1%)
+AMD 51 (3.0%)
+Marvell 40 (2.4%)
+Xilinx 39 (2.3%)
+ARM 34 (2.0%)
+Toradex 33 (1.9%)
+Texas Instruments 27 (1.6%)
+Amarula Solutions 24 (1.4%)
+Intel 12 (0.7%)
+Semihalf Embedded Systems 11 (0.6%)
+Bootlin 7 (0.4%)
+BayLibre SAS 5 (0.3%)
+Collabora Ltd. 5 (0.3%)
+Siemens 4 (0.2%)
+Debian.org 3 (0.2%)
+IBM 3 (0.2%)
+Wind River 1 (0.1%)
+Dave S.r.l. 1 (0.1%)
+General Electric 1 (0.1%)
+Oracle 1 (0.1%)
+Rockchip 1 (0.1%)
+============================================================ ======
+
+============================================================ ======
+Top lines changed by employer Amount
+============================================================ ======
+(Unknown) 63402 (34.0%)
+Marvell 31473 (16.9%)
+Konsulko Group 25599 (13.7%)
+DENX Software Engineering 22078 (11.9%)
+Google, Inc. 18578 (10.0%)
+NXP 4382 (2.4%)
+Linaro 4183 (2.2%)
+Collabora Ltd. 3358 (1.8%)
+ST Microelectronics 2455 (1.3%)
+Xilinx 2277 (1.2%)
+Toradex 2140 (1.1%)
+ARM 1787 (1.0%)
+Semihalf Embedded Systems 1162 (0.6%)
+AMD 1061 (0.6%)
+Amarula Solutions 643 (0.3%)
+BayLibre SAS 599 (0.3%)
+Texas Instruments 453 (0.2%)
+Bootlin 219 (0.1%)
+IBM 202 (0.1%)
+Intel 78 (0.0%)
+Siemens 26 (0.0%)
+Debian.org 15 (0.0%)
+Dave S.r.l. 13 (0.0%)
+Wind River 8 (0.0%)
+Oracle 8 (0.0%)
+Rockchip 4 (0.0%)
+General Electric 1 (0.0%)
+============================================================ ======
+
+============================================================ ======
+Employers with the most signoffs (total 266) Amount
+============================================================ ======
+ARM 50 (18.8%)
+DENX Software Engineering 42 (15.8%)
+Xilinx 39 (14.7%)
+NXP 29 (10.9%)
+ST Microelectronics 24 (9.0%)
+(Unknown) 21 (7.9%)
+Toradex 16 (6.0%)
+AMD 11 (4.1%)
+BayLibre SAS 9 (3.4%)
+Amarula Solutions 8 (3.0%)
+Konsulko Group 4 (1.5%)
+NVidia 4 (1.5%)
+Linaro 3 (1.1%)
+Intel 3 (1.1%)
+Collabora Ltd. 2 (0.8%)
+Rockchip 1 (0.4%)
+============================================================ ======
+
+============================================================ ======
+Employers with the most hackers (total 185) Amount
+============================================================ ======
+(Unknown) 102 (55.1%)
+NXP 12 (6.5%)
+Linaro 10 (5.4%)
+Xilinx 9 (4.9%)
+Toradex 7 (3.8%)
+Texas Instruments 6 (3.2%)
+DENX Software Engineering 5 (2.7%)
+Intel 5 (2.7%)
+ARM 3 (1.6%)
+ST Microelectronics 3 (1.6%)
+Amarula Solutions 3 (1.6%)
+AMD 2 (1.1%)
+BayLibre SAS 2 (1.1%)
+Google, Inc. 2 (1.1%)
+Bootlin 2 (1.1%)
+Konsulko Group 1 (0.5%)
+Collabora Ltd. 1 (0.5%)
+Rockchip 1 (0.5%)
+Marvell 1 (0.5%)
+Semihalf Embedded Systems 1 (0.5%)
+IBM 1 (0.5%)
+Siemens 1 (0.5%)
+Debian.org 1 (0.5%)
+Dave S.r.l. 1 (0.5%)
+Wind River 1 (0.5%)
+Oracle 1 (0.5%)
+General Electric 1 (0.5%)
+============================================================ ======
+
--
2.25.1
2
3
Add a -R option to gitdm to allow for reStructuredText output and add
some very simple table generation. We assume that whatever uses this
output will take care of adding a header, so we only concern ourselves
with making tables. Given the longest section title is 58 characters,
we use 60 as the magic number to write/pad all of our first columns to,
and use "Amount" for the second column.
Signed-off-by: Tom Rini <trini(a)konsulko.com>
---
gitdm | 5 ++++-
reports.py | 14 ++++++++++++++
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/gitdm b/gitdm
index b837f0aafe27..3568d08f55af 100755
--- a/gitdm
+++ b/gitdm
@@ -59,6 +59,7 @@ FileReport = None
# -D Output date statistics
# -f file Write touched-files report to <file>
# -h hfile HTML output to hfile
+# -R rfile reStructuredText output to rfile
# -H file Export individual developer raw data as CSV
# -l count Maximum length for output lists
# -n Use numstats instead of generated patch from git log
@@ -80,7 +81,7 @@ def ParseOpts():
global ReportByFileType, ReportUnknowns, CompanyFilter, FileReport
global HackersCSV
- opts, rest = getopt.getopt(sys.argv[1:], 'ab:dC:c:Df:H:h:l:no:p:r:stUuwx:yz')
+ opts, rest = getopt.getopt(sys.argv[1:], 'ab:dC:c:Df:H:h:l:no:p:r:R:stUuwx:yz')
for opt in opts:
if opt[0] == '-a':
AkpmOverLt = 1
@@ -111,6 +112,8 @@ def ParseOpts():
elif opt[0] == '-r':
print('Filter on "%s"' % (opt[1]))
FileFilter = re.compile(opt[1])
+ elif opt[0] == '-R':
+ reports.SetrSTOutput(open(opt[1], 'w'))
elif opt[0] == '-s':
AuthorSOBs = 0
elif opt[0] == '-t':
diff --git a/reports.py b/reports.py
index 39c237bdae00..3ed21f29c6ac 100644
--- a/reports.py
+++ b/reports.py
@@ -14,6 +14,7 @@ import sys
Outfile = sys.stdout
HTMLfile = None
+rSTfile = None
ListCount = 999999
@@ -25,6 +26,10 @@ def SetHTMLOutput(file):
global HTMLfile
HTMLfile = file
+def SetrSTOutput(file):
+ global rSTfile
+ rSTfile = file
+
def SetMaxList(max):
global ListCount
ListCount = max
@@ -44,6 +49,9 @@ def BeginReport(title):
Outfile.write('\n%s\n' % title)
if HTMLfile:
HTMLfile.write(THead % title)
+ if rSTfile:
+ rSTfile.write('%s %s\n%-60s %s\n%s %s\n' %
+ ('=' * 60, '======', title, 'Amount', '=' * 60, '======'))
TRow = ' <tr><td>%s</td><td align="right">%d</td><td align="right">%.1f%%</td></tr>\n'
TRowStr = ' <tr><td>%s</td><td align="right">%d</td><td>%s</td></tr>\n'
@@ -54,6 +62,8 @@ def ReportLine(text, count, pct):
Outfile.write ('%-25s %4d (%.1f%%)\n' % (text, count, pct))
if HTMLfile:
HTMLfile.write(TRow % (text, count, pct))
+ if rSTfile:
+ rSTfile.write("%-60s %4d (%.1f%%)\n" % (text.strip(), count, pct))
def ReportLineStr(text, count, extra):
if count == 0:
@@ -61,10 +71,14 @@ def ReportLineStr(text, count, extra):
Outfile.write ('%-25s %4d %s\n' % (text, count, extra))
if HTMLfile:
HTMLfile.write(TRowStr % (text, count, extra))
+ if rSTfile:
+ rSTfile.write('* %s with %d %s\n' % (text, count, extra))
def EndReport():
if HTMLfile:
HTMLfile.write('</table>\n\n')
+ if rSTfile:
+ rSTfile.write('%s ======\n\n' % ('=' * 60))
#
# Comparison and report generation functions.
--
2.25.1
1
0
This series of patch adds support for generating FlexSPI Header file
and booting from QSPI on i.MX8m.
Changes in v2:
-Add check for error in case open() for fspi_fd in imx8mkimage.c fails
-Remove extra line in commit message
-Remove extra line in imx8mm_evk_fspi_defconfig
-New patch in series to add an entry for imx8mm_evk_fspi_defconfig in
board/freescale/imx8mm_evk/MAINTAINERS
-New patch in series to add instructions to build and boot from QSPI Flash
Changes in v3:
-Fix Checkpatch ERROR: code indent should use tabs where possible
-Fix Checkpatch ERROR for trailing spaces
Changes in v4:
-Add condition for CONFIG_SYS_UBOOT_BASE for mmc/sd card build
-Define QPSI0_AMBA_BASE in imx-regs.h since it is imx8mm specific
Changes in v5:
-Fix GCC warning: braces around scalar initializer
-Remove __ASSEMBLY__ as it has been dropped in commit 5c86a8f7a191 ("imx:
Don't define __ASSEMBLY__ in source files")
-Sync config with commit e092e3250270 ("Prepare v2022.07")
Mamta Shukla (7):
tools: mkimage: Add support to generate FlexSPI Header for i.MX8m
dts: imx8mm-uboot: Add support to pack FlexSPI Header using binman
configs: Add config for enabling FSPI boot option for i.MX8m
board: freescale: Add QSPI Boot support in spl for i.MX8m
configs: imx8mm: Define CONFIG_SYS_UBOOT_BASE for i.MX8m
board: freescale: Add entry for imx8mm_evk_fspi_defconfig
doc: board: nxp: Add instructions to boot from QSPI
arch/arm/dts/imx8mm-u-boot.dtsi | 20 +++
arch/arm/include/asm/arch-imx8m/imx-regs.h | 1 +
board/freescale/imx8mm_evk/MAINTAINERS | 1 +
.../imx8mm_evk/imximage-8mm-lpddr4-fspi.cfg | 7 +
board/freescale/imx8mm_evk/spl.c | 2 +
configs/imx8mm_evk_fspi_defconfig | 124 ++++++++++++++++++
doc/board/nxp/imx8mm_evk.rst | 37 +++++-
include/configs/imx8mm_evk.h | 9 ++
include/imximage.h | 38 ++++++
tools/Kconfig | 59 +++++++++
tools/imx8mimage.c | 81 +++++++++++-
11 files changed, 373 insertions(+), 6 deletions(-)
create mode 100644 board/freescale/imx8mm_evk/imximage-8mm-lpddr4-fspi.cfg
create mode 100644 configs/imx8mm_evk_fspi_defconfig
--
2.25.1
1
7

[PATCH v11 00/13] fpga: zynqmp: Adding support of loading authenticated images
by Oleksandr Suvorov 12 Jul '22
by Oleksandr Suvorov 12 Jul '22
12 Jul '22
This patchset introduces support for the authenticated and encrypted
FPGA images on ZynqMP boards, besides that introducing common way to
pass the compatible property to any fpga driver.
It bases on the initial work by Jorge Ramirez-Ortiz <jorge(a)foundries.io>
https://patchwork.ozlabs.org/project/uboot/patch/20211015091506.2602-1-jorg…
https://patchwork.ozlabs.org/project/uboot/patch/20211005111324.19749-3-jor…
Changes in v11:
- Fix treating an incoming FPGA image with empty flags parameter as
legacy.
- add Tested-by records.
Changes in v10:
- move FPGA flags to macros;
- initialize xilinx_desc structs directly, removing *_DESC macros;
- initialize flags for mach-zynq;
- fix mixed types of return value;
- made the message about ignoring legacy compatibe option as debug
- fix grammar;
- Support DDR images only if FPGA_LOAD_SECURE enabled.
- Support ENC images only if FPGA_LOAD_SECURE enabled.
Changes in v9:
- remove an alien commit from a patchset :)
Changes in v8:
- Michal Simek's suggestions addressed:
-- introduce the compatible flags in xilinx_desc;
-- pass a binary compatible flag instead of "compatible" property to
an FPGA driver.
- Optimize a zynqmp_load() function.
Changes in v7:
- apply Michal Simek's suggestions
As I applied changes on Oleksandr's patches, I indicated it by
specifying myself as co-author in the commits logs. I am not sure
if that is the convention of marking it.
Changes in v6:
- add support for the encrypted bitfiles.
Changes in v5:
- replace ifdef with if() where it's possible.
Changes in v4:
- change interface to xilinx_desc->operations->open() callback.
- fix a bug from previous version of the patchset in dereferencing
of a parent fpga_desc structure.
Changes in v3:
- remove the patch which introduced CMD_SPL_FPGA_LOAD_SECURE.
- fix mixing definitions/declarations.
- replace strcmp() calls with more secure strncmp().
- document the "u-boot,zynqmp-fpga-ddrauth" compatible string.
- fix code style by check-patch recommendations.
Changes in v2:
- add function fit_fpga_load() to simplify calls of fpga_load()
from contexts without a compatible attribute.
- move all ZynqMP-specific logic to drivers/fpga/zynqmppl.c
- prepare for passing a "compatible" FDT property to any fpga driver.
Adrian Fiergolski (1):
fpga: zynqmp: support loading encrypted bitfiles
Oleksandr Suvorov (12):
fpga: add option for loading FPGA secure bitstreams
fpga: xilinx: add missed identifier names
fpga: xilinx: add bitstream flags to driver desc
fpga: zynqmp: add str2flags call
fpga: add fpga_compatible2flag
fpga: xilinx: pass compatible flags to xilinx_load()
fpga: pass compatible flags to fpga_load()
spl: fit: pass real compatible flags to fpga_load()
fpga: xilinx: pass compatible flags to load() callback
fpga: zynqmp: optimize zynqmppl_load() code
fpga: zynqmp: add bitstream compatible checking
fpga: zynqmp: support loading authenticated images
arch/arm/mach-zynq/cpu.c | 1 +
board/xilinx/versal/board.c | 5 +-
board/xilinx/zynqmp/zynqmp.c | 5 +-
boot/Kconfig | 4 +-
boot/image-board.c | 4 +-
cmd/Kconfig | 3 +-
cmd/fpga.c | 8 +-
common/spl/spl_fit.c | 16 ++--
doc/uImage.FIT/source_file_format.txt | 7 +-
drivers/fpga/Kconfig | 14 ++++
drivers/fpga/fpga.c | 31 +++++++-
drivers/fpga/spartan2.c | 2 +-
drivers/fpga/spartan3.c | 2 +-
drivers/fpga/versalpl.c | 2 +-
drivers/fpga/virtex2.c | 2 +-
drivers/fpga/xilinx.c | 8 +-
drivers/fpga/zynqmppl.c | 104 ++++++++++++++++++++++----
drivers/fpga/zynqpl.c | 2 +-
include/fpga.h | 4 +-
include/versalpl.h | 3 -
include/xilinx.h | 19 +++--
include/zynqmppl.h | 9 ++-
22 files changed, 199 insertions(+), 56 deletions(-)
--
2.36.1
4
20

[RFC PATCH 0/3] eficonfig: add UEFI Secure Boot key maintenance interface
by Masahisa Kojima 12 Jul '22
by Masahisa Kojima 12 Jul '22
12 Jul '22
This series adds the UEFI Secure Boot key maintenance interface
to the eficonfig command.
User can enroll and delete the PK, KEK, db and dbx.
Note that this series is RFC since this series is implemented
on the top of the "enable menu-driven UEFI variable maintenance"
patch series still under review[1].
[1]https://lore.kernel.org/u-boot/20220619045607.1669-1-masahisa.kojima@lina…
Source code can be cloned with:
$ git clone https://git.linaro.org/people/masahisa.kojima/u-boot.git -b kojima/kojima/efi_seckey_menu_upstream_v1_0619
Masahisa Kojima (3):
eficonfig: add UEFI Secure Boot Key enrollment interface
eficonfig: add "Show Signature Database" menu entry
eficonfig: add "Delete Key" menu entry
cmd/Makefile | 3 +
cmd/eficonfig.c | 3 +
cmd/eficonfig_sbkey.c | 701 ++++++++++++++++++++++++++++++++++++++++++
include/efi_config.h | 3 +
4 files changed, 710 insertions(+)
create mode 100644 cmd/eficonfig_sbkey.c
--
2.17.1
4
14
Bring us up to commit 0b8875225750 ("Allow multiple spaces within an
email address") of the upstream gitdm project.
Signed-off-by: Tom Rini <trini(a)konsulko.com>
---
So this isn't a real patch exactly. This shows what the single merge
error would need to be corrected as, in order to bring our tree up to
the above commit from upstream. That in turn is just doing a python3
print() rather than python2 print in the error case where we try and
further correct the Funky email addresses we have, in code that was
already clearly marked as local only code. The rest of those changes
moved in cleanly.
diff --cc database.py
index f356f298c7ed,b50b70cac378..6c43dd23f55e
--- a/database.py
+++ b/database.py
@@@ -296,56 -315,20 +315,56 @@@ def AddEmailEmployerMapping(email, empl
except KeyError:
EmailToEmployer[email] = [(end, empl)]
+##!!wd!!
+FunkyToEmail = {
+ #
+ # Known corrupted addresses.
+ #
+ 'bnemec <at': 'bnemec(a)ganssloser.com',
+ 'ch.naveen.samsung.com': 'ch.naveen(a)samsung.com',
+ 'graeme.russ at gmail.com': 'graeme.russ(a)gmail.com',
+ 'h.rohit at samsung.com': 'h.rohit(a)samsung.com',
+ 'hskinnemoen <at': 'hskinnemoen(a)atmel.com',
+ 'kazuichi at fsi.co.jp': 'kazuichi(a)fsi.co.jp',
+ 'notasas at': 'notasas(a)gmail.com',
+ 'phdm at macqel.be': 'phdm(a)macqel.be',
+ 'plagnioj <at': 'plagnioj(a)jcrosoft.com',
+ 'plagnioj <at> jcrosoft.com': 'plagnioj(a)jcrosoft.com',
+ 'plagnioj at': 'plagnioj(a)jcrosoft.com',
+ 'richardretanubun at ruggedcom.com': 'richardretanubun(a)ruggedcom.com',
+ 'scn1874 at yandex.ru': 'scn1874(a)yandex.ru',
+ 'stelian <at': 'stelian(a)popies.net',
+ 'steve.sakomanlinaro.org': 'steve.sakoman(a)linaro.org',
+ 'tomasz.figa_at_gmail.com': 'tomasz.figa(a)gmail.com',
+ 'w.wegner at astro-kom.de': 'w.wegner(a)astro-kom.de',
+ 'v-stehle <at': 'v-stehle(a)ti.com',
+ 'kotnes <at': 'kotnes(a)cisco.com',
+};
+# 'kotnes <at> cisco <dot> com': 'kotnes(a)cisco.com',
+##!!wd!!
+
- def MapToEmployer (email, unknown = 0):
+ def MapToEmployer(email, unknown = 0):
# Somebody sometimes does s/@/ at /; let's fix it.
- email = email.lower ().replace (' at ', '@')
+ email = email.lower().replace(' at ', '@')
try:
return EmailToEmployer[email]
except KeyError:
pass
- namedom = email.split ('@')
- if len (namedom) < 2:
- print 'Oops...funky email %s' % email
+ namedom = email.split('@')
+ if len(namedom) < 2:
+ print('Oops...funky email %s' % email)
+ ##!!wd!!
+ try:
+ email = FunkyToEmail[email]
- print ' ... fixed up to %s' % email
++ print(' ... fixed up to %s' % email)
+ namedom = email.split ('@')
+ except KeyError:
+ return [(nextyear, GetEmployer ('Funky'))]
+ ##!!wd!!
- return [(nextyear, GetEmployer ('Funky'))]
- s = namedom[1].split ('.')
- for dots in range (len (s) - 2, -1, -1):
- addr = '.'.join (s[dots:])
+ return [(nextyear, GetEmployer('Funky'))]
+ s = namedom[1].split('.')
+ for dots in range(len(s) - 2, -1, -1):
+ addr = '.'.join(s[dots:])
try:
return EmailToEmployer[addr]
except KeyError:
2
4
Hi,
while trying to debug some nasty SPI flash issue on sunxi, I came
across some oddities in the SPI DM framework, and wanted to check some
things, since I am not sure whether I miss things here:
- When I do a simple "sf probe" call, I see *two* calls to the .claim_bus
callback: the first one from:
drivers/mtd/spi/sf_probe.c:spi_flash_probe_slave(), which is
expected, but then also, shortly afterwards, a second call from:
drivers/spi/spi-mem.c:spi_mem_exec_op().
After the probe operation finished, I see the corresponding
two spi_release_bus() calls. Seeing *two* claim calls in that nested
way looks rather odd, and the name *claim* sounds like it should be only
one slave device/driver being able to, well, claim the bus.
From digging through the code it looks like we call spi_mem_exec_op()
only from *inside* drivers that already claimed the bus, so shall we
drop the call inside spi_mem_exec_op()?
Allowing those nested calls has some consequences for the
implementation of .claim_bus in the controller drivers, as it does not
sound indicated to enabled/disable hardware in there. Enabling clock
gates *again* might not be harmful per se, but if the first .release_bus
call already disables clocks and resets, this might cause problems.
- In many controller drivers I see the .of_to_plat implementation checking
for a "spi-max-frequency" property in the *controller's* DT node, mostly
with a fallback value, and using that frequency as an upper bus
frequency limit for the whole controller operation. But looking at the
official DT bindings, this property is supposed to be a *slave device*
property, and indeed checking a few dozen .dts file I see it only being
used in *child* nodes of SPI controllers, never in controller nodes.
There is some proper usage in
drivers/spi/spi-uclass.c:spi_slave_of_to_plat(), but to me it looks like
the bus node code is wrong and should be removed, from the other
invocation in spi-uclass.c and all the controller drivers.
For sunxi (and probably others) this has the consequence of limiting the
whole bus to some "default" frequency limit, which is rather low:
#define SUN4I_SPI_DEFAULT_RATE 1000000
plat->max_hz = fdtdec_get_int(gd->fdt_blob, node,
"spi-max-frequency",
SUN4I_SPI_DEFAULT_RATE);
So we never go beyond this 1 MHz, even though the SPI flash chips
explicitly advertise 40MHz or more in their child nodes.
Please let me know if I am missing something here! If not, I am happy to
send some patches aiming at fixing those things.
Cheers,
Andre
2
1
I am running fit_check_sig on windows to understand in more details how it
works.
What I really want, is a _precise_ description of exactly which bytes of a
FIT image are fed into the hash function (and in which order) in order to
calculate the hash value. I then want to reproduce that hash function in
python (using the "fdt" module) in order to sign the FIT image offline. I
am expecting to have to reverse engineer this description (signature.txt
isn't nearly detailed enough for me), and that's fine (although if anyone
wants to prove me wrong, that would be wonderful).
I have a 30MB FIT image as input, and I have added some debug to
hash_calculate in rsa-checksum.c to print the amount of data being hashed.
The answer is a rather scary "1106 bytes"! The good news is that I have
also added debug to print out the offset within the FIT image of the
regions being hashed (actually in fit_config_check_sig in image-sig.c), and
used this to zero a single byte of the FIT image well away from the offsets
(allegedly) being hashed - and the verification fails (yay!). So clearly I
don't understand what is going on (!).
Can anyone clarify what is happening?
One slightly strange thing I notice is that fit_config_check_sig appears to
be called four! times.
I am working with 2020.1, and cannot easily upgrade to the latest because
the signature nodes contain @.
Debug:
Verifying Hash Integrity ... In fit_config_verify
MJB fit_config_verify_required_sigs
In fit_config_verify_sig
MJB Verifying signature for node hash@1
MJB Verifying signature for node signature@1
sha256,rsa4096:ultra-insecure
Verifying 8 regions:
00 00 00 01 00 00 00 00 00 00 00 03 00 00 00 04 (offset=38 len=180)
00 00 00 03 00 00 00 07 00 00 00 30 6B 65 72 6E (offset=4cee04 len=244)
hash@1 region (offset=4d5b30 len=176)
00 00 00 03 00 00 00 08 00 00 00 30 72 61 6D 64 (offset=1d4d7b4 len=184)
00 00 00 01 63 6F 6E 66 40 31 00 00 00 00 00 03 (offset=1d4d880 len=124)
00 00 00 02 00 00 00 01 73 69 67 6E 61 74 75 72 (offset=1d4d910 len=20)
00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 (offset=1d4dc70 len=20)
64 65 73 63 72 69 70 74 69 6F 6E 00 6E 73 68 69 (offset=1d4dc84 len=158)
Total bytes hashed = 1106+
## Loading kernel from FIT Image at 6ffffe2b0000 ...
Using 'conf@1' configuration
Verifying Hash Integrity ...
In fit_config_verify
MJB fit_config_verify_required_sigs
In fit_config_verify_sig
MJB Verifying signature for node hash@1
MJB Verifying signature for node signature@1
sha256,rsa4096:ultra-insecure
Verifying 8 regions:
00 00 00 01 00 00 00 00 00 00 00 03 00 00 00 04 (offset=38 len=180)
00 00 00 03 00 00 00 07 00 00 00 30 6B 65 72 6E (offset=4cee04 len=244)
hash@1 region (offset=4d5b30 len=176)
00 00 00 03 00 00 00 08 00 00 00 30 72 61 6D 64 (offset=1d4d7b4 len=184)
00 00 00 01 63 6F 6E 66 40 31 00 00 00 00 00 03 (offset=1d4d880 len=124)
00 00 00 02 00 00 00 01 73 69 67 6E 61 74 75 72 (offset=1d4d910 len=20)
00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 (offset=1d4dc70 len=20)
64 65 73 63 72 69 70 74 69 6F 6E 00 6E 73 68 69 (offset=1d4dc84 len=158)
Total bytes hashed = 1106+
OK
Trying 'kernel@0' kernel subimage
Description: Linux Kernel
Created: Mon Apr 4 09:12:26 2022
Type: Kernel Image
Compression: gzip compressed
Data Size: 5041417 Bytes = 4923.26 KiB = 4.81 MiB
Architecture: PowerPC
OS: Linux
Load Address: 0x00000000
Entry Point: 0x00000000
Hash algo: sha256
Hash value:
d36fb92a4af6184ddb42619691323f8b45f84fdb77f5cc65d0d0cebd115eb6f3
Verifying Hash Integrity ...
sha256+
OK
Uncompressing Kernel Image
Unimplemented compression type 1
## Loading fdt from FIT Image at 6ffffe2b0000 ...
Using 'conf@1' configuration
Verifying Hash Integrity ...
In fit_config_verify
MJB fit_config_verify_required_sigs
In fit_config_verify_sig
MJB Verifying signature for node hash@1
MJB Verifying signature for node signature@1
sha256,rsa4096:ultra-insecure
Verifying 8 regions:
00 00 00 01 00 00 00 00 00 00 00 03 00 00 00 04 (offset=38 len=180)
00 00 00 03 00 00 00 07 00 00 00 30 6B 65 72 6E (offset=4cee04 len=244)
hash@1 region (offset=4d5b30 len=176)
00 00 00 03 00 00 00 08 00 00 00 30 72 61 6D 64 (offset=1d4d7b4 len=184)
00 00 00 01 63 6F 6E 66 40 31 00 00 00 00 00 03 (offset=1d4d880 len=124)
00 00 00 02 00 00 00 01 73 69 67 6E 61 74 75 72 (offset=1d4d910 len=20)
00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 (offset=1d4dc70 len=20)
64 65 73 63 72 69 70 74 69 6F 6E 00 6E 73 68 69 (offset=1d4dc84 len=158)
Total bytes hashed = 1106+
OK
Trying 'fdt@0' fdt subimage
Description: Flattened Device Tree blob
Created: Mon Apr 4 09:12:26 2022
Type: Flat Device Tree
Compression: uncompressed
Data Size: 27691 Bytes = 27.04 KiB = 0.03 MiB
Architecture: PowerPC
Hash algo: sha256
Hash value:
0a62bdfb741bc77de5a9d1104f311031f8ac33ec909943c17f2860903121a239
Verifying Hash Integrity ...
sha256+
OK
Loading Flat Device Tree
## Loading ramdisk from FIT Image at 6ffffe2b0000 ...
Using 'conf@1' configuration
Verifying Hash Integrity ...
In fit_config_verify
MJB fit_config_verify_required_sigs
In fit_config_verify_sig
MJB Verifying signature for node hash@1
MJB Verifying signature for node signature@1
sha256,rsa4096:ultra-insecure
Verifying 8 regions:
00 00 00 01 00 00 00 00 00 00 00 03 00 00 00 04 (offset=38 len=180)
00 00 00 03 00 00 00 07 00 00 00 30 6B 65 72 6E (offset=4cee04 len=244)
hash@1 region (offset=4d5b30 len=176)
00 00 00 03 00 00 00 08 00 00 00 30 72 61 6D 64 (offset=1d4d7b4 len=184)
00 00 00 01 63 6F 6E 66 40 31 00 00 00 00 00 03 (offset=1d4d880 len=124)
00 00 00 02 00 00 00 01 73 69 67 6E 61 74 75 72 (offset=1d4d910 len=20)
00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 (offset=1d4dc70 len=20)
64 65 73 63 72 69 70 74 69 6F 6E 00 6E 73 68 69 (offset=1d4dc84 len=158)
Total bytes hashed = 1106+
OK
Trying 'ramdisk@0' ramdisk subimage
Description: RAMDisk
Created: Mon Apr 4 09:12:26 2022
Type: RAMDisk Image
Compression: uncompressed
Data Size: 25656264 Bytes = 25054.95 KiB = 24.47 MiB
Architecture: PowerPC
OS: Linux
Load Address: unavailable
Entry Point: unavailable
Hash algo: sha256
Hash value:
e3ed2c68781d674eaadc2b6c9cf1649df479bf06e655a81bcbc3fa1a01eaecb5
Verifying Hash Integrity ...
sha256+
OK
Loading RAMDisk Image
Signature check OK
ITB converted to ITS (and mostly redacted)
/dts-v1/;
// version: 17
// last_comp_version: 16
// boot_cpuid_phys: 0x0
/ {
timestamp = <0x624AA86A>;
description = "Boot Image for board";
board-version = "13.2.2-101-3a98c931";
#address-cells = <0x1>;
images {
kernel@0 {
description = "Linux Kernel";
data = [1F 8B 08 00 00 00 00 00 02 03 B4 7D 0B 58 54 47 ... ];
type = "kernel";
arch = "ppc";
os = "linux";
compression = "gzip";
load = <0x0>;
entry = <0x0>;
hash@1 {
value = <0xD36FB92A 0x4AF6184D 0xDB426196 0x91323F8B
0x45F84FDB 0x77F5CC65 0xD0D0CEBD 0x115EB6F3>;
algo = "sha256";
};
};
fdt@0 {
description = "Flattened Device Tree blob";
data = [D0 0D FE ED 00 00 6C 2B 00 00 00 38 00 00 65 4C ... ];
type = "flat_dt";
arch = "ppc";
compression = "none";
hash@1 {
value = <0xA62BDFB 0x741BC77D 0xE5A9D110 0x4F311031 ...>;
algo = "sha256";
};
};
ramdisk@0 {
description = "RAMDisk";
data = <0xFD377A58 0x5A000001 0x6922DE36 0x4C0E2D5 ... ];
type = "ramdisk";
arch = "ppc";
os = "linux";
compression = "none";
hash@1 {
value = <0xE3ED2C68 0x781D674E 0xAADC2B6C 0x9CF1649D
0xF479BF06 0xE655A81B 0xCBC3FA1A 0x1EAECB5>;
algo = "sha256";
};
};
};
configurations {
default = "conf@1";
conf@1 {
description = "Boot Linux kernel";
kernel = "kernel@0";
fdt = "fdt@0";
ramdisk = "ramdisk@0";
hash@1 {
algo = "sha256";
};
signature@1 {
hashed-strings = <0x0 0x9E>;
hashed-nodes = "/", "/configurations/conf@1",
"/images/kernel@0", "/images/kernel@0/hash@1",
"/images/fdt@0", "/images/fdt@0/hash@1",
"/images/ramdisk@0", "/images/ramdisk@0/hash@1";
timestamp = <0x624AA86A>;
signer-version = "2020.01";
signer-name = "mkimage";
value = <0x660296EF 0xBFAC0948 0x9B43B4F8 0x3958264D
0x39ECE2A9 0xBF14C100 0xD95DD7D5 0x12525F7F
0x26399A47 0xDFA68CA8 0x80625098 0xF303AAC2
0xFE5EAA79 0x69B3264F 0x25BDB130 0x2DA1F423
0xBBD74859 0x2C7CB1A8 0x0BE7668C 0x05A112A2
0x172BA7B1 0x616EE4C2 0xE8C93859 0x05480848
0xAF5C0F8C 0xF8E0C529 0xC87ED77E 0xDADCB9AE
0x4CE2D7EA 0x54D07A8B 0xFF2715AD 0x0C177059
0x2BCCF6EF 0x93511BCA 0xDA0C16DC 0x88366F70
0x1C606BDA 0x9F6C674C 0x4E328990 0x079DC349
0x3ED2FA6E 0x8E2BFB4E 0x96FE25B9 0x4EC9C0B7
0x49D30DE7 0x98F3FABF 0xBEEC8B9B 0xE35C90DE
0x4FB4586B 0xC6952B5B 0x5539C6B9 0xAF21EA3B
0xB0F12811 0x8AF9A242 0x874658CC 0x9517C652
0xCD062B2D 0x3996FEFF 0xE8B03199 0x9333C8AC
0xEDC8F71F 0x9023AC8A 0x38D00EEB 0x0D171F03
0xDD69CCFF 0x95DEE34F 0x394221DF 0xC04EFC49
0xC3191285 0xBFFA0040 0xDFD683B7 0x53614E59
0x35365737 0x0315F22E 0x198557D7 0x1E2D2EEA
0xA444E500 0x2F54A246 0x781E3B92 0x24D5AEB8
0xEF48F5F7 0x66CAF896 0xAAAAD3E8 0xAB5B8D70
0x9D37AA44 0xB517F759 0x5F6ACA9F 0x27F3F380
0x1404A32E 0x94092308 0x1D920C89 0x4B2B3C1E
0x07BEB532 0x6A6D2BD6 0xC86E5896 0x8708BDCD
0xA70AB635 0x03568CED 0x133554DC 0x208730FC
0xEB2FF6F5 0xECA89FA1 0x8F87746F 0xEC250C3D
0xEA8A403F 0x3302323F 0xA29DA5E1 0xDF9B0198
0xB9B97C3F 0x670E286F 0xEEB58FC5 0xB5DE060B
0xCD027B2B 0x85C566E1 0x0D2ABDFF 0xC9FF7372
0x0D7CEAAB 0x9F91DF92 0x207D7E68 0x967A8C1A
0xD6FFE56B 0x79F1DB3F 0x09BD8FCE 0xD8ABB47C
0x4E26BA36 0x0377465A 0x82573591 0x280D6E89>;
algo = "sha256,rsa4096";
key-name-hint = "ultra-insecure";
sign-images = "kernel", "fdt", "ramdisk";
};
};
};
};
Martin
2
2

[PATCH] common: image-android: Add signature verification feature
by qianfanguijin@163.com 12 Jul '22
by qianfanguijin@163.com 12 Jul '22
12 Jul '22
From: qianfan Zhao <qianfanguijin(a)163.com>
Not all Android tools use the id field for signing the image with sha1,
so make this feature as optional and disabled default.
Signed-off-by: qianfan Zhao <qianfanguijin(a)163.com>
---
common/Kconfig.boot | 14 +++++++++++
common/image-android.c | 55 +++++++++++++++++++++++++++++++++++++-----
2 files changed, 63 insertions(+), 6 deletions(-)
diff --git a/common/Kconfig.boot b/common/Kconfig.boot
index a8d4be23a9..11fc8410a9 100644
--- a/common/Kconfig.boot
+++ b/common/Kconfig.boot
@@ -9,6 +9,20 @@ config ANDROID_BOOT_IMAGE
This enables support for booting images which use the Android
image format header.
+if ANDROID_BOOT_IMAGE
+
+config ANDROID_BOOT_IMAGE_VERIFY
+ bool "Enable signature verification"
+ select SHA1
+ default n
+ help
+ This option enables signature verification of Android Boot Images,
+ using a hash signed and verified using SHA1.
+ Not all Android tools use the id field for signing the image with
+ sha1, if you are unsure about this, Say N here.
+
+endif # ANDROID_BOOT_IMAGE
+
config FIT
bool "Support Flattened Image Tree"
select HASH
diff --git a/common/image-android.c b/common/image-android.c
index 1fbbbba1eb..12b84d6fdc 100644
--- a/common/image-android.c
+++ b/common/image-android.c
@@ -44,11 +44,54 @@ static ulong android_image_get_kernel_addr(const struct andr_img_hdr *hdr)
return hdr->kernel_addr;
}
+#if CONFIG_IS_ENABLED(ANDROID_BOOT_IMAGE_VERIFY)
+/*
+ * Not all Android tools use the id field for signing the image with
+ * sha1 (or anything) so we make this as an optional.
+ */
+static void android_image_update_sha1(sha1_context *ctx, const void *buf,
+ u32 size)
+{
+ if (size > 0) {
+ sha1_update(ctx, buf, size);
+ size = cpu_to_le32(size);
+ sha1_update(ctx, (unsigned char *)&size, sizeof(size));
+ }
+}
+
+static int android_image_verify_sha1(const struct andr_img_hdr *hdr)
+{
+ unsigned char output[20];
+ sha1_context ctx;
+ const void *p;
+
+ sha1_starts(&ctx);
+
+ p = (void *)hdr + hdr->page_size; /* kernel */
+ android_image_update_sha1(&ctx, p, hdr->kernel_size);
+
+ p += ALIGN(hdr->kernel_size, hdr->page_size); /* ramdisk */
+ android_image_update_sha1(&ctx, p, hdr->ramdisk_size);
+
+ p += ALIGN(hdr->ramdisk_size, hdr->page_size); /* second */
+ android_image_update_sha1(&ctx, p, hdr->second_size);
+
+ sha1_finish(&ctx, output);
+
+ return memcmp(output, (unsigned char *)hdr->id, sizeof(output));
+}
+#else
+static int android_image_verify_sha1(const struct andr_img_hdr *hdr)
+{
+ return 0;
+}
+#endif
+
/**
* android_image_get_kernel() - processes kernel part of Android boot images
* @hdr: Pointer to image header, which is at the start
* of the image.
- * @verify: Checksum verification flag. Currently unimplemented.
+ * @verify: Checksum verification flag.
* @os_data: Pointer to a ulong variable, will hold os data start
* address.
* @os_len: Pointer to a ulong variable, will hold os data length.
@@ -66,11 +109,11 @@ int android_image_get_kernel(const struct andr_img_hdr *hdr, int verify,
const struct image_header *ihdr = (const struct image_header *)
((uintptr_t)hdr + hdr->page_size);
- /*
- * Not all Android tools use the id field for signing the image with
- * sha1 (or anything) so we don't check it. It is not obvious that the
- * string is null terminated so we take care of this.
- */
+ if (verify && android_image_verify_sha1(hdr) < 0) {
+ puts("Bad Data Hash\n");
+ return -EACCES;
+ }
+
strncpy(andr_tmp_str, hdr->name, ANDR_BOOT_NAME_SIZE);
andr_tmp_str[ANDR_BOOT_NAME_SIZE] = '\0';
if (strlen(andr_tmp_str))
--
2.25.1
2
1