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

Khem Raj raj.khem at gmail.com
Wed May 31 11:46:45 PDT 2017


On Tue, May 30, 2017 at 6:15 PM, Bruce Ashfield <bruce.ashfield at gmail.com>
wrote:
>
>
> 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).
>

I think it will be more effective if we tested most used configuration
instead, it would help a larger community. GCC 7 also dropped armv5 ( the t
variants are still supported )

I would think keep the name qemuarm but use armv7 based machine to emulate
would be an option I am sure meta Linaro has some work on this that can be
used in oe core


> 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.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
>>
>>
>> --
>> _______________________________________________
>> 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"
>
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20170531/36df3bfe/attachment.html>


More information about the yocto mailing list