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? Chris _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel