[PATCH v5 0/5] Implement reset to EDL for qcs9100
Tom Rini
trini at konsulko.com
Mon Jan 19 18:07:01 CET 2026
On Mon, Jan 19, 2026 at 11:09:26AM +0530, Varadarajan Narayanan wrote:
> On Fri, Jan 16, 2026 at 08:43:55AM -0600, Tom Rini wrote:
> > On Fri, Jan 16, 2026 at 12:39:47PM +0530, Varadarajan Narayanan wrote:
> > > On Tue, Jan 13, 2026 at 08:42:44AM -0600, Tom Rini wrote:
> > > > On Tue, Jan 13, 2026 at 04:08:35PM +0530, Varadarajan Narayanan wrote:
> > > >
> > > > > Using the 'reboot edl' command in Linux, the platform can reboot to the
> > > > > Emergency Download mode. Implement the same for U-Boot.
> > > >
> > > > Have you used buildman's size checking options before? If not,
> > >
> > > No.
> > >
> > > > https://source.denx.de/u-boot/u-boot-extras/-/blob/master/contrib/trini/u-boot-size-test.sh?ref_type=heads
> > > > may be helpful to you, as it can be a bit tricky at first (but IMHO is
> > > > better than the linux kernel bloat-o-meter). I ask because, what is the
> > > > size impact of these changes on things like say qemu_arm64 and qemu_arm?
> > > > I saw the cmd/ portion is guarded by a new CONFIG option which is good,
> > > > but I wonder about the more generic sysreset changes. Thanks!
> > >
> > > Please see below for u-boot-size-test.sh output
> > >
> > > $ ./u-boot-size-test.sh --board qcom_ipq9574_mmc
> > > Generating board list...Processing #include to produce configs/socfpga_agilex5_vab_defconfig
> > > Processing #include to produce configs/r8a78000_ironhide_defconfig
> > > .
> > > .
> > > .
> > > Processing #include to produce configs/am69_sk_a72_defconfig
> > > Building 2 commits for 1 boards (1 thread, 16 jobs per thread)
> > > 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> > > 06: qcom_defconfig: enable psci based sysreset
> > > 2 0 0 /2 qcom_ipq9574_mmc
> > > Completed: 2 total built, 2 newly), duration 0:00:13, rate 0.15
> > > /tmp/qcom_ipq9574_mmc/edl5/boards.cfg is up to date. Nothing to do.
> > > Summary of 2 commits for 1 boards (1 thread, 16 jobs per thread)
> > > 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> > > 06: qcom_defconfig: enable psci based sysreset
> > > aarch64: (for 1/1 boards) all +224.0 data +8.0 text +216.0
> > > qcom_ipq9574_mmc: all +224 data +8 text +216
> > > u-boot: add: 2/0, grow: 2/0 bytes: 224/0 (224)
> > > function old new delta
> > > sysreset_walk_arg - 124 +124
> > > do_reset 100 160 +60
> > > sysreset_request_arg - 32 +32
> > > psci_sysreset_ops 24 32 +8
> > > (no errors to report)
> >
> > OK, so minimal growth on the platforms that would use it. How about
> > platforms which don't? qemu_arm and qemu_arm64 should build the sysreset
> > code in general and that's where I'm most concerned, platforms which
> > aren't using this feature. Thanks.
>
> Please see below for u-boot-size-test.sh output
>
> $ ./u-boot-size-test.sh --board qemu_arm
> Generating board list...Processing #include to produce configs/socfpga_agilex5_vab_defconfig
> Processing #include to produce configs/imx6ulz_smm_m2_defconfig
> .
> .
> .
> Processing #include to produce configs/am69_sk_a72_defconfig
> Building 2 commits for 1 boards (1 thread, 16 jobs per thread)
> 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> 06: qcom_defconfig: enable psci based sysreset
> 2 0 0 /2 qemu_arm
> Completed: 2 total built, 2 newly), duration 0:00:18, rate 0.11
> /tmp/qemu_arm/edl5/boards.cfg is up to date. Nothing to do.
> Summary of 2 commits for 1 boards (1 thread, 16 jobs per thread)
> 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> 06: qcom_defconfig: enable psci based sysreset
> arm: (for 1/1 boards) all +184.0 text +184.0
> qemu_arm : all +184 text +184
> u-boot: add: 2/0, grow: 2/0 bytes: 184/0 (184)
> function old new delta
> sysreset_walk_arg - 104 +104
> do_reset 92 136 +44
> sysreset_request_arg - 32 +32
> psci_sysreset_ops 12 16 +4
> (no errors to report)
>
> $ ./u-boot-size-test.sh --board qemu_arm64
> Generating board list...Processing #include to produce configs/socfpga_agilex5_vab_defconfig
> Processing #include to produce configs/imx6ulz_smm_m2_defconfig
> .
> .
> .
> Processing #include to produce configs/genmai_defconfig
> Building 2 commits for 1 boards (1 thread, 16 jobs per thread)
> 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> 06: qcom_defconfig: enable psci based sysreset
> 2 0 0 /2 qemu_arm64
> Completed: 2 total built, 2 newly), duration 0:00:19, rate 0.11
> /tmp/qemu_arm64/edl5/boards.cfg is up to date. Nothing to do.
> Summary of 2 commits for 1 boards (1 thread, 16 jobs per thread)
> 01: configs: am57xx_hs_evm_defconfig: Reserve EMIF memory used by PPA
> 06: qcom_defconfig: enable psci based sysreset
> aarch64: (for 1/1 boards) all +216.0 data +8.0 rodata -8.0 text +216.0
> qemu_arm64 : all +216 data +8 rodata -8 text +216
> u-boot: add: 2/0, grow: 2/0 bytes: 224/0 (224)
> function old new delta
> sysreset_walk_arg - 124 +124
> do_reset 100 160 +60
> sysreset_request_arg - 32 +32
> psci_sysreset_ops 24 32 +8
> (no errors to report)
That's not great. Can you please look at if you can cleanly rework your
changes to have less, or ideally no, size growth on the 700+ other
platforms that enable SYSRESET? Thanks.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20260119/a377c288/attachment.sig>
More information about the U-Boot
mailing list