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

Chris Johns chrisj at rtems.org
Thu Jul 22 00:02:15 UTC 2021


On 22/7/21 8:55 am, Joel Sherrill wrote:
> On Wed, Jul 21, 2021, 5:49 PM Chris Johns <chrisj at rtems.org
> <mailto:chrisj at rtems.org>> wrote:
> 
>     On 22/7/21 8:35 am, Joel Sherrill wrote:
>     > On Wed, Jul 21, 2021 at 2:10 PM Sebastian Huber
>     > <sebastian.huber at embedded-brains.de
>     <mailto:sebastian.huber at embedded-brains.de>> wrote:
>     >>
>     >> On 21/07/2021 21:05, Gedare Bloom wrote:
>     >>>>> 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?
>     >>
>     >> Yes, good idea. We could use a "family/" prefix for example
>     >> ("family/<arch>/<bsp-family-name>").
> 
>     Great idea.
> 
>     > Ideally we would never have a family and BSP variant have the same name.
>     > But that rule is violated multiple times now.
> 
>     Yeap.
> 
>     > I am not sure where your triple is intended to be used but we have used
>     > the pattern arch/BSP which is really <arch>/<bsp_variant> as the
>     > full name of BSPs.
>     >
>     > If we want to step that further, we could do something similar to the
>     > GNU target triple where the middle component is a rarely used vendor.
>     > <arch>/<bsp_family>/<bsp_variant>.
> 
>     I think we are to late for this because the spec file format follows what I did
>     in the eco-system and I would prefer we maintained a single unified way of doing
>     this than changing it.
> 
>     > In recent history, there was an issue of BSP variant names needing to
>     > be unique across all architectures. This may also need to apply to bsp
>     > family names.
> 
>     What about "bsps/<family>". This means you have:
> 
>     powerpc/mvme2307
>     bsps/motorola_powerpc
> 
> Is the first line is our BSP formal naming pattern and the second is how
> families are named, that should be ok.

It is as you state. In a formal sense it is:

BSP:         <arch>/<bsp>
BSP FAMILY:  bsps</bsp-family>

This format and approach does not break existing eco-system code that is set up
to parse a single `/` into two parts, the arch and bsp. A check of the arch
component for `bsps` can raise an error, ie unknown arch, or be extended to
handle a BSP family.

> Rules for uniqueness apply.

Yes.

Chris


More information about the devel mailing list