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

Alejandro Hernandez alejandro.hernandez at linux.intel.com
Wed May 31 17:41:08 PDT 2017


On 05/31/2017 01:46 PM, Khem Raj wrote:
>
>
> On Tue, May 30, 2017 at 6:15 PM, Bruce Ashfield 
> <bruce.ashfield at gmail.com <mailto:bruce.ashfield at gmail.com>> wrote:
> >
> >
> > On Tue, May 30, 2017 at 6:52 PM, Alejandro Hernandez
> > <alejandro.hernandez at linux.intel.com 
> <mailto: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 
> <mailto: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
>
>
I would also assume they've got some work on this, it'd be nice to 
contact them and see if this can be done, although I asked on IRC 
several times to see what people thoughts were on if we should upgrade 
and I practically got no feedback.

> > 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 
> <mailto: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 <mailto:yocto at yoctoproject.org>
> >>>> https://lists.yoctoproject.org/listinfo/yocto
> >>
> >>
> >> --
> >> _______________________________________________
> >> yocto mailing list
> >> yocto at yoctoproject.org <mailto: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 <mailto: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/e2f0ebf2/attachment.html>


More information about the yocto mailing list