[PATCH] build: Add the BSP family to the enable set
Chris Johns
chrisj at rtems.org
Wed Jul 21 00:51:56 UTC 2021
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
More information about the devel
mailing list