2022-03-21 21:44:57

by Andrew Lunn

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm64: dts: uDPU: update partition table

On Mon, Mar 21, 2022 at 01:17:27PM +0100, Robert Marko wrote:
> Partition currently called "uboot" does not only contain U-boot, but
> rather it contains TF-A, U-boot and U-boot environment.
>
> So, to avoid accidentally deleting the U-boot environment which is
> located at 0x180000 split the partition.
>
> "uboot" is not the correct name as you can't boot these boards with U-boot
> only, TF-A must be present as well, so rename the "uboot" partition to
> "firmware".

Are there any ABI issues here? If these names are being used
somewhere, you are potentially breaking the boot. At minimum, i would
like to see something in the commit message which indicates you have
considered this and why you don't expect it to be a problem.

Andrew


2022-03-21 22:45:49

by Robert Marko

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm64: dts: uDPU: update partition table

On Mon, Mar 21, 2022 at 1:41 PM Andrew Lunn <[email protected]> wrote:
>
> On Mon, Mar 21, 2022 at 01:17:27PM +0100, Robert Marko wrote:
> > Partition currently called "uboot" does not only contain U-boot, but
> > rather it contains TF-A, U-boot and U-boot environment.
> >
> > So, to avoid accidentally deleting the U-boot environment which is
> > located at 0x180000 split the partition.
> >
> > "uboot" is not the correct name as you can't boot these boards with U-boot
> > only, TF-A must be present as well, so rename the "uboot" partition to
> > "firmware".
>
> Are there any ABI issues here? If these names are being used
> somewhere, you are potentially breaking the boot. At minimum, i would
> like to see something in the commit message which indicates you have
> considered this and why you don't expect it to be a problem.

Hi Andrew, this won't break booting as BootROM does not care about
partitions nor naming, it will just go to 0x0 of the NOR and boot it.

The same renaming had already been done:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/marvell?h=v5.17&id=a9d9bfcadfb43b856dbcf9419de75f7420d5a225

I can update the commit message if required.
Regards,
Robert

>
> Andrew



--
Robert Marko
Staff Embedded Linux Engineer
Sartura Ltd.
Lendavska ulica 16a
10000 Zagreb, Croatia
Email: [email protected]
Web: http://www.sartura.hr

2022-03-21 23:11:10

by Pali Rohár

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm64: dts: uDPU: update partition table

On Monday 21 March 2022 13:41:39 Andrew Lunn wrote:
> On Mon, Mar 21, 2022 at 01:17:27PM +0100, Robert Marko wrote:
> > Partition currently called "uboot" does not only contain U-boot, but
> > rather it contains TF-A, U-boot and U-boot environment.
> >
> > So, to avoid accidentally deleting the U-boot environment which is
> > located at 0x180000 split the partition.
> >
> > "uboot" is not the correct name as you can't boot these boards with U-boot
> > only, TF-A must be present as well, so rename the "uboot" partition to
> > "firmware".
>
> Are there any ABI issues here? If these names are being used
> somewhere, you are potentially breaking the boot. At minimum, i would
> like to see something in the commit message which indicates you have
> considered this and why you don't expect it to be a problem.

Hello! Similar change/fix was done also for Turris Mox DTS file:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9d9bfcadfb43b856dbcf9419de75f7420d5a225

Difference between uDPU and Mox is that uDPU has concatenated
CM3 firmware (called secure firmware) and A53 firmware (TF-A + u-boot)
into one binary, Mox has these two parts separated. So uDPU partition
should be called just firmware.

Same partition name "firmware" is used also on another A3720 device
Espressobin. But here partition names are filled/injected into DTB at
runtime by bootloader.

So I think this change for uDPU looks reasonable. Partition name
"u-boot" is used for flashing u-boot binary and renaming it could really
fix automated scripts to stop flashing into SPI NOR something which
makes device unbootable.

2022-03-21 23:18:44

by Andrew Lunn

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm64: dts: uDPU: update partition table

On Mon, Mar 21, 2022 at 01:47:21PM +0100, Robert Marko wrote:
> On Mon, Mar 21, 2022 at 1:41 PM Andrew Lunn <[email protected]> wrote:
> >
> > On Mon, Mar 21, 2022 at 01:17:27PM +0100, Robert Marko wrote:
> > > Partition currently called "uboot" does not only contain U-boot, but
> > > rather it contains TF-A, U-boot and U-boot environment.
> > >
> > > So, to avoid accidentally deleting the U-boot environment which is
> > > located at 0x180000 split the partition.
> > >
> > > "uboot" is not the correct name as you can't boot these boards with U-boot
> > > only, TF-A must be present as well, so rename the "uboot" partition to
> > > "firmware".
> >
> > Are there any ABI issues here? If these names are being used
> > somewhere, you are potentially breaking the boot. At minimum, i would
> > like to see something in the commit message which indicates you have
> > considered this and why you don't expect it to be a problem.
>
> Hi Andrew, this won't break booting as BootROM does not care about
> partitions nor naming, it will just go to 0x0 of the NOR and boot it.
>
> The same renaming had already been done:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/marvell?h=v5.17&id=a9d9bfcadfb43b856dbcf9419de75f7420d5a225
>
> I can update the commit message if required.

Yes, please. It is always good to indicate you have thought about
issues like this. Not breaking the ABI is very important, and could
result in this getting reverted at some point. So indicating why you
think this is safe is useful information.

Andrew