[yocto] [PATCH] yocto-bsp: Fix QEMUARM based bsps to not offer SMP support

Andre McCurdy armccurdy at gmail.com
Tue May 30 15:32:50 PDT 2017


On Tue, May 30, 2017 at 1:12 PM, Alejandro Hernandez
<alejandro.hernandez at linux.intel.com> wrote:
> Hey Leo,
>
> Nope, this change only applies to qemuARM, the other ARM based BSPs are
> based on > ARMv6
>
> Alejandro
>
>
> On 05/30/2017 02:59 PM, Leonardo Sandoval wrote:
>>
>> Alex,
>>
>> is this change only applies to qemu arm? I wonder if the native arm arch
>> needs a similar series.
>>
>> Leo
>>
>> On Tue, 2017-05-30 at 11:44 -0700, Alejandro Hernandez wrote:
>>>
>>> The SMP kernel config presents issues on qemuarm because:
>>>
>>> CONFIG_SMP=y
>>> Dependencies Missing:
>>>    - CPU_V6K or CPU_V7:
>>>      These are selected by setting:
>>>      CONFIG_ARCH_MULTI_V7=y
>>>      or
>>>      CONFIG_ARCH_MULTI_V6=y
>>>
>>> But our QEMU + ARM BSPs are based on armv4/v5 hence they are
>>> incompatible with CONFIG_SMP.

Maybe time to think (again) about updating OE's qemu ARM builds to ARMv7.

