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

Tom Rini trini at konsulko.com
Mon Oct 3 17:38:28 CEST 2022


On Mon, Oct 03, 2022 at 09:23:01AM -0600, Simon Glass wrote:
> Hi,
> 
> On Mon, 3 Oct 2022 at 09:05, Tom Rini <trini at konsulko.com> wrote:
> >
> > 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.
> 
> OK, so can we fix/change that? Or do we need to add yet another field
> to boards.cfg, just for riscv?

Well, it's a side effect of what we do / don't do with Kconfig.
ARCH_RV32I and ARCH_RV64I set 32BIT or 64BIT which are also more common
symbols. It's also not that cpu should be what matters here as we have
configa/ae350_rv{32,64}_defconfig using the ax25 CPU.

-- 
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/5ff0b2fd/attachment.sig>


More information about the U-Boot mailing list