diff options
122 files changed, 466 insertions, 202 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index eb48eea55c5..e41ff7700df 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1063,7 +1063,7 @@ F: tools/file2include.c F: tools/mkeficapsule.c ENVIRONMENT -S: Orphaned +S: Orphan F: env/ F: include/env/ F: include/env* @@ -1442,7 +1442,7 @@ F: drivers/net/phy/nxp-c45-tja11xx.c ONENAND #M: Lukasz Majewski <[email protected]> -S: Orphaned (Since 2017-01) +S: Orphan (Since 2017-01) T: git https://git.u-boot-project.org/u-boot/custodians/u-boot-onenand.git F: drivers/mtd/onenand/ @@ -1480,7 +1480,7 @@ F: drivers/pci/pcie_dw_imx.c F: drivers/phy/phy-imx8m-pcie.c PCI Endpoint -S: Orphaned +S: Orphan F: drivers/pci_endpoint/ F: include/pci_ep.h @@ -1651,7 +1651,7 @@ F: test/cmd/seama.c SEMIHOSTING R: Sean Anderson <[email protected]> -S: Orphaned +S: Orphan N: semihosting SETEXPR @@ -1703,7 +1703,7 @@ S: Maintained F: drivers/rng/smccc_trng.c SPI -S: Orphaned +S: Orphan T: git https://git.u-boot-project.org/u-boot/custodians/u-boot-spi.git F: drivers/spi/ F: include/spi* @@ -3,7 +3,7 @@ VERSION = 2026 PATCHLEVEL = 10 SUBLEVEL = -EXTRAVERSION = -rc2 +EXTRAVERSION = -rc3 NAME = # *DOCUMENTATION* diff --git a/arch/arm/mach-stm32mp/include/mach/stm32.h b/arch/arm/mach-stm32mp/include/mach/stm32.h index 42e3735847a..dfbd4f43629 100644 --- a/arch/arm/mach-stm32mp/include/mach/stm32.h +++ b/arch/arm/mach-stm32mp/include/mach/stm32.h @@ -67,6 +67,9 @@ enum forced_boot_mode { BOOT_UMS_MMC2 = 0x12, }; +#define TAMP_FWU_BOOT_IDX_MASK GENMASK(3, 0) +#define TAMP_FWU_BOOT_IDX_OFFSET 0 + #endif /* @@ -135,9 +138,6 @@ enum forced_boot_mode { /* TAMP registers */ #define TAMP_BACKUP_REGISTER(x) (STM32_TAMP_BASE + 0x100 + 4 * x) -#define TAMP_FWU_BOOT_IDX_MASK GENMASK(3, 0) -#define TAMP_FWU_BOOT_IDX_OFFSET 0 - #ifdef CONFIG_STM32MP15X #define TAMP_BACKUP_MAGIC_NUMBER TAMP_BACKUP_REGISTER(4) #define TAMP_BACKUP_BRANCH_ADDRESS TAMP_BACKUP_REGISTER(5) diff --git a/arch/m68k/cpu/mcf530x/Makefile b/arch/m68k/cpu/mcf530x/Makefile index 6bd7cd3591d..d0956d9d1ba 100644 --- a/arch/m68k/cpu/mcf530x/Makefile +++ b/arch/m68k/cpu/mcf530x/Makefile @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0+ # -# (C) Copyright 2014 Angelo Dureghello <[email protected]> +# (C) Copyright 2014 Angelo Dureghello <[email protected]> extra-y = start.o obj-y = interrupts.o cpu.o speed.o cpu_init.o diff --git a/arch/m68k/cpu/mcf530x/cpu.c b/arch/m68k/cpu/mcf530x/cpu.c index 92a0ef76895..bff2b485958 100644 --- a/arch/m68k/cpu/mcf530x/cpu.c +++ b/arch/m68k/cpu/mcf530x/cpu.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * (C) Copyright 2014 Angelo Dureghello <[email protected]> + * (C) Copyright 2014 Angelo Dureghello <[email protected]> * */ diff --git a/arch/m68k/cpu/mcf530x/cpu_init.c b/arch/m68k/cpu/mcf530x/cpu_init.c index 8f6e668d103..f06e47f564a 100644 --- a/arch/m68k/cpu/mcf530x/cpu_init.c +++ b/arch/m68k/cpu/mcf530x/cpu_init.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * (C) Copyright 2014 Angelo Dureghello <[email protected]> + * (C) Copyright 2014 Angelo Dureghello <[email protected]> * */ diff --git a/arch/m68k/cpu/mcf530x/interrupts.c b/arch/m68k/cpu/mcf530x/interrupts.c index 99cf8638503..005fce35c93 100644 --- a/arch/m68k/cpu/mcf530x/interrupts.c +++ b/arch/m68k/cpu/mcf530x/interrupts.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * (C) Copyright 2014 Angelo Dureghello <[email protected]> + * (C) Copyright 2014 Angelo Dureghello <[email protected]> * */ diff --git a/arch/m68k/cpu/mcf530x/speed.c b/arch/m68k/cpu/mcf530x/speed.c index 6542fc43ab1..4e9f4a09274 100644 --- a/arch/m68k/cpu/mcf530x/speed.c +++ b/arch/m68k/cpu/mcf530x/speed.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * (C) Copyright 2014 Angelo Dureghello <[email protected]> + * (C) Copyright 2014 Angelo Dureghello <[email protected]> * */ diff --git a/arch/m68k/cpu/mcf530x/start.S b/arch/m68k/cpu/mcf530x/start.S index 552e0204b77..76f7065758b 100644 --- a/arch/m68k/cpu/mcf530x/start.S +++ b/arch/m68k/cpu/mcf530x/start.S @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0+ */ /* - * (C) Copyright 2015 Angelo Dureghello <[email protected]> + * (C) Copyright 2015 Angelo Dureghello <[email protected]> * Based on code from Bernhard Kuhn <[email protected]> */ diff --git a/arch/m68k/cpu/mcf5445x/dspi.c b/arch/m68k/cpu/mcf5445x/dspi.c index 13eb6ecee10..b0f844de5b2 100644 --- a/arch/m68k/cpu/mcf5445x/dspi.c +++ b/arch/m68k/cpu/mcf5445x/dspi.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0+ /* * (C) Copyright 2019 - * Angelo Dureghello <[email protected]> + * Angelo Dureghello <[email protected]> * * CPU specific dspi routines */ diff --git a/arch/m68k/cpu/u-boot.lds b/arch/m68k/cpu/u-boot.lds index 452003ff43c..770c9e990d6 100644 --- a/arch/m68k/cpu/u-boot.lds +++ b/arch/m68k/cpu/u-boot.lds @@ -3,7 +3,7 @@ * (C) Copyright 2000 * Wolfgang Denk, DENX Software Engineering, [email protected]. * (C) Copyright 2015 - * Angelo Dureghello, Sysam Firmware, [email protected] + * Angelo Dureghello, Sysam Firmware, [email protected] */ #include <config.h> diff --git a/arch/m68k/dts/M5208EVBE.dts b/arch/m68k/dts/M5208EVBE.dts index ec203e8b698..cf5bc718cee 100644 --- a/arch/m68k/dts/M5208EVBE.dts +++ b/arch/m68k/dts/M5208EVBE.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/M5235EVB.dts b/arch/m68k/dts/M5235EVB.dts index e8b22c92166..084197bc3fe 100644 --- a/arch/m68k/dts/M5235EVB.dts +++ b/arch/m68k/dts/M5235EVB.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/M5235EVB_Flash32.dts b/arch/m68k/dts/M5235EVB_Flash32.dts index 60b28c07f76..fa463e87ed1 100644 --- a/arch/m68k/dts/M5235EVB_Flash32.dts +++ b/arch/m68k/dts/M5235EVB_Flash32.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/M5249EVB.dts b/arch/m68k/dts/M5249EVB.dts index 84ba4f188b4..32f4431d5fd 100644 --- a/arch/m68k/dts/M5249EVB.dts +++ b/arch/m68k/dts/M5249EVB.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/M5253DEMO.dts b/arch/m68k/dts/M5253DEMO.dts index a3f070661ea..25faf1ba73c 100644 --- a/arch/m68k/dts/M5253DEMO.dts +++ b/arch/m68k/dts/M5253DEMO.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/M5272C3.dts b/arch/m68k/dts/M5272C3.dts index a2289379072..1e77b882a94 100644 --- a/arch/m68k/dts/M5272C3.dts +++ b/arch/m68k/dts/M5272C3.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/M5275EVB.dts b/arch/m68k/dts/M5275EVB.dts index d79f8a78857..2e6a6e45d03 100644 --- a/arch/m68k/dts/M5275EVB.dts +++ b/arch/m68k/dts/M5275EVB.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/M5282EVB.dts b/arch/m68k/dts/M5282EVB.dts index 51788f9654a..f75a9c30aed 100644 --- a/arch/m68k/dts/M5282EVB.dts +++ b/arch/m68k/dts/M5282EVB.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/M53017EVB.dts b/arch/m68k/dts/M53017EVB.dts index 90851dd0af4..d1b2534d4b0 100644 --- a/arch/m68k/dts/M53017EVB.dts +++ b/arch/m68k/dts/M53017EVB.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/M5329AFEE.dts b/arch/m68k/dts/M5329AFEE.dts index c1cd2845a38..a661b091354 100644 --- a/arch/m68k/dts/M5329AFEE.dts +++ b/arch/m68k/dts/M5329AFEE.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/M5329BFEE.dts b/arch/m68k/dts/M5329BFEE.dts index 51ec4b5d1aa..1fe0f6e5515 100644 --- a/arch/m68k/dts/M5329BFEE.dts +++ b/arch/m68k/dts/M5329BFEE.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/M5373EVB.dts b/arch/m68k/dts/M5373EVB.dts index 27ce800caeb..1ab63eae703 100644 --- a/arch/m68k/dts/M5373EVB.dts +++ b/arch/m68k/dts/M5373EVB.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/amcore.dts b/arch/m68k/dts/amcore.dts index d43202a3ab4..e9b01c9bb39 100644 --- a/arch/m68k/dts/amcore.dts +++ b/arch/m68k/dts/amcore.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/cobra5272.dts b/arch/m68k/dts/cobra5272.dts index 2b5767d96d1..9166d5726b9 100644 --- a/arch/m68k/dts/cobra5272.dts +++ b/arch/m68k/dts/cobra5272.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/eb_cpu5282.dts b/arch/m68k/dts/eb_cpu5282.dts index 27f33b9f900..6317e00c84e 100644 --- a/arch/m68k/dts/eb_cpu5282.dts +++ b/arch/m68k/dts/eb_cpu5282.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/eb_cpu5282_internal.dts b/arch/m68k/dts/eb_cpu5282_internal.dts index 53a94ea7f75..39fe86da496 100644 --- a/arch/m68k/dts/eb_cpu5282_internal.dts +++ b/arch/m68k/dts/eb_cpu5282_internal.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/dts/mcf5208.dtsi b/arch/m68k/dts/mcf5208.dtsi index c61dbf35570..df7f4b377cd 100644 --- a/arch/m68k/dts/mcf5208.dtsi +++ b/arch/m68k/dts/mcf5208.dtsi @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ / { diff --git a/arch/m68k/dts/mcf523x.dtsi b/arch/m68k/dts/mcf523x.dtsi index cae7b4f8616..5f1708fb0a3 100644 --- a/arch/m68k/dts/mcf523x.dtsi +++ b/arch/m68k/dts/mcf523x.dtsi @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ / { diff --git a/arch/m68k/dts/mcf5249.dtsi b/arch/m68k/dts/mcf5249.dtsi index d45d5532caf..6174f2babe0 100644 --- a/arch/m68k/dts/mcf5249.dtsi +++ b/arch/m68k/dts/mcf5249.dtsi @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ / { diff --git a/arch/m68k/dts/mcf5253.dtsi b/arch/m68k/dts/mcf5253.dtsi index b9816f4754b..45e463059d9 100644 --- a/arch/m68k/dts/mcf5253.dtsi +++ b/arch/m68k/dts/mcf5253.dtsi @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ / { diff --git a/arch/m68k/dts/mcf5271.dtsi b/arch/m68k/dts/mcf5271.dtsi index 5acf6994af3..4ab23e9921d 100644 --- a/arch/m68k/dts/mcf5271.dtsi +++ b/arch/m68k/dts/mcf5271.dtsi @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ / { diff --git a/arch/m68k/dts/mcf5272.dtsi b/arch/m68k/dts/mcf5272.dtsi index 173baaba3f2..1243ba9c482 100644 --- a/arch/m68k/dts/mcf5272.dtsi +++ b/arch/m68k/dts/mcf5272.dtsi @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ / { diff --git a/arch/m68k/dts/mcf5275.dtsi b/arch/m68k/dts/mcf5275.dtsi index 3df17b445c4..f3043992446 100644 --- a/arch/m68k/dts/mcf5275.dtsi +++ b/arch/m68k/dts/mcf5275.dtsi @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2019 Angelo Dureghello <[email protected]> + * Copyright (C) 2019 Angelo Dureghello <[email protected]> */ / { diff --git a/arch/m68k/dts/mcf5282.dtsi b/arch/m68k/dts/mcf5282.dtsi index 640c1a32e41..8f27756e183 100644 --- a/arch/m68k/dts/mcf5282.dtsi +++ b/arch/m68k/dts/mcf5282.dtsi @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ / { diff --git a/arch/m68k/dts/mcf5301x.dtsi b/arch/m68k/dts/mcf5301x.dtsi index a13afad093a..d9a89cbde5a 100644 --- a/arch/m68k/dts/mcf5301x.dtsi +++ b/arch/m68k/dts/mcf5301x.dtsi @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ / { diff --git a/arch/m68k/dts/mcf5307.dtsi b/arch/m68k/dts/mcf5307.dtsi index d6d386b22e1..a622afc916a 100644 --- a/arch/m68k/dts/mcf5307.dtsi +++ b/arch/m68k/dts/mcf5307.dtsi @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ / { diff --git a/arch/m68k/dts/mcf5329.dtsi b/arch/m68k/dts/mcf5329.dtsi index 991985e48cf..58d6aaadf4e 100644 --- a/arch/m68k/dts/mcf5329.dtsi +++ b/arch/m68k/dts/mcf5329.dtsi @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ / { diff --git a/arch/m68k/dts/mcf537x.dtsi b/arch/m68k/dts/mcf537x.dtsi index 4fa0f4bc3da..82d88944f3f 100644 --- a/arch/m68k/dts/mcf537x.dtsi +++ b/arch/m68k/dts/mcf537x.dtsi @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ / { diff --git a/arch/m68k/dts/mcf5441x.dtsi b/arch/m68k/dts/mcf5441x.dtsi index 7cd6072d4a5..5c30d9f52cc 100644 --- a/arch/m68k/dts/mcf5441x.dtsi +++ b/arch/m68k/dts/mcf5441x.dtsi @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ / { diff --git a/arch/m68k/dts/mcf54xx.dtsi b/arch/m68k/dts/mcf54xx.dtsi index e9cebb9f742..c3ade7cc87c 100644 --- a/arch/m68k/dts/mcf54xx.dtsi +++ b/arch/m68k/dts/mcf54xx.dtsi @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ / { diff --git a/arch/m68k/dts/stmark2.dts b/arch/m68k/dts/stmark2.dts index 8e196fa65ff..9e1ae8214dd 100644 --- a/arch/m68k/dts/stmark2.dts +++ b/arch/m68k/dts/stmark2.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> */ /dts-v1/; diff --git a/arch/m68k/include/asm/immap_5307.h b/arch/m68k/include/asm/immap_5307.h index d96dd146efb..e41a1a9b08e 100644 --- a/arch/m68k/include/asm/immap_5307.h +++ b/arch/m68k/include/asm/immap_5307.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0+ */ /* - * (C) Copyright 2014 Angelo Dureghello <[email protected]> + * (C) Copyright 2014 Angelo Dureghello <[email protected]> * */ diff --git a/arch/m68k/include/asm/m5307.h b/arch/m68k/include/asm/m5307.h index 67547d2dd9d..223e8e5f27e 100644 --- a/arch/m68k/include/asm/m5307.h +++ b/arch/m68k/include/asm/m5307.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0+ */ /* - * (C) Copyright 2014 Angelo Dureghello <[email protected]> + * (C) Copyright 2014 Angelo Dureghello <[email protected]> * */ diff --git a/board/st/common/stm32mp_fwu.c b/board/st/common/stm32mp_fwu.c index ac7ca6bdca2..cff020a99bb 100644 --- a/board/st/common/stm32mp_fwu.c +++ b/board/st/common/stm32mp_fwu.c @@ -3,9 +3,11 @@ * Copyright (C) 2026 Amarula Solutions, Dario Binacchi <[email protected]> */ +#include <env.h> #include <fwu.h> #include <part_efi.h> #include <asm/io.h> +#include <asm/arch/stm32.h> /** * fwu_plat_get_bootidx() - Get the value of the boot index * @boot_idx: Boot index value diff --git a/board/sysam/amcore/MAINTAINERS b/board/sysam/amcore/MAINTAINERS index fe5dd9bf39c..01086ef11bb 100644 --- a/board/sysam/amcore/MAINTAINERS +++ b/board/sysam/amcore/MAINTAINERS @@ -1,5 +1,5 @@ AMCORE BOARD -M: Angelo Dureghello <[email protected]> +M: Angelo Dureghello <[email protected]> S: Maintained F: board/sysam/amcore/ F: include/configs/amcore.h diff --git a/board/sysam/amcore/Makefile b/board/sysam/amcore/Makefile index 051186f0d5c..22a71f91170 100644 --- a/board/sysam/amcore/Makefile +++ b/board/sysam/amcore/Makefile @@ -1,5 +1,5 @@ # -# (C) Copyright 2014 Angelo Dureghello <[email protected]> +# (C) Copyright 2014 Angelo Dureghello <[email protected]> # # SPDX-License-Identifier: GPL-2.0+ # diff --git a/board/sysam/amcore/amcore.c b/board/sysam/amcore/amcore.c index d5aa1f0776f..0ab9d97e865 100644 --- a/board/sysam/amcore/amcore.c +++ b/board/sysam/amcore/amcore.c @@ -2,7 +2,7 @@ /* * Board functions for Sysam AMCORE (MCF5307 based) board * - * (C) Copyright 2016 Angelo Dureghello <[email protected]> + * (C) Copyright 2016 Angelo Dureghello <[email protected]> * * This file copies memory testdram() from sandburst/common/sb_common.c */ diff --git a/board/sysam/stmark2/MAINTAINERS b/board/sysam/stmark2/MAINTAINERS index b87f432bb3f..f7b6e6d216f 100644 --- a/board/sysam/stmark2/MAINTAINERS +++ b/board/sysam/stmark2/MAINTAINERS @@ -1,5 +1,5 @@ STMARK2 BOARD -M: Angelo Dureghello <[email protected]> +M: Angelo Dureghello <[email protected]> S: Maintained F: board/sysam/stmark2/ F: include/configs/stmark2.h diff --git a/board/sysam/stmark2/Makefile b/board/sysam/stmark2/Makefile index 064a57ea05e..3c007567754 100644 --- a/board/sysam/stmark2/Makefile +++ b/board/sysam/stmark2/Makefile @@ -1,5 +1,5 @@ # -# (C) Copyright 2014 Angelo Dureghello <[email protected]> +# (C) Copyright 2014 Angelo Dureghello <[email protected]> # # SPDX-License-Identifier: GPL-2.0+ # diff --git a/board/sysam/stmark2/sbf_dram_init.S b/board/sysam/stmark2/sbf_dram_init.S index b6f38731f11..bc1a6cd20d4 100644 --- a/board/sysam/stmark2/sbf_dram_init.S +++ b/board/sysam/stmark2/sbf_dram_init.S @@ -2,7 +2,7 @@ /* * Board-specific early ddr/sdram init. * - * (C) Copyright 2017 Angelo Dureghello <[email protected]> + * (C) Copyright 2017 Angelo Dureghello <[email protected]> */ .equ PPMCR0, 0xfc04002d diff --git a/board/sysam/stmark2/stmark2.c b/board/sysam/stmark2/stmark2.c index 7818f2671d5..f0bf67c4fc4 100644 --- a/board/sysam/stmark2/stmark2.c +++ b/board/sysam/stmark2/stmark2.c @@ -2,7 +2,7 @@ /* * Board-specific init. * - * (C) Copyright 2017 Angelo Dureghello <[email protected]> + * (C) Copyright 2017 Angelo Dureghello <[email protected]> */ #include <config.h> diff --git a/configs/sc573-ezlite_defconfig b/configs/sc573-ezlite_defconfig index cbf24234cc3..f392d25bfeb 100644 --- a/configs/sc573-ezlite_defconfig +++ b/configs/sc573-ezlite_defconfig @@ -15,6 +15,7 @@ CONFIG_FIT_SIGNATURE=y CONFIG_LEGACY_IMAGE_FORMAT=y CONFIG_USE_BOOTCOMMAND=y CONFIG_BOOTCOMMAND="run ramboot" +CONFIG_DEFAULT_FDT_FILE="sc573-ezlite.dtb" CONFIG_SYS_CBSIZE=512 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set CONFIG_SPL_I2C=y diff --git a/configs/sc584-ezkit_defconfig b/configs/sc584-ezkit_defconfig index bb24b31b2c0..20728df4e00 100644 --- a/configs/sc584-ezkit_defconfig +++ b/configs/sc584-ezkit_defconfig @@ -20,6 +20,7 @@ CONFIG_FIT_SIGNATURE=y CONFIG_LEGACY_IMAGE_FORMAT=y CONFIG_USE_BOOTCOMMAND=y CONFIG_BOOTCOMMAND="run ramboot" +CONFIG_DEFAULT_FDT_FILE="sc584-ezkit.dtb" CONFIG_SYS_CBSIZE=512 CONFIG_CYCLIC_MAX_CPU_TIME_US=1000 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set diff --git a/configs/sc589-ezkit_defconfig b/configs/sc589-ezkit_defconfig index d3f0380bfed..8b210ea749b 100644 --- a/configs/sc589-ezkit_defconfig +++ b/configs/sc589-ezkit_defconfig @@ -23,6 +23,7 @@ CONFIG_FIT_SIGNATURE=y CONFIG_LEGACY_IMAGE_FORMAT=y CONFIG_USE_BOOTCOMMAND=y CONFIG_BOOTCOMMAND="run spiboot" +CONFIG_DEFAULT_FDT_FILE="sc589-ezkit.dtb" CONFIG_SYS_CBSIZE=512 CONFIG_CYCLIC_MAX_CPU_TIME_US=1000 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set diff --git a/configs/sc589-mini_defconfig b/configs/sc589-mini_defconfig index 1bdede4b739..0b24583384f 100644 --- a/configs/sc589-mini_defconfig +++ b/configs/sc589-mini_defconfig @@ -21,6 +21,7 @@ CONFIG_FIT_SIGNATURE=y CONFIG_LEGACY_IMAGE_FORMAT=y CONFIG_USE_BOOTCOMMAND=y CONFIG_BOOTCOMMAND="run spiboot" +CONFIG_DEFAULT_FDT_FILE="sc589-mini.dtb" CONFIG_SYS_CBSIZE=512 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set CONFIG_SPL_I2C=y diff --git a/configs/sc594-som-ezkit-spl_defconfig b/configs/sc594-som-ezkit-spl_defconfig index dec454d6472..1f3edf14287 100644 --- a/configs/sc594-som-ezkit-spl_defconfig +++ b/configs/sc594-som-ezkit-spl_defconfig @@ -18,6 +18,7 @@ CONFIG_FIT_SIGNATURE=y CONFIG_LEGACY_IMAGE_FORMAT=y CONFIG_USE_BOOTCOMMAND=y CONFIG_BOOTCOMMAND="run spiboot" +CONFIG_DEFAULT_FDT_FILE="sc594-som-ezkit.dtb" CONFIG_SYS_CBSIZE=512 CONFIG_SPL_I2C=y CONFIG_SPL_DM_SPI_FLASH=y diff --git a/configs/sc594-som-ezlite-spl_defconfig b/configs/sc594-som-ezlite-spl_defconfig index 9571c521176..5b54577151d 100644 --- a/configs/sc594-som-ezlite-spl_defconfig +++ b/configs/sc594-som-ezlite-spl_defconfig @@ -21,6 +21,7 @@ CONFIG_FIT_SIGNATURE=y CONFIG_LEGACY_IMAGE_FORMAT=y CONFIG_USE_BOOTCOMMAND=y CONFIG_BOOTCOMMAND="run spiboot" +CONFIG_DEFAULT_FDT_FILE="sc594-som-ezlite.dtb" CONFIG_SYS_CBSIZE=512 CONFIG_CYCLIC_MAX_CPU_TIME_US=1000 CONFIG_SPL_I2C=y diff --git a/configs/sc598-som-ezkit-spl_defconfig b/configs/sc598-som-ezkit-spl_defconfig index e9a80d11069..313c9df4905 100644 --- a/configs/sc598-som-ezkit-spl_defconfig +++ b/configs/sc598-som-ezkit-spl_defconfig @@ -36,6 +36,7 @@ CONFIG_FIT_SIGNATURE=y CONFIG_LEGACY_IMAGE_FORMAT=y CONFIG_USE_BOOTCOMMAND=y CONFIG_BOOTCOMMAND="run spiboot" +CONFIG_DEFAULT_FDT_FILE="sc598-som-ezkit.dtb" CONFIG_SYS_CBSIZE=512 CONFIG_CYCLIC_MAX_CPU_TIME_US=1000 # CONFIG_SPL_SEPARATE_BSS is not set diff --git a/configs/sc598-som-ezlite-spl_defconfig b/configs/sc598-som-ezlite-spl_defconfig index e2af0c66be8..231c7078915 100644 --- a/configs/sc598-som-ezlite-spl_defconfig +++ b/configs/sc598-som-ezlite-spl_defconfig @@ -36,6 +36,7 @@ CONFIG_FIT_SIGNATURE=y CONFIG_LEGACY_IMAGE_FORMAT=y CONFIG_USE_BOOTCOMMAND=y CONFIG_BOOTCOMMAND="run spiboot" +CONFIG_DEFAULT_FDT_FILE="sc598-som-ezlite.dtb" CONFIG_SYS_CBSIZE=512 CONFIG_CYCLIC_MAX_CPU_TIME_US=1000 # CONFIG_SPL_SEPARATE_BSS is not set diff --git a/doc/CONTRIBUTE.rst b/doc/CONTRIBUTE.rst index c7e5d9656c9..e0394515702 100644 --- a/doc/CONTRIBUTE.rst +++ b/doc/CONTRIBUTE.rst @@ -28,7 +28,7 @@ Contributions Contributions to the project are welcome. The U-Boot project uses a fairly traditional Linux style development work-flow using git and `a mailing list -<https://lists.u-boot-project.org/listinfo/u-boot>`_. +<https://lists.u-boot-project.org/mailman/listinfo/u-boot>`_. Patches should be sent to the mailing list using ``git send-email`` or the equivalent commands using ``b4`` or ``patman`` with appropriate sign-off and diff --git a/doc/arch/arc.rst b/doc/arch/arc.rst index f8e04a34f14..18556e5d372 100644 --- a/doc/arch/arc.rst +++ b/doc/arch/arc.rst @@ -8,7 +8,7 @@ that SoC designers can optimize for a wide range of uses, from deeply embedded to high-performance host applications. More information on ARC cores avaialble here: -http://www.synopsys.com/IP/ProcessorIP/ARCProcessors/Pages/default.aspx +https://mips.com/processor-solutions/arc-processors/ Designers can differentiate their products by using patented configuration technology to tailor each ARC processor instance to meet specific performance, diff --git a/doc/arch/mips.rst b/doc/arch/mips.rst index aeb58247943..70d9aa57c38 100644 --- a/doc/arch/mips.rst +++ b/doc/arch/mips.rst @@ -8,7 +8,7 @@ Notes for the MIPS architecture port of U-Boot Toolchains ---------- - * `Buildroot <http://buildroot.uclibc.org/>`_ + * `Buildroot <https://buildroot.org/>`_ * `kernel.org cross-development toolchains <https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/>`_ Known Issues diff --git a/doc/arch/nios2.rst b/doc/arch/nios2.rst index 90b4ddf387b..a825b244ab7 100644 --- a/doc/arch/nios2.rst +++ b/doc/arch/nios2.rst @@ -10,7 +10,7 @@ Please refer to the link for more information on Nios II: https://www.altera.com/products/processors/overview.html Please refer to the link for Linux port and toolchains: -http://rocketboards.org/foswiki/view/Documentation/NiosIILinuxUserManual +https://rocketboards.org/foswiki/view/Documentation/NiosIILinuxUserManual The Nios II port of u-boot is controlled by device tree. Please check out :doc:`/develop/devicetree/control`. diff --git a/doc/arch/sh.rst b/doc/arch/sh.rst index 3e3759d68b2..87ccab237c4 100644 --- a/doc/arch/sh.rst +++ b/doc/arch/sh.rst @@ -73,7 +73,6 @@ Compiler -------- You can use the following of u-boot to compile. - `SuperH Linux Open site <http://www.superh-linux.org/>`_ - - `KPIT GNU tools <http://www.kpitgnutools.com/>`_ Future ------ diff --git a/doc/arch/x86/manual_boot.rst b/doc/arch/x86/manual_boot.rst index 87ebda2e3dd..649aceef608 100644 --- a/doc/arch/x86/manual_boot.rst +++ b/doc/arch/x86/manual_boot.rst @@ -272,5 +272,5 @@ and change CONFIG_BOOTARGS value in configs/minnowmax_defconfig to:: CONFIG_BOOTARGS="root=/dev/sda2 ro" .. _here: https://en.wikipedia.org/wiki/GUID_Partition_Table -.. _this: http://events.linuxfoundation.org/sites/events/files/slides/chromeos_and_diy_vboot_0.pdf -.. _that: http://events.linuxfoundation.org/sites/events/files/slides/elce-2014.pdf +.. _this: http://events.static.linuxfound.org/sites/events/files/slides/chromeos_and_diy_vboot_0.pdf +.. _that: http://events.static.linuxfound.org/sites/events/files/slides/elce-2014.pdf diff --git a/doc/arch/x86/x86.rst b/doc/arch/x86/x86.rst index f67216d6ce0..9ba5c289337 100644 --- a/doc/arch/x86/x86.rst +++ b/doc/arch/x86/x86.rst @@ -185,14 +185,14 @@ These notes are for those who want to port U-Boot to a new x86 platform. Since x86 CPUs boot from SPI flash, a SPI flash emulator is a good investment. The Dediprog em100 can be used on Linux. -The em100 tool is available here: http://review.coreboot.org/p/em100.git +The em100 tool is available here: https://review.coreboot.org/admin/repos/em100,general On Minnowboard Max the following command line can be used:: sudo em100 -s -p LOW -d u-boot.rom -c W25Q64DW -r A suitable clip for connecting over the SPI flash chip is here: -http://www.dediprog.com/pd/programmer-accessories/EM-TC-8. +https://www.dediprog.com/product/EM-TC-8. This allows you to override the SPI flash contents for development purposes. Typically you can write to the em100 in around 1200ms, considerably faster @@ -242,7 +242,7 @@ debug serial port may be useful here. See setup_internal_uart() for an example. During the U-Boot porting, one of the important steps is to write correct PIRQ routing information in the board device tree. Without it, device drivers in the Linux kernel won't function correctly due to interrupt is not working. Please -refer to U-Boot `doc <doc/device-tree-bindings/misc/intel,irq-router.txt>`_ for +refer to :download:`intel,irq-router.txt <../../device-tree-bindings/misc/intel,irq-router.txt>` for the device tree bindings of Intel interrupt router. Here we have more details on the intel,pirq-routing property below. @@ -480,10 +480,10 @@ TODO List - Audio - Chrome OS verified boot -.. _coreboot: http://www.coreboot.org -.. _QEMU: http://www.qemu.org -.. _microcode: http://en.wikipedia.org/wiki/Microcode -.. _SFI: http://simplefirmware.org -.. _MP: http://www.intel.com/design/archives/processors/pro/docs/242016.htm -.. _SeaBIOS: http://www.seabios.org/SeaBIOS -.. _ACPI: http://www.acpi.info +.. _coreboot: https://www.coreboot.org +.. _QEMU: https://www.qemu.org +.. _microcode: https://en.wikipedia.org/wiki/Microcode +.. _SFI: https://en.wikipedia.org/wiki/Simple_Firmware_Interface +.. _MP: https://en.wikipedia.org/wiki/MultiProcessor_Specification +.. _SeaBIOS: https://www.seabios.org/ +.. _ACPI: https://uefi.org/acpi/specs diff --git a/doc/board/allwinner/sunxi.rst b/doc/board/allwinner/sunxi.rst index d0c89b956b1..5c2406d3959 100644 --- a/doc/board/allwinner/sunxi.rst +++ b/doc/board/allwinner/sunxi.rst @@ -312,7 +312,7 @@ also be uploaded via FEL, check the Wiki's `FEL page`_ for more details. .. _`configs/`: https://github.com/crust-firmware/crust/tree/master/configs .. _`crust README`: https://github.com/crust-firmware/crust/blob/master/README.md#building-the-firmware .. _`linux-sunxi`: https://linux-sunxi.org -.. _`MTD utils`: http://www.linux-mtd.infradead.org/ +.. _`MTD utils`: http://linux-mtd.infradead.org/ .. _`magic binary`: https://github.com/linux-sunxi/sunxi-tools/raw/master/bin/fel-sdboot.sunxi .. _`sunxi_fel`: https://github.com/linux-sunxi/sunxi-tools .. _`FEL page`: https://linux-sunxi.org/FEL/USBBoot diff --git a/doc/board/amlogic/index.rst b/doc/board/amlogic/index.rst index 23380ac33f2..e8bb421ed8c 100644 --- a/doc/board/amlogic/index.rst +++ b/doc/board/amlogic/index.rst @@ -6,7 +6,7 @@ Amlogic Hardware Support Matrix ----------------------- -An up-do-date matrix is also available on: http://linux-meson.com +An up-do-date matrix is also available on: https://linux-meson.com This matrix concerns the actual source code version. diff --git a/doc/board/amlogic/jethub-j100.rst b/doc/board/amlogic/jethub-j100.rst index cbf1ea76107..053d5aa57ec 100644 --- a/doc/board/amlogic/jethub-j100.rst +++ b/doc/board/amlogic/jethub-j100.rst @@ -3,7 +3,7 @@ U-Boot for JetHub J100/J110 (A113X) =================================== -JetHome Jethub D1/D1+ (http://jethome.ru/jethub-d1p) is a home automation controller device +JetHome Jethub D1/D1+ (https://jethome.com/d1p/) is a home automation controller device manufactured by JetHome with the following specifications: - Amlogic A113X (ARM Cortex-A53) quad-core up to 1.5GHz diff --git a/doc/board/amlogic/jethub-j80.rst b/doc/board/amlogic/jethub-j80.rst index 9195df69050..c3800f9588a 100644 --- a/doc/board/amlogic/jethub-j80.rst +++ b/doc/board/amlogic/jethub-j80.rst @@ -3,7 +3,7 @@ U-Boot for JetHub J80 (S905W) ============================= -JetHome Jethub H1 (http://jethome.ru/jethub-h1) is a home automation controller device +JetHome Jethub H1 (https://jethome.ru/h1/?variation_id=56) is a home automation controller device manufactured by JetHome with the following specifications: - Amlogic S905W (ARM Cortex-A53) quad-core up to 1.5GHz diff --git a/doc/board/google/chromebook_link.rst b/doc/board/google/chromebook_link.rst index 16080304d6e..f59fc467332 100644 --- a/doc/board/google/chromebook_link.rst +++ b/doc/board/google/chromebook_link.rst @@ -13,7 +13,7 @@ First, you need the following binary blobs: You can get these binary blobs by:: - $ git clone http://review.coreboot.org/p/blobs.git + $ git clone https://review.coreboot.org/blobs $ cd blobs Find the following files: diff --git a/doc/board/highbank/highbank.rst b/doc/board/highbank/highbank.rst index 654ef8a0269..21d76436b36 100644 --- a/doc/board/highbank/highbank.rst +++ b/doc/board/highbank/highbank.rst @@ -73,6 +73,6 @@ existing U-Boot, and execute it with bootm:: => tftpboot 0x8000 u-boot-highbank.img => bootm -.. _`ipmitool`: https://github.com/Cynerva/ipmitool +.. _`ipmitool`: https://codeberg.org/IPMITool/ipmitool .. _`pyipmi`: https://pypi.org/project/pyipmi/ -.. _`management script`: https://github.com/Cynerva/cxmanage +.. _`management script`: https://pypi.org/project/cxmanage/ diff --git a/doc/board/nxp/mx6ullevk.rst b/doc/board/nxp/mx6ullevk.rst index a26248a1e3b..0a7d2616f58 100644 --- a/doc/board/nxp/mx6ullevk.rst +++ b/doc/board/nxp/mx6ullevk.rst @@ -42,6 +42,4 @@ Connect the USB cable between the EVK and the PC for the console. Insert the micro SD card in the board, power it up and U-Boot messages should come up. -The link for the board: http://www.nxp.com/products/microcontrollers-and- \ -processors/arm-processors/i.mx-applications-processors/i.mx-6-processors/ \ -i.mx6qp/evaluation-kit-for-the-i.mx-6ull-applications-processor:MCIMX6ULL-EVK +The link for the board: https://www.nxp.com/design/design-center/development-boards-and-designs/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-6ull-and-6ulz-applications-processor:MCIMX6ULL-EVK diff --git a/doc/board/renesas/rcar-gen3-draak.rst b/doc/board/renesas/rcar-gen3-draak.rst index 7b94eaa4b23..061ecd05291 100644 --- a/doc/board/renesas/rcar-gen3-draak.rst +++ b/doc/board/renesas/rcar-gen3-draak.rst @@ -16,7 +16,7 @@ newly cloned source directory: .. code-block:: console - $ git clone https://source.denx.de/u-boot/u-boot.git/ + $ git clone https://git.u-boot-project.org/u-boot/u-boot.git $ cd u-boot Configure U-Boot: diff --git a/doc/board/renesas/rcar-gen3-ebisu.rst b/doc/board/renesas/rcar-gen3-ebisu.rst index f9632705abc..a41f736a767 100644 --- a/doc/board/renesas/rcar-gen3-ebisu.rst +++ b/doc/board/renesas/rcar-gen3-ebisu.rst @@ -16,7 +16,7 @@ newly cloned source directory: .. code-block:: console - $ git clone https://source.denx.de/u-boot/u-boot.git/ + $ git clone https://git.u-boot-project.org/u-boot/u-boot.git $ cd u-boot Configure U-Boot: diff --git a/doc/board/renesas/rcar-gen3-geist.rst b/doc/board/renesas/rcar-gen3-geist.rst index 7bedb3a79cb..63abb3e22b4 100644 --- a/doc/board/renesas/rcar-gen3-geist.rst +++ b/doc/board/renesas/rcar-gen3-geist.rst @@ -14,7 +14,7 @@ newly cloned source directory: .. code-block:: console - $ git clone https://source.denx.de/u-boot/u-boot.git/ + $ git clone https://git.u-boot-project.org/u-boot/u-boot.git $ cd u-boot Configure U-Boot: diff --git a/doc/board/renesas/rcar-gen3-salvator-x.rst b/doc/board/renesas/rcar-gen3-salvator-x.rst index 37f009452e5..a6ef15a6da4 100644 --- a/doc/board/renesas/rcar-gen3-salvator-x.rst +++ b/doc/board/renesas/rcar-gen3-salvator-x.rst @@ -17,7 +17,7 @@ newly cloned source directory: .. code-block:: console - $ git clone https://source.denx.de/u-boot/u-boot.git/ + $ git clone https://git.u-boot-project.org/u-boot/u-boot.git $ cd u-boot Configure U-Boot: diff --git a/doc/board/renesas/rcar-gen3-ulcb.rst b/doc/board/renesas/rcar-gen3-ulcb.rst index 88ec2276a36..01e15fa29b6 100644 --- a/doc/board/renesas/rcar-gen3-ulcb.rst +++ b/doc/board/renesas/rcar-gen3-ulcb.rst @@ -18,7 +18,7 @@ newly cloned source directory: .. code-block:: console - $ git clone https://source.denx.de/u-boot/u-boot.git/ + $ git clone https://git.u-boot-project.org/u-boot/u-boot.git $ cd u-boot Configure U-Boot: diff --git a/doc/board/renesas/rcar-gen4-sparrow-hawk.rst b/doc/board/renesas/rcar-gen4-sparrow-hawk.rst index 7d006a3d2b1..6b9e21bdf1b 100644 --- a/doc/board/renesas/rcar-gen4-sparrow-hawk.rst +++ b/doc/board/renesas/rcar-gen4-sparrow-hawk.rst @@ -17,7 +17,7 @@ newly cloned source directory: .. code-block:: console - $ git clone https://source.denx.de/u-boot/u-boot.git/ + $ git clone https://git.u-boot-project.org/u-boot/u-boot.git $ cd u-boot Configure U-Boot: diff --git a/doc/board/renesas/rcar-gen5-ironhide.rst b/doc/board/renesas/rcar-gen5-ironhide.rst index 0e775a88f8d..31a5bb14ae6 100644 --- a/doc/board/renesas/rcar-gen5-ironhide.rst +++ b/doc/board/renesas/rcar-gen5-ironhide.rst @@ -22,7 +22,7 @@ newly cloned source directory: .. code-block:: console - $ git clone https://source.denx.de/u-boot/u-boot.git/ + $ git clone https://git.u-boot-project.org/u-boot/u-boot.git $ cd u-boot Configure U-Boot: @@ -71,7 +71,7 @@ newly cloned source directory: .. code-block:: console - $ git clone https://source.denx.de/u-boot/u-boot.git/ + $ git clone https://git.u-boot-project.org/u-boot/u-boot.git $ cd u-boot Configure U-Boot: diff --git a/doc/board/siemens/iot2050.rst b/doc/board/siemens/iot2050.rst index 37b23f6146b..2c0a324485c 100644 --- a/doc/board/siemens/iot2050.rst +++ b/doc/board/siemens/iot2050.rst @@ -25,7 +25,7 @@ ATF: Upstream release 2.4 or newer OP-TEE: Upstream release 3.10.0 or newer Binary dependencies can be found in -https://github.com/siemens/meta-iot2050/tree/master/recipes-bsp/u-boot/files/prebuild. +https://github.com/siemens/meta-iot2050/tree/master/meta/recipes-bsp/u-boot/files/prebuild. The following binaries from that source need to be present in the build folder: - seboot_pg1.bin @@ -44,7 +44,7 @@ needs to be present in the build folder: - otpcmd.bin Regarding how to generating this otpcmd.bin, please refer to: -https://github.com/siemens/meta-iot2050/tree/master/recipes-bsp/secure-boot-otp-provisioning/files/make-otpcmd.sh +https://github.com/siemens/meta-iot2050/blob/master/meta/recipes-bsp/secure-boot-otp-provisioning/files/make-otpcmd.sh Building -------- diff --git a/doc/board/sipeed/maix.rst b/doc/board/sipeed/maix.rst index 4568bb3e4b7..9bbc2a93c5b 100644 --- a/doc/board/sipeed/maix.rst +++ b/doc/board/sipeed/maix.rst @@ -19,7 +19,7 @@ Currently, only the Sipeed MAIX BiT V2.0 (bitm) and Sipeed MAIXDUINO are supported, but the boards are fairly similar. Documentation for Maix boards is available from -`Sipeed's website <http://dl.sipeed.com/MAIX/HDK/>`_. +`Sipeed's website <https://dl.sipeed.com/MAIX/HDK/>`_. Documentation for the Kendryte K210 is available from `Kendryte's website <https://kendryte.com/downloads/>`_. However, hardware details are rather lacking, so most technical reference has been taken from the diff --git a/doc/board/tbs/tbs2910.rst b/doc/board/tbs/tbs2910.rst index 9d4be61783e..4f2838bc9bd 100644 --- a/doc/board/tbs/tbs2910.rst +++ b/doc/board/tbs/tbs2910.rst @@ -187,5 +187,5 @@ Links: ------ - https://www.tbsdtv.com/download/document/tbs2910/TBS2910-Matrix-ARM-mini-PC-SCH_rev2.1.pdf - The schematics for the revision 2.1 of the TBS2910 Matrix ARM miniPC. - - https://cache.freescale.com/files/32bit/doc/ref_manual/IMX6DQRM.pdf - The + - https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX-6DQ-Reference-Manual-IMX6DQRM-R2-Part-1/ta-p/1115983 - The SoC reference manual for additional details on the BOOT_CFG registers. diff --git a/doc/build/gen_compile_commands.rst b/doc/build/gen_compile_commands.rst index 5eb9e4ccb0a..e67263eb82f 100644 --- a/doc/build/gen_compile_commands.rst +++ b/doc/build/gen_compile_commands.rst @@ -61,7 +61,7 @@ manage build configurations and code analysis. Some of these IDEs include: 3. **Qt Creator**: Qt Creator, a popular IDE for Qt development, also supports compile_commands.json for C/C++ projects. Instructions on how to use this feature can be found at - https://doc.qt.io/qtcreator/creator-clang-codemodel.html#using-compilation-databases. + https://doc.qt.io/qtcreator/creator-how-to-use-compilation-databases.html 4. **Eclipse CDT**: Eclipse's C/C++ Development Tools (CDT) can be configured to use JSON compilation databases for better project management. diff --git a/doc/chromium/chainload.rst b/doc/chromium/chainload.rst index 0f61e020db8..6f8a134c94b 100644 --- a/doc/chromium/chainload.rst +++ b/doc/chromium/chainload.rst @@ -34,7 +34,7 @@ Snow (Samsung ARM Chromebook) See here: -https://www.chromium.org/chromium-os/firmware-porting-guide/using-nv-u-boot-on-the-samsung-arm-chromebook +https://chromium.googlesource.com/playground/chromium-org-site/+/refs/heads/main/chromium-os/firmware-porting-guide/using-nv-u-boot-on-the-samsung-arm-chromebook.md Nyan-big diff --git a/doc/chromium/overview.rst b/doc/chromium/overview.rst index 790233cb668..97e2777691c 100644 --- a/doc/chromium/overview.rst +++ b/doc/chromium/overview.rst @@ -13,7 +13,7 @@ available: - Running U-Boot from the 'altfw' feature, which is available on selected Chromebooks from 2019 onwards (initially Grunt). Press '1' from the developer-mode screen to get into U-Boot. See here for details: - https://chromium.googlesource.com/chromiumos/docs/+/HEAD/developer_mode.md + https://www.chromium.org/chromium-os/developer-library/guides/device/developer-mode/ - Running U-Boot from the disk partition. This involves signing U-Boot and placing it on the disk, for booting as a 'kernel'. See @@ -44,7 +44,7 @@ Here is some material relevant to Chromium OS verified boot with U-Boot: - Author: Simon Glass - Presented at Open Source Firmware Conference 2018, Erlangen - Describes the work in progress as at the end of 2018 - - Slides at `OSFC <https://2018.osfc.io/uploads/talk/paper/26/U-Boot_with_Chrome_OS_and_firmware_packaging.pdf>`_ + - Slides at `OSFC <https://pretalx.com/media/osfc2018/submissions/YBHYHA/resources/U-Boot_with_Chrome_OS_and_firmware_packaging_Rju11gX.pdf>`_ - `Youtube video 'OSFC - U-Boot with Chrome OS and firmware packaging' <https://www.youtube.com/watch?v=1jknxUvmwpo>`_ - "Verified Boot in Chrome OS and how to make it work for you" @@ -57,7 +57,7 @@ Here is some material relevant to Chromium OS verified boot with U-Boot: spring (`HP Chromebook 11 <https://www.cnet.com/products/hp-chromebook-11-g2-11-6-exynos-5250-4-gb-ram-16-gb-emmc/>`_) and pit/pi (`Samsung Chromebook 2 <https://www.cnet.com/products/samsung-chromebook-2-xe503c12-11-6-exynos-5-octa-4-gb-ram-16-gb-ssd/>`_ with Exynos 5 Octa 5420 in 2014). - - Slides at `Google research <https://research.google/pubs/pub42038/>`_ + - Slides at `Google research <https://elinux.org/images/0/05/Glass-chromeos_and_diy_vboot_0.pdf>`_ - `Youtube video 'Verified Boot on Chrome OS and How to do it yourself' <https://www.youtube.com/watch?v=kdpZC9jFzZA>`_ - "Chrome University 2018: Chrome OS Firmware and Verified Boot 201" @@ -71,4 +71,4 @@ Here is some material relevant to Chromium OS verified boot with U-Boot: - `Chromium OS U-Boot <https://www.chromium.org/developers/u-boot>`_ - - `Firmware porting Guide <https://www.chromium.org/chromium-os/firmware-porting-guide>`_ + - `Firmware porting Guide <https://www.chromium.org/chromium-os/developer-library/guides/firmware/firmware-porting-guide/>`_ diff --git a/doc/develop/bootstd/overview.rst b/doc/develop/bootstd/overview.rst index ec9fafa0fa0..cf8ef419d4b 100644 --- a/doc/develop/bootstd/overview.rst +++ b/doc/develop/bootstd/overview.rst @@ -882,7 +882,7 @@ Other ideas: .. _distro_bootcmd: https://github.com/u-boot/u-boot/blob/master/include/config_distro_bootcmd.h -.. _BootLoaderSpec: http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/ -.. _distro_boot: https://github.com/u-boot/u-boot/blob/master/boot/distro.c +.. _BootLoaderSpec: https://uapi-group.org/specifications/specs/boot_loader_specification/ +.. _distro_boot: https://github.com/u-boot/u-boot/blob/v2023.04/boot/bootmeth_distro.c .. _bootflow_h: https://github.com/u-boot/u-boot/blob/master/include/bootflow.h .. _migrate_patch: https://patchwork.ozlabs.org/project/uboot/patch/[email protected]/ diff --git a/doc/develop/coccinelle.rst b/doc/develop/coccinelle.rst index 70274c3f5f5..d0ad803fc7b 100644 --- a/doc/develop/coccinelle.rst +++ b/doc/develop/coccinelle.rst @@ -34,7 +34,7 @@ of many distributions, e.g. : Some distribution packages are obsolete and it is recommended to use the latest version released from the Coccinelle homepage at -http://coccinelle.lip6.fr/ +https://coccinelle.gitlabpages.inria.fr/website/ Or from Github at: @@ -58,15 +58,9 @@ https://github.com/coccinelle/coccinelle/blob/master/install.txt Supplemental documentation -------------------------- -For supplemental documentation refer to the wiki: - -https://bottest.wiki.kernel.org/coccicheck - -The wiki documentation always refers to the linux-next version of the script. - For Semantic Patch Language(SmPL) grammar documentation refer to: -http://coccinelle.lip6.fr/documentation.php +https://coccinelle.gitlabpages.inria.fr/website/documentation.html Using Coccinelle on the Linux kernel ------------------------------------ diff --git a/doc/develop/driver-model/fs_firmware_loader.rst b/doc/develop/driver-model/fs_firmware_loader.rst index 149b8b436ec..630daf636f1 100644 --- a/doc/develop/driver-model/fs_firmware_loader.rst +++ b/doc/develop/driver-model/fs_firmware_loader.rst @@ -6,7 +6,7 @@ File System Firmware Loader This is file system firmware loader for U-Boot framework, which has very close to some Linux Firmware API. For the details of Linux Firmware API, you can refer -to https://01.org/linuxgraphics/gfx-docs/drm/driver-api/firmware/index.html. +to https://docs.kernel.org/driver-api/firmware/index.html. File system firmware loader can be used to load whatever(firmware, image, and binary) from the storage device in file system format into target location diff --git a/doc/develop/driver-model/virtio.rst b/doc/develop/driver-model/virtio.rst index 9a5e3240c3c..e5da9f4301c 100644 --- a/doc/develop/driver-model/virtio.rst +++ b/doc/develop/driver-model/virtio.rst @@ -284,5 +284,5 @@ for the remove method to be called before jumping to OS. 6. do funny stuff with the driver -.. _VirtIO: http://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.pdf +.. _VirtIO: https://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.pdf .. _QEMU: https://www.qemu.org diff --git a/doc/develop/process.rst b/doc/develop/process.rst index 3c783ed5a0e..8ade440d84b 100644 --- a/doc/develop/process.rst +++ b/doc/develop/process.rst @@ -236,7 +236,7 @@ Tooling There are a number of tools available to help custodians and contributors alike with their contributions. As a project we make use of -the Patchwork project hosted at `OzLabs <http://patchwork.ozlabs.org/>`__ +the Patchwork project hosted at `OzLabs <https://patchwork.ozlabs.org/>`__ and more discussion on how it is used from both a contributor as well as custodian point of view can be found :ref:`here <patchwork>`. diff --git a/doc/develop/release_cycle.rst b/doc/develop/release_cycle.rst index a9f936c3dd8..d6b2d22697d 100644 --- a/doc/develop/release_cycle.rst +++ b/doc/develop/release_cycle.rst @@ -75,7 +75,7 @@ For the next scheduled release, release candidates were made on: * U-Boot |next_ver|-rc2 was released on Mon 10 August 2026. -.. * U-Boot |next_ver|-rc3 was released on Mon 24 August 2026. +* U-Boot |next_ver|-rc3 was released on Mon 24 August 2026. .. * U-Boot |next_ver|-rc4 was released on Mon 07 September 2026. diff --git a/doc/develop/sending_patches.rst b/doc/develop/sending_patches.rst index 8172dc55183..b4f82eb18e1 100644 --- a/doc/develop/sending_patches.rst +++ b/doc/develop/sending_patches.rst @@ -5,7 +5,7 @@ Sending patches *Before you begin* to implement any new ideas or concepts it is always a good idea to present your plans on the `U-Boot mailing list -<https://lists.u-boot-project.org/listinfo/u-boot>`_. U-Boot supports a huge amount of +<https://lists.u-boot-project.org/mailman/listinfo/u-boot>`_. U-Boot supports a huge amount of very different systems, and it is often impossible for the individual developer to oversee the consequences of a specific change to all architectures. Discussing concepts early can help you to avoid spending effort on code which, @@ -15,7 +15,7 @@ resource - use it. Being familiar with the :doc:`process` is also important. A good introduction how to prepare for submitting patches can be found in the LWN article `How to Get Your Change Into the Linux Kernel -<http://lwn.net/Articles/139918/>`_ as the same rules apply to U-Boot, too. +<https://lwn.net/Articles/139918/>`_ as the same rules apply to U-Boot, too. .. _b4_contrib: @@ -87,7 +87,7 @@ General Patch Submission Rules ------------------------------ * All patches must be sent to the `[email protected] - <https://lists.u-boot-project.org/listinfo/u-boot>`_ mailing list. + <https://lists.u-boot-project.org/mailman/listinfo/u-boot>`_ mailing list. * If your patch affects the code maintained by one of the :ref:`custodians`, CC them when emailing your patch. The easiest way to make sure you don't forget @@ -142,10 +142,6 @@ General Patch Submission Rules like wrapping of longer lines etc. The best way to send patches is by not using your regular mail tool, but by using either ``git send-email`` or the ``git imap-send`` command instead. - If you believe you need to use a mailing list for testing (instead of any - regular mail address you own), we have a special test list for such purposes. - It would be best to subscribe to the list for the duration of your tests to - avoid repeated moderation - see https://lists.u-boot-project.org/listinfo/test * Choose a meaningful Subject: - keep in mind that the Subject will also be visible as headline of your commit message. Make sure the subject does not @@ -317,7 +313,7 @@ to observe the following rules. Note: it is *not* sufficient to provide a change log in some cover letter that gets sent as a separate message with the patch series. The reason is that such cover letters are not as easily reviewed in our `patchwork queue - <http://patchwork.ozlabs.org/project/uboot/list/>`_ so they are not helpful + <https://patchwork.ozlabs.org/project/uboot/list/>`_ so they are not helpful to any reviewers using this tool. Example:: From: Joe Hacker <[email protected]> @@ -353,15 +349,15 @@ posted before, look up the old threads, and then manually compare if anything has been changed, or what. If you have problems with your e-mail client, for example because it mangles -white space or wraps long lines, then please read this article about `Email -Clients and Patches <http://kerneltrap.org/Linux/Email_Clients_and_Patches>`_. +white space or wraps long lines, then please read this about `Email +Clients and Patches <https://docs.kernel.org/process/email-clients.html>`_. Notes ----- 1. U-Boot is Free Software that can redistributed and/or modified under the terms of the `GNU General Public License - <http://www.fsf.org/licensing/licenses/gpl.html>`_ (GPL). Currently (August + <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>`_ (GPL). Currently (August 2022) version 2 of the GPL applies. Please see :download:`Licensing <../../Licenses/README>` for details. To allow that later versions of U-Boot may be released under a later version of the GPL, all new code that gets @@ -384,12 +380,12 @@ Notes Patch Tracking -------------- -Like some other projects, U-Boot uses `Patchwork <http://patchwork.ozlabs.org/>`__ +Like some other projects, U-Boot uses `Patchwork <https://patchwork.ozlabs.org/>`__ to track the state of patches. This is one of the reasons why it is mandatory to submit all patches to the U-Boot mailing list - only then they will be picked up by patchwork. -At http://patchwork.ozlabs.org/project/uboot/list/ you can find the list of +At https://patchwork.ozlabs.org/project/uboot/list/ you can find the list of open U-Boot patches. By using the "Filters" link (Note: requires JavaScript) you can also select other views, for example, to include old patches that have, for example, already been applied or rejected. @@ -474,14 +470,13 @@ Apply patches ^^^^^^^^^^^^^ To apply a patch from the `patchwork queue -<http://patchwork.ozlabs.org/project/uboot/list/>`_ using ``git``, download the +<https://patchwork.ozlabs.org/project/uboot/list/>`_ using ``git``, download the mbox file and apply it using:: git am file -The `openembedded wiki <http://wiki.openembedded.net/>`_ also provides a script -named `pw-am.sh -<http://cgit.openembedded.org/cgit.cgi/openembedded/tree/contrib/patchwork/pw-am.sh>`_ +OpenEmbedded also provides a script named `pw-am.sh +<https://git.openembedded.org/openembedded/tree/contrib/patchwork/pw-am.sh>`_ which can be used to fetch an 'mbox' patch from patchwork and git am it:: usage: pw-am.sh <number> @@ -500,7 +495,7 @@ The `pwclient` command line tool can be used for example to retrieve patches, search the queue or update the state. All necessary information for `pwclient` is linked from the bottom of -http://patchwork.ozlabs.org/project/uboot/ +https://patchwork.ozlabs.org/project/uboot/ Use:: @@ -511,4 +506,4 @@ for an overview on how to use it. pwparser ^^^^^^^^ -See http://www.mail-archive.com/[email protected]/msg00057.html +See https://lists.ozlabs.org/pipermail/patchwork/2010-January/000186.html diff --git a/doc/develop/tests_writing.rst b/doc/develop/tests_writing.rst index 1a020caa411..1a6d13f6c7c 100644 --- a/doc/develop/tests_writing.rst +++ b/doc/develop/tests_writing.rst @@ -236,7 +236,7 @@ Include ``test/ut.h`` defines a number of macros to check values and to return from the test function if the assertion fails. See :doc:`../api/test` for details. -[1] https://gitlab.denx.de/u-boot/u-boot/-/commit/9fe064646d2 +[1] https://git.u-boot-project.org/u-boot/u-boot/-/commit/9fe064646d Add a new driver model test @@ -282,7 +282,7 @@ implementations work as expected. Example commit: c48cb7ebfb4 ("sandbox: add ADC unit tests") [1] -[1] https://gitlab.denx.de/u-boot/u-boot/-/commit/c48cb7ebfb4 +[1] https://git.u-boot-project.org/u-boot/u-boot/-/commit/c48cb7ebfb4 Add a new test suite diff --git a/doc/develop/uefi/iscsi.rst b/doc/develop/uefi/iscsi.rst index 51d38cde243..104ef87705f 100644 --- a/doc/develop/uefi/iscsi.rst +++ b/doc/develop/uefi/iscsi.rst @@ -125,17 +125,17 @@ iPXE For running iPXE on arm64 the bin-arm64-efi/snp.efi build target is needed:: - git clone http://git.ipxe.org/ipxe.git + git clone https://github.com/ipxe/ipxe cd ipxe/src make bin-arm64-efi/snp.efi -j6 EMBED=myscript.ipxe The available commands for the boot script are documented at: -http://ipxe.org/cmd +https://ipxe.org/cmd Credentials are managed as environment variables. These are described here: -http://ipxe.org/cfg +https://ipxe.org/cfg iPXE by default will put the CPU to rest when waiting for input. U-Boot does not wake it up due to missing interrupt support. To avoid this behavior create diff --git a/doc/develop/uefi/uefi.rst b/doc/develop/uefi/uefi.rst index 6fd1db6606d..94ddf690440 100644 --- a/doc/develop/uefi/uefi.rst +++ b/doc/develop/uefi/uefi.rst @@ -703,7 +703,7 @@ We need to preset the "httpserverip" environment variable to proceed the wget:: UEFI HTTP(s) Boot using lwIP ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Similar to the above U-Boot can do EFI HTTP boot using lwIP. If we combine this -with Mbed TLS we can also download from https:// +with Mbed TLS we can also download from HTTPS. HTTP(s) Boot can be activated by specifying:: diff --git a/doc/git-mailrc b/doc/git-mailrc index f0ba30a5c74..5a78376aa77 100644 --- a/doc/git-mailrc +++ b/doc/git-mailrc @@ -17,7 +17,7 @@ alias ag Anatolij Gustschin <[email protected]> alias agraf Alexander Graf <[email protected]> alias alexnemirovsky Alex Nemirovsky <[email protected]> alias alisonwang Alison Wang <[email protected]> -alias angelo_ts Angelo Dureghello <[email protected]> +alias angelo_ts Angelo Dureghello <[email protected]> alias apritzel Andre Przywara <[email protected]> alias bmeng Bin Meng <[email protected]> alias danielschwierzeck Daniel Schwierzeck <[email protected]> diff --git a/doc/index.rst b/doc/index.rst index 6fe8ca0788b..7397baeee0a 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -9,7 +9,7 @@ This is the top level of the U-Boot's documentation tree. U-Boot documentation, like the U-Boot itself, is very much a work in progress; that is especially true as we work to integrate our many scattered documents into a coherent whole. Please note that improvements to the -documentation are welcome; join the U-Boot list at http://lists.u-boot-project.org +documentation are welcome; join the U-Boot list at https://lists.u-boot-project.org/mailman/listinfo/u-boot if you want to help out. .. toctree:: diff --git a/doc/learn/talks.rst b/doc/learn/talks.rst index d65e3b92be1..0eca2daf803 100644 --- a/doc/learn/talks.rst +++ b/doc/learn/talks.rst @@ -8,8 +8,7 @@ learn a bit about U-Boot: * `Tutorial: Introduction to the Embedded Boot Loader U-boot - Behan Webster, Converse in Code <https://www.youtube.com/watch?v=INWghYZH3hI>`__ - from Embedded Linux Conference 2020 - (`slides <https://cm.e-ale.org/2020/ELC2020/intro-to-u-boot/intro-to-u-boot-2020.pdf>`__). + from Embedded Linux Conference 2020. * `Recent Advances in U-Boot - Simon Glass, Google Inc. <https://www.youtube.com/watch?v=YlJBsVZJkDI>`__ diff --git a/doc/usage/dfu.rst b/doc/usage/dfu.rst index c825cdcbe5c..987f287b483 100644 --- a/doc/usage/dfu.rst +++ b/doc/usage/dfu.rst @@ -334,7 +334,7 @@ When U-Boot runs the dfu stack, the DFU host tools can be used to send/receive firmware images on each configured alternate. For example dfu-util is a host side implementation of the DFU 1.1 -specifications(http://dfu-util.sourceforge.net/) which works with U-Boot. +specifications(https://dfu-util.sourceforge.net/) which works with U-Boot. Usage ----- diff --git a/doc/usage/pxe.rst b/doc/usage/pxe.rst index 18532f182d5..523bf9f565e 100644 --- a/doc/usage/pxe.rst +++ b/doc/usage/pxe.rst @@ -30,7 +30,7 @@ Commands try. The order and contents of paths it tries mirrors exactly that of PXELINUX - you can read in more detail about it at: - http://syslinux.zytor.com/wiki/index.php/Doc/pxelinux + https://wiki.syslinux.org/wiki/index.php?title=Doc/pxelinux ``pxe boot`` **Syntax:** ``pxe boot [pxefile_addr_r]`` @@ -130,7 +130,7 @@ pxe file format --------------- The pxe file format is nearly a subset of the PXELINUX file format; -see http://syslinux.zytor.com/wiki/index.php/PXELINUX. It's composed +see https://wiki.syslinux.org/wiki/index.php?title=PXELINUX. It's composed of one line commands - global commands, and commands specific to labels. Lines beginning with # are treated as comments. White space between and at the beginning of lines is ignored. diff --git a/drivers/Makefile b/drivers/Makefile index 4c7ba741acb..269c3db12e8 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -32,6 +32,7 @@ obj-$(CONFIG_$(PHASE_)PHY) += phy/ obj-$(CONFIG_$(PHASE_)PINCTRL) += pinctrl/ obj-$(CONFIG_$(PHASE_)POWER) += power/ obj-$(CONFIG_$(PHASE_)RAM) += ram/ +obj-$(CONFIG_$(PHASE_)DM_RNG) += rng/ obj-$(CONFIG_$(PHASE_)RTC) += rtc/ obj-$(CONFIG_$(PHASE_)SERIAL) += serial/ obj-$(CONFIG_$(PHASE_)SPI) += spi/ @@ -132,7 +133,6 @@ obj-$(CONFIG_W1_EEPROM) += w1-eeprom/ obj-$(CONFIG_MACH_PIC32) += ddr/microchip/ obj-$(CONFIG_FUZZ) += fuzz/ obj-$(CONFIG_DM_HWSPINLOCK) += hwspinlock/ -obj-$(CONFIG_$(PHASE_)DM_RNG) += rng/ endif obj-y += soc/ diff --git a/drivers/ram/stm32mp1/stm32mp1_interactive.c b/drivers/ram/stm32mp1/stm32mp1_interactive.c index 6340afbb870..3154fde6bfb 100644 --- a/drivers/ram/stm32mp1/stm32mp1_interactive.c +++ b/drivers/ram/stm32mp1/stm32mp1_interactive.c @@ -334,8 +334,8 @@ static void stm32mp1_ddr_subcmd(struct ddr_info *priv, if ((strict_strtoul(argv[1], 0, &value) < 0) || value >= array_nb) { - sprintf(string, "invalid argument %s", - argv[1]); + snprintf(string, sizeof(string), "invalid argument %s", + argv[1]); result = TEST_FAILED; goto end; } diff --git a/drivers/serial/serial_mcf.c b/drivers/serial/serial_mcf.c index 76143575fa9..9a70b7d3d86 100644 --- a/drivers/serial/serial_mcf.c +++ b/drivers/serial/serial_mcf.c @@ -4,10 +4,10 @@ * TsiChung Liew, [email protected]. * * Modified to add device model (DM) support - * (C) Copyright 2015 Angelo Dureghello <[email protected]> + * (C) Copyright 2015 Angelo Dureghello <[email protected]> * * Modified to add DM and fdt support, removed non DM code - * (C) Copyright 2018 Angelo Dureghello <[email protected]> + * (C) Copyright 2018 Angelo Dureghello <[email protected]> */ /* diff --git a/drivers/spi/cf_spi.c b/drivers/spi/cf_spi.c index 84077c01d83..51f7f420202 100644 --- a/drivers/spi/cf_spi.c +++ b/drivers/spi/cf_spi.c @@ -8,7 +8,7 @@ * TsiChung Liew ([email protected]) * * Support for DM and DT, non-DM code removed. - * Copyright (C) 2018 Angelo Dureghello <[email protected]> + * Copyright (C) 2018 Angelo Dureghello <[email protected]> * * TODO: fsl_dspi.c should work as a driver for the DSPI module. */ diff --git a/fs/squashfs/sqfs.c b/fs/squashfs/sqfs.c index 55fbe1bcc1a..0ea6dcaba1a 100644 --- a/fs/squashfs/sqfs.c +++ b/fs/squashfs/sqfs.c @@ -109,6 +109,7 @@ static int sqfs_frag_lookup(u32 inode_fragment_index, unsigned char *metadata_buffer, *metadata, *table; struct squashfs_fragment_block_entry *entries; struct squashfs_super_block *sblk = ctxt.sblk; + size_t table_size, metadata_size, valid_len; unsigned long dest_len; int block, offset, ret; u16 header; @@ -133,7 +134,12 @@ static int sqfs_frag_lookup(u32 inode_fragment_index, start /= ctxt.cur_dev->blksz; /* Allocate a proper sized buffer to store the fragment index table */ - table = malloc_cache_aligned(n_blks * ctxt.cur_dev->blksz); + if (__builtin_mul_overflow(n_blks, ctxt.cur_dev->blksz, &table_size)) { + ret = -EINVAL; + goto out; + } + + table = malloc_cache_aligned(table_size); if (!table) { ret = -ENOMEM; goto out; @@ -148,6 +154,16 @@ static int sqfs_frag_lookup(u32 inode_fragment_index, offset = SQFS_FRAGMENT_INDEX_OFFSET(inode_fragment_index); /* + * 'inode_fragment_index' is only checked against sblk->fragments, which + * is itself read from the image, so the resulting index may point past + * the fragment index table that was actually read from the device. + */ + if (table_offset + ((u64)block + 1) * sizeof(u64) > table_size) { + ret = -EINVAL; + goto out; + } + + /* * Get the start offset of the metadata block that contains the right * fragment block entry */ @@ -158,7 +174,13 @@ static int sqfs_frag_lookup(u32 inode_fragment_index, n_blks = sqfs_calc_n_blks(cpu_to_le64(start_block), sblk->fragment_table_start, &table_offset); - metadata_buffer = malloc_cache_aligned(n_blks * ctxt.cur_dev->blksz); + if (__builtin_mul_overflow(n_blks, ctxt.cur_dev->blksz, + &metadata_size)) { + ret = -EINVAL; + goto out; + } + + metadata_buffer = malloc_cache_aligned(metadata_size); if (!metadata_buffer) { ret = -ENOMEM; goto out; @@ -170,6 +192,11 @@ static int sqfs_frag_lookup(u32 inode_fragment_index, } /* Every metadata block starts with a 16-bit header */ + if (table_offset + SQFS_HEADER_SIZE > metadata_size) { + ret = -EINVAL; + goto out; + } + header = get_unaligned_le16(metadata_buffer + table_offset); metadata = metadata_buffer + table_offset + SQFS_HEADER_SIZE; @@ -183,6 +210,16 @@ static int sqfs_frag_lookup(u32 inode_fragment_index, goto out; } + /* + * The metadata block's payload is read straight out of + * 'metadata_buffer', so it has to fit in what was read from the device. + */ + if (table_offset + SQFS_HEADER_SIZE + SQFS_METADATA_SIZE(header) > + metadata_size) { + ret = -EINVAL; + goto out; + } + entries = malloc(SQFS_METADATA_BLOCK_SIZE); if (!entries) { ret = -ENOMEM; @@ -198,8 +235,17 @@ static int sqfs_frag_lookup(u32 inode_fragment_index, ret = -EINVAL; goto out; } + + valid_len = dest_len; } else { memcpy(entries, metadata, SQFS_METADATA_SIZE(header)); + valid_len = SQFS_METADATA_SIZE(header); + } + + /* Only the part of 'entries' that was actually filled in is usable */ + if (((u64)offset + 1) * sizeof(*entries) > valid_len) { + ret = -EINVAL; + goto out; } *e = entries[offset]; @@ -486,7 +532,8 @@ static int sqfs_search_dir(struct squashfs_dir_stream *dirs, char **token_list, dirsp = (struct fs_dir_stream *)dirs; /* Start by root inode */ - table = sqfs_find_inode(dirs->inode_table, le32_to_cpu(sblk->inodes), + table = sqfs_find_inode(dirs->inode_table, dirs->inode_table_size, + le32_to_cpu(sblk->inodes), sblk->inodes, sblk->block_size); if (!table) return -EINVAL; @@ -545,7 +592,8 @@ static int sqfs_search_dir(struct squashfs_dir_stream *dirs, char **token_list, dirs->dir_header->inode_number; /* Get reference to inode in the inode table */ - table = sqfs_find_inode(dirs->inode_table, new_inode_number, + table = sqfs_find_inode(dirs->inode_table, + dirs->inode_table_size, new_inode_number, sblk->inodes, sblk->block_size); if (!table) { ret = -EINVAL; @@ -731,7 +779,7 @@ static int sqfs_get_metablk_pos(u32 *pos_list, void *table, u32 offset, return ret; } -static int sqfs_read_inode_table(unsigned char **inode_table) +static int sqfs_read_inode_table(unsigned char **inode_table, size_t *out_size) { struct squashfs_super_block *sblk = ctxt.sblk; u64 start, n_blks, table_offset, table_size; @@ -785,6 +833,8 @@ static int sqfs_read_inode_table(unsigned char **inode_table) goto free_itb; } + *out_size = (size_t)metablks_count * SQFS_METADATA_BLOCK_SIZE; + src_table = itb + table_offset + SQFS_HEADER_SIZE; /* Extract compressed Inode table */ @@ -864,13 +914,24 @@ static int sqfs_read_directory_table(unsigned char **dir_table, u32 **pos_list) if (metablks_count < 1) goto out; - *dir_table = malloc(metablks_count * SQFS_METADATA_BLOCK_SIZE); + if (__builtin_mul_overflow(metablks_count, SQFS_METADATA_BLOCK_SIZE, + &buf_size)) { + metablks_count = -1; + goto out; + } + + *dir_table = malloc(buf_size); if (!*dir_table) { metablks_count = -1; goto out; } - *pos_list = malloc(metablks_count * sizeof(u32)); + if (__builtin_mul_overflow(metablks_count, sizeof(u32), &buf_size)) { + metablks_count = -1; + goto out; + } + + *pos_list = malloc(buf_size); if (!*pos_list) { metablks_count = -1; goto out; @@ -936,6 +997,7 @@ static int sqfs_opendir_nest(const char *filename, struct fs_dir_stream **dirsp) int j, token_count = 0, ret = 0, metablks_count; struct squashfs_dir_stream *dirs; char **token_list = NULL, *path = NULL; + size_t inode_table_size = 0; u32 *pos_list = NULL; dirs = calloc(1, sizeof(*dirs)); @@ -949,7 +1011,7 @@ static int sqfs_opendir_nest(const char *filename, struct fs_dir_stream **dirsp) dirs->inode_table = NULL; dirs->dir_table = NULL; - ret = sqfs_read_inode_table(&inode_table); + ret = sqfs_read_inode_table(&inode_table, &inode_table_size); if (ret) { ret = -EINVAL; goto out; @@ -989,6 +1051,7 @@ static int sqfs_opendir_nest(const char *filename, struct fs_dir_stream **dirsp) * a general solution for the malloc size, since 'i' is a union. */ dirs->inode_table = inode_table; + dirs->inode_table_size = inode_table_size; dirs->dir_table = dir_table; ret = sqfs_search_dir(dirs, token_list, token_count, pos_list, metablks_count); @@ -1087,8 +1150,8 @@ static int sqfs_readdir_nest(struct fs_dir_stream *fs_dirs, struct fs_dirent **d } i_number = dirs->dir_header->inode_number + dirs->entry->inode_offset; - ipos = sqfs_find_inode(dirs->inode_table, i_number, sblk->inodes, - sblk->block_size); + ipos = sqfs_find_inode(dirs->inode_table, dirs->inode_table_size, + i_number, sblk->inodes, sblk->block_size); if (!ipos) return -SQFS_STOP_READDIR; @@ -1446,8 +1509,8 @@ static int sqfs_read_nest(const char *filename, void *buf, loff_t offset, } i_number = dirs->dir_header->inode_number + dirs->entry->inode_offset; - ipos = sqfs_find_inode(dirs->inode_table, i_number, sblk->inodes, - sblk->block_size); + ipos = sqfs_find_inode(dirs->inode_table, dirs->inode_table_size, + i_number, sblk->inodes, sblk->block_size); if (!ipos) { ret = -EINVAL; goto out; @@ -1649,6 +1712,19 @@ static int sqfs_read_nest(const char *filename, void *buf, loff_t offset, goto out; } + /* + * finfo.offset and finfo.size come from the on-disk inode and + * must not let the copy read past the decompressed fragment + * block (dest_len bytes). + */ + if (finfo.size < (size_t)*actread || + finfo.offset > dest_len || + finfo.size - *actread > dest_len - finfo.offset) { + free(fragment_block); + ret = -EINVAL; + goto out; + } + memcpy(buf + *actread, &fragment_block[finfo.offset], finfo.size - *actread); *actread = finfo.size; @@ -1657,6 +1733,17 @@ static int sqfs_read_nest(const char *filename, void *buf, loff_t offset, } else if (finfo.frag && !finfo.comp) { fragment_block = (void *)fragment + table_offset; + /* + * Same check for the uncompressed fragment: the readable data + * is table_size bytes starting at table_offset within fragment. + */ + if (finfo.size < (size_t)*actread || + finfo.offset > table_size || + finfo.size - *actread > table_size - finfo.offset) { + ret = -EINVAL; + goto out; + } + memcpy(buf + *actread, &fragment_block[finfo.offset], finfo.size - *actread); *actread = finfo.size; } @@ -1724,8 +1811,8 @@ static int sqfs_size_nest(const char *filename, loff_t *size) } i_number = dirs->dir_header->inode_number + dirs->entry->inode_offset; - ipos = sqfs_find_inode(dirs->inode_table, i_number, sblk->inodes, - sblk->block_size); + ipos = sqfs_find_inode(dirs->inode_table, dirs->inode_table_size, + i_number, sblk->inodes, sblk->block_size); if (!ipos) { *size = 0; diff --git a/fs/squashfs/sqfs_dir.c b/fs/squashfs/sqfs_dir.c index ed83c90682f..3908d1380b3 100644 --- a/fs/squashfs/sqfs_dir.c +++ b/fs/squashfs/sqfs_dir.c @@ -32,6 +32,7 @@ int sqfs_dir_offset(void *dir_i, u32 *m_list, int m_count) struct squashfs_base_inode *base = dir_i; struct squashfs_ldir_inode *ldir; struct squashfs_dir_inode *dir; + u64 table_size, res; u32 start_block; int j, offset; @@ -51,20 +52,49 @@ int sqfs_dir_offset(void *dir_i, u32 *m_list, int m_count) return -EINVAL; } - if (offset < 0) + /* + * 'offset' is an offset into a decompressed metadata block, so it can + * never address past the end of one. + */ + if (offset >= SQFS_METADATA_BLOCK_SIZE) return -EINVAL; + if (m_count < 1) + return -EINVAL; + + /* The caller's directory table holds m_count decompressed blocks. */ + table_size = (u64)m_count * SQFS_METADATA_BLOCK_SIZE; + for (j = 0; j < m_count; j++) { if (m_list[j] == start_block) - return (++j * SQFS_METADATA_BLOCK_SIZE) + offset; + break; } - if (start_block == 0) - return offset; + if (j < m_count) { + /* + * m_list[j] is the position of the metadata block following + * block j, so a match means the directory starts in block + * j + 1. + */ + res = (u64)(j + 1) * SQFS_METADATA_BLOCK_SIZE + offset; + } else if (start_block == 0) { + res = offset; + } else { + printf("Error: invalid inode reference to directory table.\n"); + return -EINVAL; + } - printf("Error: invalid inode reference to directory table.\n"); + /* + * Callers use the return value to index the directory table and read a + * directory header from it, so the whole header must lie inside the + * table. + */ + if (res + SQFS_DIR_HEADER_SIZE > table_size) { + printf("Error: inode points past the end of the directory table.\n"); + return -EINVAL; + } - return -EINVAL; + return res; } bool sqfs_is_empty_dir(void *dir_i) diff --git a/fs/squashfs/sqfs_filesystem.h b/fs/squashfs/sqfs_filesystem.h index be56498a5e3..6c97b2c3a9c 100644 --- a/fs/squashfs/sqfs_filesystem.h +++ b/fs/squashfs/sqfs_filesystem.h @@ -275,6 +275,8 @@ struct squashfs_dir_stream { * sqfs_opendir() and freed in sqfs_closedir(). */ unsigned char *inode_table; + /* Size in bytes of the decompressed inode_table buffer */ + size_t inode_table_size; unsigned char *dir_table; }; @@ -293,8 +295,8 @@ struct squashfs_file_info { bool comp; }; -void *sqfs_find_inode(void *inode_table, int inode_number, __le32 inode_count, - __le32 block_size); +void *sqfs_find_inode(void *inode_table, size_t table_size, int inode_number, + __le32 inode_count, __le32 block_size); int sqfs_dir_offset(void *dir_i, u32 *m_list, int m_count); diff --git a/fs/squashfs/sqfs_inode.c b/fs/squashfs/sqfs_inode.c index ce9a8ff8e2a..20085f8912b 100644 --- a/fs/squashfs/sqfs_inode.c +++ b/fs/squashfs/sqfs_inode.c @@ -17,65 +17,122 @@ #include "sqfs_filesystem.h" #include "sqfs_utils.h" -int sqfs_inode_size(struct squashfs_base_inode *inode, u32 blk_size) +int sqfs_inode_size(struct squashfs_base_inode *inode, u32 blk_size, size_t max) { - u16 inode_type = get_unaligned_le16(&inode->inode_type); + u16 inode_type; + + /* The smallest possible inode must fit in the remaining bytes */ + if (max < sizeof(struct squashfs_base_inode)) + return -EINVAL; + + inode_type = get_unaligned_le16(&inode->inode_type); switch (inode_type) { case SQFS_DIR_TYPE: + if (max < sizeof(struct squashfs_dir_inode)) + return -EINVAL; return sizeof(struct squashfs_dir_inode); case SQFS_REG_TYPE: { struct squashfs_reg_inode *reg = (struct squashfs_reg_inode *)inode; - u32 fragment = get_unaligned_le32(®->fragment); - u32 file_size = get_unaligned_le32(®->file_size); + u32 fragment, file_size; unsigned int blk_list_size; + int size; + + if (max < sizeof(*reg)) + return -EINVAL; + + fragment = get_unaligned_le32(®->fragment); + file_size = get_unaligned_le32(®->file_size); + + if (!blk_size) + return -EINVAL; if (SQFS_IS_FRAGMENTED(fragment)) blk_list_size = file_size / blk_size; else blk_list_size = DIV_ROUND_UP(file_size, blk_size); - return sizeof(*reg) + blk_list_size * sizeof(u32); + if (__builtin_mul_overflow(blk_list_size, (unsigned int)sizeof(u32), + &blk_list_size) || + __builtin_add_overflow((int)sizeof(*reg), (int)blk_list_size, + &size)) + return -EINVAL; + + return size; } case SQFS_LDIR_TYPE: { struct squashfs_ldir_inode *ldir = (struct squashfs_ldir_inode *)inode; - u16 i_count = get_unaligned_le16(&ldir->i_count); + u16 i_count; unsigned int index_list_size = 0, l = 0; struct squashfs_directory_index *di; + size_t consumed; u32 sz; + int size; + if (max < sizeof(*ldir)) + return -EINVAL; + + i_count = get_unaligned_le16(&ldir->i_count); if (i_count == 0) return sizeof(*ldir); di = ldir->index; + consumed = sizeof(*ldir); while (l < i_count) { + /* The directory index header must stay in bounds */ + if (consumed + sizeof(*di) > max) + return -EINVAL; sz = get_unaligned_le32(&di->size) + 1; + if (__builtin_add_overflow(consumed, sizeof(*di) + sz, + &consumed) || + consumed > max) + return -EINVAL; index_list_size += sz; di = (void *)di + sizeof(*di) + sz; l++; } - return sizeof(*ldir) + index_list_size + - i_count * SQFS_DIR_INDEX_BASE_LENGTH; + if (__builtin_add_overflow((int)(sizeof(*ldir) + index_list_size), + (int)(i_count * SQFS_DIR_INDEX_BASE_LENGTH), + &size)) + return -EINVAL; + + return size; } case SQFS_LREG_TYPE: { struct squashfs_lreg_inode *lreg = (struct squashfs_lreg_inode *)inode; - u32 fragment = get_unaligned_le32(&lreg->fragment); - u64 file_size = get_unaligned_le64(&lreg->file_size); + u32 fragment; + u64 file_size; unsigned int blk_list_size; + int size; + + if (max < sizeof(*lreg)) + return -EINVAL; + + fragment = get_unaligned_le32(&lreg->fragment); + file_size = get_unaligned_le64(&lreg->file_size); + + if (!blk_size) + return -EINVAL; if (fragment == 0xFFFFFFFF) blk_list_size = DIV_ROUND_UP(file_size, blk_size); else blk_list_size = file_size / blk_size; - return sizeof(*lreg) + blk_list_size * sizeof(u32); + if (__builtin_mul_overflow(blk_list_size, (unsigned int)sizeof(u32), + &blk_list_size) || + __builtin_add_overflow((int)sizeof(*lreg), (int)blk_list_size, + &size)) + return -EINVAL; + + return size; } case SQFS_SYMLINK_TYPE: @@ -85,6 +142,9 @@ int sqfs_inode_size(struct squashfs_base_inode *inode, u32 blk_size) struct squashfs_symlink_inode *symlink = (struct squashfs_symlink_inode *)inode; + if (max < sizeof(*symlink)) + return -EINVAL; + if (__builtin_add_overflow(sizeof(*symlink), get_unaligned_le32(&symlink->symlink_size), &size)) return -EINVAL; @@ -94,15 +154,23 @@ int sqfs_inode_size(struct squashfs_base_inode *inode, u32 blk_size) case SQFS_BLKDEV_TYPE: case SQFS_CHRDEV_TYPE: + if (max < sizeof(struct squashfs_dev_inode)) + return -EINVAL; return sizeof(struct squashfs_dev_inode); case SQFS_LBLKDEV_TYPE: case SQFS_LCHRDEV_TYPE: + if (max < sizeof(struct squashfs_ldev_inode)) + return -EINVAL; return sizeof(struct squashfs_ldev_inode); case SQFS_FIFO_TYPE: case SQFS_SOCKET_TYPE: + if (max < sizeof(struct squashfs_ipc_inode)) + return -EINVAL; return sizeof(struct squashfs_ipc_inode); case SQFS_LFIFO_TYPE: case SQFS_LSOCKET_TYPE: + if (max < sizeof(struct squashfs_lipc_inode)) + return -EINVAL; return sizeof(struct squashfs_lipc_inode); default: printf("Error while searching inode: unknown type.\n"); @@ -114,11 +182,12 @@ int sqfs_inode_size(struct squashfs_base_inode *inode, u32 blk_size) * Given the uncompressed inode table, the inode to be found and the number of * inodes in the table, return inode position in case of success. */ -void *sqfs_find_inode(void *inode_table, int inode_number, __le32 inode_count, - __le32 block_size) +void *sqfs_find_inode(void *inode_table, size_t table_size, int inode_number, + __le32 inode_count, __le32 block_size) { struct squashfs_base_inode *base; - unsigned int offset = 0, k; + size_t offset = 0; + unsigned int k; int sz; if (!inode_table) { @@ -127,12 +196,17 @@ void *sqfs_find_inode(void *inode_table, int inode_number, __le32 inode_count, } for (k = 0; k < le32_to_cpu(inode_count); k++) { + /* The base inode header must lie within the inode table */ + if (offset + sizeof(struct squashfs_base_inode) > table_size) + return NULL; + base = inode_table + offset; if (get_unaligned_le32(&base->inode_number) == inode_number) return inode_table + offset; - sz = sqfs_inode_size(base, le32_to_cpu(block_size)); - if (sz < 0) + sz = sqfs_inode_size(base, le32_to_cpu(block_size), + table_size - offset); + if (sz <= 0 || (size_t)sz > table_size - offset) return NULL; offset += sz; diff --git a/include/configs/amcore.h b/include/configs/amcore.h index 4c695fb9df9..c6260969064 100644 --- a/include/configs/amcore.h +++ b/include/configs/amcore.h @@ -2,7 +2,7 @@ /* * Sysam AMCORE board configuration * - * (C) Copyright 2016 Angelo Dureghello <[email protected]> + * (C) Copyright 2016 Angelo Dureghello <[email protected]> */ #ifndef __AMCORE_CONFIG_H diff --git a/include/configs/stmark2.h b/include/configs/stmark2.h index c1096398359..a42779621fc 100644 --- a/include/configs/stmark2.h +++ b/include/configs/stmark2.h @@ -2,7 +2,7 @@ /* * Sysam stmark2 board configuration * - * (C) Copyright 2017 Angelo Dureghello <[email protected]> + * (C) Copyright 2017 Angelo Dureghello <[email protected]> */ #ifndef __STMARK2_CONFIG_H diff --git a/include/dm/platform_data/serial_coldfire.h b/include/dm/platform_data/serial_coldfire.h index 5e265e9087d..86dc57e140e 100644 --- a/include/dm/platform_data/serial_coldfire.h +++ b/include/dm/platform_data/serial_coldfire.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0+ */ /* - * Copyright (c) 2015 Angelo Dureghello <[email protected]> + * Copyright (c) 2015 Angelo Dureghello <[email protected]> */ #ifndef __serial_coldfire_h diff --git a/include/dm/platform_data/spi_coldfire.h b/include/dm/platform_data/spi_coldfire.h index 0d534b1d665..b88c51e910f 100644 --- a/include/dm/platform_data/spi_coldfire.h +++ b/include/dm/platform_data/spi_coldfire.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0+ */ /* - * Copyright (c) 2018 Angelo Dureghello <[email protected]> + * Copyright (c) 2018 Angelo Dureghello <[email protected]> */ #ifndef __spi_coldfire_h diff --git a/include/env/adi/adi_boot.env b/include/env/adi/adi_boot.env index 3c83826cf9a..a3e308e6404 100644 --- a/include/env/adi/adi_boot.env +++ b/include/env/adi/adi_boot.env @@ -7,6 +7,7 @@ /* Config options */ ethaddr=02:80:ad:20:31:e8 eth1addr=02:80:ad:20:31:e9 +fdtfile=CONFIG_DEFAULT_FDT_FILE httpdstp=8000 uart_console=CONFIG_UART_CONSOLE #ifdef CONFIG_SC59X_64 diff --git a/lib/uuid.c b/lib/uuid.c index d7c164ea06b..16ca8f37751 100644 --- a/lib/uuid.c +++ b/lib/uuid.c @@ -95,6 +95,7 @@ static const struct { "system", "EFI System Partition", PARTITION_SYSTEM_GUID, }, +#endif /* EFI_PARTITION */ #if defined(CONFIG_CMD_EFIDEBUG) || defined(CONFIG_EFI_CLIENT) { NULL, "Device Path", @@ -304,7 +305,6 @@ static const struct { { "EFI_MEM_STATUS_CODE_REC", NULL, EFI_MEM_STATUS_CODE_REC }, { "EFI_GUID_EFI_ACPI1", NULL, EFI_GUID_EFI_ACPI1 }, #endif -#endif /* EFI_PARTITION */ #endif /* !USE_HOSTCC */ }; diff --git a/test/boot/measurement.c b/test/boot/measurement.c index 71f503f1567..85a01f1fec8 100644 --- a/test/boot/measurement.c +++ b/test/boot/measurement.c @@ -9,9 +9,9 @@ #include <bootm.h> #include <env.h> #include <malloc.h> +#include <mapmem.h> #include <test/test.h> #include <test/ut.h> -#include <asm/io.h> #define MEASUREMENT_TEST(_name, _flags) \ UNIT_TEST(_name, _flags, measurement) diff --git a/test/py/tests/test_fs/test_squashfs/test_sqfs_overflow.py b/test/py/tests/test_fs/test_squashfs/test_sqfs_overflow.py new file mode 100644 index 00000000000..df7f875a58f --- /dev/null +++ b/test/py/tests/test_fs/test_squashfs/test_sqfs_overflow.py @@ -0,0 +1,75 @@ +# SPDX-License-Identifier: GPL-2.0 +# Regression test for the SquashFS directory-table integer overflow. + +import os +import struct +import pytest + +# metadata block size (SQFS_METADATA_BLOCK_SIZE) and metadata header size +SQFS_METADATA_BLOCK_SIZE = 8192 +# metablks_count that makes metablks_count * SQFS_METADATA_BLOCK_SIZE wrap a +# 32-bit int back down to a tiny value: (2^19 + 1) * 8192 == 2^32 + 8192. +NR_METABLKS = (1 << 19) + 1 + +def make_overflow_image(path): + """Build a SquashFS image whose directory table inflates metablks_count so + that metablks_count * SQFS_METADATA_BLOCK_SIZE wraps a 32-bit int, then + writes one block of data one metadata block past the resulting buffer.""" + def metahdr(size): + # uncompressed metadata block header (bit 15 set) + return struct.pack('<H', 0x8000 | (size & 0x7fff)) + + # inode table: one small valid uncompressed metadata block + inode_region = metahdr(32) + b'\x00' * 32 + inode_start = 96 + dir_start = inode_start + len(inode_region) + + # directory table: NR_METABLKS metadata blocks, only block 1 carries data + dir_region = bytearray() + dir_region += metahdr(0) # block 0: empty + dir_region += metahdr(200) + b'A' * 200 # block 1: data + dir_region += metahdr(0) * (NR_METABLKS - 2) # blocks 2..N-1: empty + frag_start = dir_start + len(dir_region) + + sb = bytearray(96) + struct.pack_into('<I', sb, 0, 0x73717368) # s_magic + struct.pack_into('<I', sb, 4, 1) # inodes + struct.pack_into('<I', sb, 12, 131072) # block_size + struct.pack_into('<H', sb, 20, 1) # compression = gzip/zlib + struct.pack_into('<H', sb, 22, 17) # block_log + struct.pack_into('<H', sb, 26, 1) # no_ids + struct.pack_into('<H', sb, 28, 4) # s_major + struct.pack_into('<Q', sb, 48, frag_start) # id_table_start + struct.pack_into('<Q', sb, 56, 0xffffffffffffffff) # xattr_id_table_start + struct.pack_into('<Q', sb, 64, inode_start) # inode_table_start + struct.pack_into('<Q', sb, 72, dir_start) # directory_table_start + struct.pack_into('<Q', sb, 80, frag_start) # fragment_table_start + struct.pack_into('<Q', sb, 88, 0xffffffffffffffff) # export_table_start + + img = bytearray(sb) + inode_region + dir_region + # pad so the directory-table block read stays within the file + need = ((len(img) + 511) // 512 + 1) * 512 + img += b'\x00' * (need - len(img)) + struct.pack_into('<Q', img, 40, len(img)) # bytes_used + + with open(path, 'wb') as f: + f.write(img) + [email protected]('sandbox') [email protected]('cmd_squashfs') [email protected]('fs_squashfs') +def test_sqfs_ls_dir_table_overflow(ubman): + """Listing a crafted image whose directory table declares an oversized + metadata-block count must be rejected without corrupting the heap. + """ + ubman.restart_uboot() + image_path = os.path.join(ubman.config.build_dir, 'sqfs_dir_table_overflow') + make_overflow_image(image_path) + try: + ubman.run_command('host bind 0 {}'.format(image_path)) + ubman.run_command('sqfsls host 0') + # The crafted image must not take the board down. + assert 'alive' in ubman.run_command('echo alive') + finally: + os.remove(image_path) diff --git a/tools/binman/btool/bootgen.py b/tools/binman/btool/bootgen.py index 1bc9f0aa96f..f740381b704 100644 --- a/tools/binman/btool/bootgen.py +++ b/tools/binman/btool/bootgen.py @@ -7,7 +7,7 @@ bootgen allows creating bootable SPL for Zynq(MP) Documentation is available via: -https://www.xilinx.com/support/documents/sw_manuals/xilinx2022_1/ug1283-bootgen-user-guide.pdf +https://docs.amd.com/r/en-US/ug1283-bootgen-user-guide/ Source code is available at: https://github.com/Xilinx/bootgen diff --git a/tools/binman/etype/gbb.py b/tools/binman/etype/gbb.py index cca18af6e2f..70067a54504 100644 --- a/tools/binman/etype/gbb.py +++ b/tools/binman/etype/gbb.py @@ -48,7 +48,7 @@ class Entry_gbb(Entry): the root and recovery keys that are used to verify the boot process. Some more details are here: - https://www.chromium.org/chromium-os/firmware-porting-guide/2-concepts + https://www.chromium.org/chromium-os/developer-library/guides/firmware/firmware-porting-guide/2-concepts/ but note that the page dates from 2013 so is quite out of date. See README.chromium for how to obtain the required keys and tools. diff --git a/tools/buildman/board.py b/tools/buildman/board.py index 248d8bfff18..231454dc8cd 100644 --- a/tools/buildman/board.py +++ b/tools/buildman/board.py @@ -10,7 +10,7 @@ class Board: """Create a new board type. Args: - status: define whether the board is 'Active' or 'Orphaned' + status: define whether the board is 'Active' or 'Orphan' arch: Architecture name (e.g. arm) cpu: Cpu name (e.g. arm1136) soc: Name of SOC, or '' if none (e.g. mx31) diff --git a/tools/buildman/func_test.py b/tools/buildman/func_test.py index 51c6855420e..fce615ba8b8 100644 --- a/tools/buildman/func_test.py +++ b/tools/buildman/func_test.py @@ -951,7 +951,7 @@ Active aarch64 armv8 - armltd total_compute board2 self.assertEqual(["WARNING: no maintainers for 'board0'"], warnings) # Mark a board as orphaned - this should give a warning - lines = ['S: Orphaned' if line.startswith('S') else line + lines = ['S: Orphan' if line.startswith('S') else line for line in orig_data.splitlines(keepends=True)] tools.write_file(main, ''.join(lines), binary=False) params_list, warnings = self._boards.build_board_list(config_dir, src) |
