All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] yocto-bsp: Fix QEMUARM based bsps to not offer SMP support
@ 2017-05-30 18:44 Alejandro Hernandez
  2017-05-30 19:59 ` Leonardo Sandoval
  0 siblings, 1 reply; 12+ messages in thread
From: Alejandro Hernandez @ 2017-05-30 18:44 UTC (permalink / raw)
  To: yocto

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.

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



^ permalink raw reply related	[flat|nested] 12+ messages in thread
* Re: [PATCH] yocto-bsp: Fix QEMUARM based bsps to not offer SMP support
@ 2017-05-31 19:01 gmane
  0 siblings, 0 replies; 12+ messages in thread
From: gmane @ 2017-05-31 19:01 UTC (permalink / raw)
  To: yocto, armccurdy; +Cc: robert.berger

On 2017-05-31 21:20, Andre McCurdy wrote:
> 
> Keeping the existing platform but updating the CPU would have the
> advantage that qemuarm could then share binaries and sstate with real
> world ARM targets.
> 
> It would also be a step towards defining an official "generic ARMv7"
> tuning target within OE, which could be used as the default
> DEFAULTTUNE for all ARMv7 targets.
> 

I would highly appreciate a "generic ARMv7" target!

What I usually use on various boards is:

*) DEFAULTTUNE = "armv7a-neon"
    include conf/machine/include/arm/arch-armv7a.inc
*) same rootfs binay for all boards
*) a kernel starting from a multi_v7_defconfig
*) a different device tree for each board
*) a different u-boot for each board

I even got such a kernel/rootfs to work with the qemu which comes with 
the Yocto project with some ancient Yocto version by hacking the qemu 
run script [1][2]. This uses the versatile expressa qemu target and uses 
a device tree. I did not try, but nowadays runqemu is in Python and 
something like this should be possible as well. Like this the same 
binaries could run on qemu and on various boards.

[1] 
https://github.com/RobertBerger/poky/blob/2015-03-20-dizzy%2B/scripts/runqemu
[2] 
https://github.com/RobertBerger/poky/blob/2015-03-20-dizzy%2B/scripts/runqemu-internal


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-06-01  0:57 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-30 18:44 [PATCH] yocto-bsp: Fix QEMUARM based bsps to not offer SMP support Alejandro Hernandez
2017-05-30 19:59 ` Leonardo Sandoval
2017-05-30 20:12   ` Alejandro Hernandez
2017-05-30 22:32     ` Andre McCurdy
2017-05-30 22:52       ` Alejandro Hernandez
2017-05-31  1:11         ` Andre McCurdy
2017-05-31  1:15         ` Bruce Ashfield
2017-05-31 18:20           ` Andre McCurdy
2017-05-31 18:46           ` Khem Raj
2017-06-01  0:41             ` Alejandro Hernandez
2017-06-01  0:57               ` Khem Raj
2017-05-31 19:01 gmane

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.