Please pull u-boot-marvell/master
Tom Rini
trini at konsulko.com
Sun Aug 1 16:33:33 CEST 2021
On Sun, Aug 01, 2021 at 12:46:49PM +0200, Pali Rohár wrote:
> On Sunday 01 August 2021 07:26:51 Stefan Roese wrote:
> > On 01.08.21 05:28, Tom Rini wrote:
> > > On Sat, Jul 31, 2021 at 12:04:01PM +0200, Stefan Roese wrote:
> > >
> > > > Hi Tom,
> > > >
> > > > please pull the next batch of Marvell MVEBU related patches. Here the
> > > > summary log:
> > >
> > > First off, I've applied the whole series to u-boot/master and pushed.
> > >
> > > Second, I see from:
> > > commit 5fce2875569d6e859443af7af3477c3aebfee383
> > > Author: Pali Rohár <pali at kernel.org>
> > > Date: Fri Jul 23 11:14:27 2021 +0200
> > >
> > > SPL: Add support for specifying offset between header and image
> > >
> > > That a number of boards are now doing:
> > > variscite_dart6ul: spl/u-boot-spl:all +144 spl/u-boot-spl:text +144
> > > spl-u-boot-spl: add: 3/0, grow: 2/-1 bytes: 142/-4 (138)
> > > function old new delta
> > > memmove - 42 +42
> > > spl_mmc_load 320 356 +36
> > > __aeabi_uidivmod - 24 +24
> > > __aeabi_idivmod - 24 +24
> > > spl_parse_image_header 24 40 +16
> > > board_init_r 220 216 -4
> > >
> > > Which I think is because we need to use do_div and so rather than '/' and '%'
> > > directly in the code. Thanks!
> >
> > Pali, could you please take a look at this?
>
> And what we can do here? 32-bit arm does not have 32-bit division
> instruction, so it is needed to use some sort of *idiv* function.
>
> do_div() is macro which is doing 64-bit division by using 32-bit C
> operations '/' and '%', therefore it does not help with anything as this
> code is doing 32-bit math (not 64-bit).
>
> Moreover in do_div() implementation is already check that first passed
> argument is of 64-bit type, so we cannot use it for 32-bit values.
>
> Also note that in files which are touched by this commit are already
> used 32-bit division operations via C '/' operator.
>
> So I really do not know what is expected to do here...
Thanks for checking. I saw block stuff and that typically does involve
a 64bit value somewhere along the way. So if the answer is:
- There's no 64-bit math here, really.
- There's no existing shift macros we can use instead (or that ends up
being larger!)
- There's no existing shift macros we just need to import from the
kernel.
Then we're good.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210801/9d30d4e8/attachment.sig>
More information about the U-Boot
mailing list