[PATCH v3 2/3] buildman: differentiate between riscv32, riscv64

Tom Rini trini at konsulko.com
Mon Oct 3 17:05:48 CEST 2022


On Mon, Oct 03, 2022 at 08:57:41AM -0600, Simon Glass wrote:
> Hi Heinrich,
> 
> On Mon, 3 Oct 2022 at 03:56, Heinrich Schuchardt
> <heinrich.schuchardt at canonical.com> wrote:
> >
> >
> >
> > On 10/3/22 03:10, Simon Glass wrote:
> > > Hi Heinrich,
> > >
> > > On Sat, 1 Oct 2022 at 20:21, Heinrich Schuchardt
> > > <heinrich.schuchardt at canonical.com> wrote:
> > >>
> > >> riscv32 needs a different toolchain than riscv64
> > >>
> > >> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> > >> ---
> > >> v3:
> > >>          new patch
> > >> ---
> > >>   tools/buildman/boards.py | 11 +++++++++++
> > >>   1 file changed, 11 insertions(+)
> > >>
> > >> diff --git a/tools/buildman/boards.py b/tools/buildman/boards.py
> > >> index 8a0971aa40..cdc4d9ffd2 100644
> > >> --- a/tools/buildman/boards.py
> > >> +++ b/tools/buildman/boards.py
> > >> @@ -263,6 +263,17 @@ class KconfigScanner:
> > >>           if params['arch'] == 'arm' and params['cpu'] == 'armv8':
> > >>               params['arch'] = 'aarch64'
> > >>
> > >> +        # fix-up for riscv
> > >> +        if params['arch'] == 'riscv':
> > >> +            try:
> > >> +                value = self._conf.syms.get('ARCH_RV32I').str_value
> > >> +            except:
> > >> +                value = ''
> > >> +            if value == 'y':
> > >> +                params['arch'] = 'riscv32'
> > >> +            else:
> > >> +                params['arch'] = 'riscv64'
> > >> +
> > >>           return params
> > >>
> > >>
> > >> --
> > >> 2.37.2
> > >>
> > >
> > > Should we instead do what ARM does?
> >
> > My patch does exactly the same for RISC-V that was done previously for ARM:
> > It sets the correct value of arch in dependence of the bitness of the
> > architecture.
> 
> Sort of. Can we use the 'cpu' for this, insteading of reading a config symbol?

The problem is that "cpu" for riscv is not that determines this. None of
the existing symbols that buildman puts in a handy table are.

> > Currently in our Docker image we have an alias entry for 'riscv' in file
> > .buildman. Don't force users to create such an alias value when running
> > buildman locally.

This is because up until recently, a single toolchain was fine for both
32 and 64bit riscv so the alias is just to make things easier.

-- 
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/20221003/7abe3579/attachment.sig>


More information about the U-Boot mailing list