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

Bruce Ashfield bruce.ashfield at gmail.com
Tue May 30 18:15:05 PDT 2017


On Tue, May 30, 2017 at 6:52 PM, Alejandro Hernandez <
alejandro.hernandez at linux.intel.com> wrote:

> 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.


Qemu itself should be fine with the newer ARMs .. but we've just targeted a
lowest common
denominator (and simple) ARM arch for this target. Since the primary goal
isn't testing the ISA or arch
specifics via qemuarm/qemuarm64 (rather, sanity, base arch support, etc).

That being said, as long as a newer platform/board was chosen that had full
disk support
(something that the qemuarma9 lacks), then it is feasible to do an update
to something
newer. Alternatively, we could keep the platform the same and update the
CPU definition .. but
there's not a huge value in that.

But if we did bring in something newer, we'd have to drop the existing
qemuarm and document that
we aren't doing any coverage on the older ARM arches.

Bruce


>
>
>> 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.int
>>>>> el.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
>>>
>>
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20170530/09ab4d5a/attachment.html>


More information about the yocto mailing list