[PATCH] build: Add the BSP family to the enable set

Gedare Bloom gedare at rtems.org
Wed Jul 21 19:05:24 UTC 2021


On Tue, Jul 20, 2021 at 6:52 PM Chris Johns <chrisj at rtems.org> wrote:
>
>
>
> On 20/7/21 8:25 pm, Sebastian Huber wrote:
> > On 15/07/2021 08:19, Sebastian Huber wrote:
> >> This makes it possible to use the BSP family in expressions of the enabled-by
> >> attribute.
> >> ---
> >>   wscript | 7 ++++++-
> >>   1 file changed, 6 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/wscript b/wscript
> >> index 487951fdba..1331ae149e 100755
> >> --- a/wscript
> >> +++ b/wscript
> >> @@ -1387,7 +1387,12 @@ def configure_variant(conf, cp, bsp_map, path_list,
> >> top_group, variant):
> >>         # For the enabled-by evaluation we have to use the base BSP defined by
> >> the
> >>       # build specification and not the BSP name provided by the user.
> >> -    conf.env["ENABLE"] = [get_compiler(conf, cp, variant), arch, arch_bsp]
> >> +    conf.env["ENABLE"] = [
> >> +        get_compiler(conf, cp, variant),
> >> +        arch,
> >> +        arch_family,
> >> +        arch_bsp,
> >> +    ]
> >>         conf.env["TOP"] = conf.path.abspath()
> >>       conf.env["TOPGROUP"] = top_group
> >
> > This actually broke some riscv BSPs which do not support SMP. We have
> >
> > cat spec/build/cpukit/optsmp.yml
> > SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
> > actions:
> > - get-boolean: null
> > - env-enable: null
> > - define-condition: null
> > build-type: option
> > copyrights:
> > - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
> > default: false
> > default-by-family: []
> > default-by-variant: []
> > description: |
> >   Enable the Symmetric Multiprocessing (SMP) support
> > enabled-by:
> > - arm/altcycv_devkit
> > - arm/fvp_cortex_r52
> > - arm/imx7
> > - arm/raspberrypi2
> > - arm/realview_pbx_a9_qemu
> > - arm/xilinx_zynq_a9_qemu
> > - arm/xilinx_zynqmp_ultra96
> > - arm/xilinx_zynq_zc702
> > - arm/xilinx_zynq_zc706
> > - arm/xilinx_zynq_zedboard
> > - powerpc/qoriq_e500
> > - powerpc/qoriq_e6500_32
> > - powerpc/qoriq_e6500_64
> > - riscv/griscv
> > - riscv/grv32imac
> > - riscv/grv32imafdc
> > - riscv/rv32iac
> > - riscv/rv32imac
> > - riscv/rv32imafc
> > - riscv/rv32imafd
> > - riscv/rv32imafdc
> > - riscv/rv64imac
> > - riscv/rv64imac_medany
> > - riscv/rv64imafd
> > - riscv/rv64imafdc
> > - riscv/rv64imafdc_medany
> > - riscv/rv64imafd_medany
> > - sparc/erc32
> > - sparc/gr712rc
> > - sparc/gr740
> > - sparc/leon3
> > links: []
> > name: RTEMS_SMP
> > type: build
> >
> > The problem is that one BSP which supports SMP "riscv/griscv" is identical to
> > the family "riscv/griscv" which contains BSPs which do not support SMP
> > ("riscv/grv32i" and riscv/grv32im").
>
> Hmm, tricky. Can the BSPs that do not support SMP disable SMP in the BSP
> specific config, ie override/specialise in the BSP?
>

Or, can we avoid having duplication between BSP names and family names?

> Chris
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list