>>> This patch fixes the script, and avoids offering SMP to the user
>>> when the created BSP is based on QEMU + ARM.
>>>
>>
>>
>>> [YOCTO #11426]
>>>
>>> Signed-off-by: Alejandro Hernandez <alejandro.hernandez at linux.intel.com>
>>> ---
>>>   .../target/arch/qemu/recipes-kernel/linux/linux-yocto-dev.bbappend
>>> | 1 +
>>>   .../target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.1.bbappend
>>> | 1 +
>>>
>>> .../target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.10.bbappend | 1
>>> +
>>>   .../target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.4.bbappend
>>> | 1 +
>>>   .../target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.8.bbappend
>>> | 1 +
>>>   .../target/arch/qemu/recipes-kernel/linux/linux-yocto_4.1.bbappend
>>> | 1 +
>>>   .../target/arch/qemu/recipes-kernel/linux/linux-yocto_4.10.bbappend
>>> | 1 +
>>>   .../target/arch/qemu/recipes-kernel/linux/linux-yocto_4.4.bbappend
>>> | 1 +
>>>   .../target/arch/qemu/recipes-kernel/linux/linux-yocto_4.8.bbappend
>>> | 1 +
>>>   9 files changed, 9 insertions(+)
>>>
>>> diff --git
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-dev.bbappend
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-dev.bbappend
>>> index 7e3ce5ba12d..11105ebcc26 100644
>>> ---
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-dev.bbappend
>>> +++
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-dev.bbappend
>>> @@ -45,6 +45,7 @@ COMPATIBLE_MACHINE_{{=machine}} = "{{=machine}}"
>>>   {{ if need_new_kbranch == "n": }}
>>>   KBRANCH_{{=machine}}  = "{{=existing_kbranch}}"
>>>   +{{ if qemuarch != "arm": }}
>>>   {{ input type:"boolean" name:"smp" prio:"30" msg:"Would you like SMP
>>> support? (y/n)" default:"y"}}
>>>   {{ if smp == "y": }}
>>>   KERNEL_FEATURES_append_{{=machine}} += " cfg/smp.scc"
>>> diff --git
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.1.bbappend
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.1.bbappend
>>> index 81392ce38ac..ad77a662682 100644
>>> ---
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.1.bbappend
>>> +++
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.1.bbappend
>>> @@ -45,6 +45,7 @@ COMPATIBLE_MACHINE_{{=machine}} = "{{=machine}}"
>>>   {{ if need_new_kbranch == "n": }}
>>>   KBRANCH_{{=machine}}  = "{{=existing_kbranch}}"
>>>   +{{ if qemuarch != "arm": }}
>>>   {{ input type:"boolean" name:"smp" prio:"30" msg:"Do you need SMP
>>> support? (y/n)" default:"y"}}
>>>   {{ if smp == "y": }}
>>>   KERNEL_FEATURES_append_{{=machine}} += " cfg/smp.scc"
>>> diff --git
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.10.bbappend
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.10.bbappend
>>> index 29ad17b2009..9b5f8016841 100644
>>> ---
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.10.bbappend
>>> +++
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.10.bbappend
>>> @@ -45,6 +45,7 @@ COMPATIBLE_MACHINE_{{=machine}} = "{{=machine}}"
>>>   {{ if need_new_kbranch == "n": }}
>>>   KBRANCH_{{=machine}}  = "{{=existing_kbranch}}"
>>>   +{{ if qemuarch != "arm": }}
>>>   {{ input type:"boolean" name:"smp" prio:"30" msg:"Do you need SMP
>>> support? (y/n)" default:"y"}}
>>>   {{ if smp == "y": }}
>>>   KERNEL_FEATURES_append_{{=machine}} += " cfg/smp.scc"
>>> diff --git
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.4.bbappend
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.4.bbappend
>>> index a73b1aa132f..2fc992992cf 100644
>>> ---
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.4.bbappend
>>> +++
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.4.bbappend
>>> @@ -45,6 +45,7 @@ COMPATIBLE_MACHINE_{{=machine}} = "{{=machine}}"
>>>   {{ if need_new_kbranch == "n": }}
>>>   KBRANCH_{{=machine}}  = "{{=existing_kbranch}}"
>>>   +{{ if qemuarch != "arm": }}
>>>   {{ input type:"boolean" name:"smp" prio:"30" msg:"Do you need SMP
>>> support? (y/n)" default:"y"}}
>>>   {{ if smp == "y": }}
>>>   KERNEL_FEATURES_append_{{=machine}} += " cfg/smp.scc"
>>> diff --git
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.8.bbappend
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.8.bbappend
>>> index 7d40671fd43..868d12af04b 100644
>>> ---
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.8.bbappend
>>> +++
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto-tiny_4.8.bbappend
>>> @@ -45,6 +45,7 @@ COMPATIBLE_MACHINE_{{=machine}} = "{{=machine}}"
>>>   {{ if need_new_kbranch == "n": }}
>>>   KBRANCH_{{=machine}}  = "{{=existing_kbranch}}"
>>>   +{{ if qemuarch != "arm": }}
>>>   {{ input type:"boolean" name:"smp" prio:"30" msg:"Do you need SMP
>>> support? (y/n)" default:"y"}}
>>>   {{ if smp == "y": }}
>>>   KERNEL_FEATURES_append_{{=machine}} += " cfg/smp.scc"
>>> diff --git
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.1.bbappend
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.1.bbappend
>>> index a9fd9ecff5a..13450f47438 100644
>>> ---
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.1.bbappend
>>> +++
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.1.bbappend
>>> @@ -45,6 +45,7 @@ COMPATIBLE_MACHINE_{{=machine}} = "{{=machine}}"
>>>   {{ if need_new_kbranch == "n": }}
>>>   KBRANCH_{{=machine}}  = "{{=existing_kbranch}}"
>>>   +{{ if qemuarch != "arm": }}
>>>   {{ input type:"boolean" name:"smp" prio:"30" msg:"Would you like SMP
>>> support? (y/n)" default:"y"}}
>>>   {{ if smp == "y": }}
>>>   KERNEL_FEATURES_append_{{=machine}} += " cfg/smp.scc"
>>> diff --git
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.10.bbappend
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.10.bbappend
>>> index 5873da4245c..e1af4976fc4 100644
>>> ---
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.10.bbappend
>>> +++
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.10.bbappend
>>> @@ -45,6 +45,7 @@ COMPATIBLE_MACHINE_{{=machine}} = "{{=machine}}"
>>>   {{ if need_new_kbranch == "n": }}
>>>   KBRANCH_{{=machine}}  = "{{=existing_kbranch}}"
>>>   +{{ if qemuarch != "arm": }}
>>>   {{ input type:"boolean" name:"smp" prio:"30" msg:"Would you like SMP
>>> support? (y/n)" default:"y"}}
>>>   {{ if smp == "y": }}
>>>   KERNEL_FEATURES_append_{{=machine}} += " cfg/smp.scc"
>>> diff --git
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.4.bbappend
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.4.bbappend
>>> index cdee7737983..a2511ba197c 100644
>>> ---
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.4.bbappend
>>> +++
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.4.bbappend
>>> @@ -45,6 +45,7 @@ COMPATIBLE_MACHINE_{{=machine}} = "{{=machine}}"
>>>   {{ if need_new_kbranch == "n": }}
>>>   KBRANCH_{{=machine}}  = "{{=existing_kbranch}}"
>>>   +{{ if qemuarch != "arm": }}
>>>   {{ input type:"boolean" name:"smp" prio:"30" msg:"Would you like SMP
>>> support? (y/n)" default:"y"}}
>>>   {{ if smp == "y": }}
>>>   KERNEL_FEATURES_append_{{=machine}} += " cfg/smp.scc"
>>> diff --git
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.8.bbappend
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.8.bbappend
>>> index 24c28803ee7..fdf66bb4429 100644
>>> ---
>>> a/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.8.bbappend
>>> +++
>>> b/scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/linux-yocto_4.8.bbappend
>>> @@ -45,6 +45,7 @@ COMPATIBLE_MACHINE_{{=machine}} = "{{=machine}}"
>>>   {{ if need_new_kbranch == "n": }}
>>>   KBRANCH_{{=machine}}  = "{{=existing_kbranch}}"
>>>   +{{ if qemuarch != "arm": }}
>>>   {{ input type:"boolean" name:"smp" prio:"30" msg:"Would you like SMP
>>> support? (y/n)" default:"y"}}
>>>   {{ if smp == "y": }}
>>>   KERNEL_FEATURES_append_{{=machine}} += " cfg/smp.scc"
>>> --
>>> 2.12.0
>>>
>>
>
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto



More information about the yocto mailing list