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

Alejandro Hernandez alejandro.hernandez at linux.intel.com
Tue May 30 15:52:01 PDT 2017


Hey Andy,


On 05/30/2017 05:32 PM, Andre McCurdy wrote:
> 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.
I believe qemu has deep issues with newer ARMs, and thats why it's been 
kept like that.
>
>>>> 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