All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration
@ 2019-03-11  3:12 Richard Purdie
  2019-03-11  3:12 ` [PATCH 2/5] machine: bump preferred version to 5.0 Richard Purdie
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Richard Purdie @ 2019-03-11  3:12 UTC (permalink / raw)
  To: openembedded-core

From: Jon Mason <jdmason@kudzu.us>

Add new QEMU BSP for a Arm Cortex-A15 system and use this as qemuarm,
moving the old armv5te Versatile PB based machine to qemuarmv5.

The new machine uses the QEMU virt machine type, which should be
faster to emulate and updates the qemuarm support to a modern
architecture.

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/conf/machine/qemuarm.conf                | 34 +++++++++++++------
 meta/conf/machine/qemuarmv5.conf              | 23 +++++++++++++
 .../linux/linux-yocto-rt_4.19.bb              |  2 +-
 .../linux/linux-yocto-rt_5.0.bb               |  2 +-
 .../linux/linux-yocto-tiny_4.19.bb            |  2 +-
 .../linux/linux-yocto-tiny_5.0.bb             |  2 +-
 meta/recipes-kernel/linux/linux-yocto_4.19.bb |  2 +-
 meta/recipes-kernel/linux/linux-yocto_5.0.bb  |  2 +-
 8 files changed, 52 insertions(+), 17 deletions(-)
 create mode 100644 meta/conf/machine/qemuarmv5.conf

diff --git a/meta/conf/machine/qemuarm.conf b/meta/conf/machine/qemuarm.conf
index a5443126273..95550461899 100644
--- a/meta/conf/machine/qemuarm.conf
+++ b/meta/conf/machine/qemuarm.conf
@@ -1,21 +1,33 @@
 #@TYPE: Machine
-#@NAME: arm_versatile_926ejs
-#@DESCRIPTION: arm_versatile_926ejs
+#@NAME: generic Arm Cortex-A15 machine
+#@DESCRIPTION: Machine configuration for running a generic armv7
 
+require conf/machine/include/tune-cortexa15.inc
 require conf/machine/include/qemu.inc
-require conf/machine/include/tune-arm926ejs.inc
-#require conf/machine/include/tune-arm1136jf-s.inc
 
 KERNEL_IMAGETYPE = "zImage"
 
-SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1"
+SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
 
 # For runqemu
 QB_SYSTEM_NAME = "qemu-system-arm"
-QB_MACHINE = "-machine versatilepb"
-QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty"
-QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
-# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
+QB_MEM = "-m 512"
+QB_MACHINE = "-machine virt"
+QB_CPU = "-cpu cortex-a15"
+# Standard Serial console
+QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0"
+# For graphics to work we need to define the VGA device as well as the necessary USB devices
+QB_OPT_APPEND = "-show-cursor -device VGA,edid=on"
+QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd"
+# Add the virtio RNG
 QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
-PREFERRED_VERSION_linux-yocto ??= "4.18%"
-QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
+# Virtio Networking support
+QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
+QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@"
+# Virtio block device
+QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"
+# Virtio serial console
+QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
+QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
+
+KMACHINE_qemuarm = "qemuarma15"
diff --git a/meta/conf/machine/qemuarmv5.conf b/meta/conf/machine/qemuarmv5.conf
new file mode 100644
index 00000000000..5f90accc242
--- /dev/null
+++ b/meta/conf/machine/qemuarmv5.conf
@@ -0,0 +1,23 @@
+#@TYPE: Machine
+#@NAME: arm_versatile_926ejs
+#@DESCRIPTION: arm_versatile_926ejs
+
+require conf/machine/include/qemu.inc
+require conf/machine/include/tune-arm926ejs.inc
+#require conf/machine/include/tune-arm1136jf-s.inc
+
+KERNEL_IMAGETYPE = "zImage"
+
+SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1"
+
+# For runqemu
+QB_SYSTEM_NAME = "qemu-system-arm"
+QB_MACHINE = "-machine versatilepb"
+QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty"
+QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
+# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
+QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
+PREFERRED_VERSION_linux-yocto ??= "4.18%"
+QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
+
+KMACHINE_qemuarmv5 = "qemuarm"
\ No newline at end of file
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
index 07dc5b77a14..36761b99437 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
@@ -31,7 +31,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
 
 LINUX_KERNEL_TYPE = "preempt-rt"
 
-COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarm64|qemuppc|qemumips)"
+COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarma15|qemuarm64|qemuppc|qemumips)"
 
 KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
 
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb b/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
index 2350973fef2..52c289903be 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
@@ -31,7 +31,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
 
 LINUX_KERNEL_TYPE = "preempt-rt"
 
-COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarm64|qemuppc|qemumips)"
+COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
 
 KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
 
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
index c6d1594a828..52dbabd7a47 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
@@ -24,7 +24,7 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA}"
 
-COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm"
+COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarma15"
 
 # Functionality flags
 KERNEL_FEATURES = ""
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
index e0a68014461..b6401199a41 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
@@ -24,7 +24,7 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}"
 
-COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm"
+COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
 
 # Functionality flags
 KERNEL_FEATURES = ""
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.19.bb b/meta/recipes-kernel/linux/linux-yocto_4.19.bb
index 8a4355ee833..3ef26a12baa 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.19.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.19.bb
@@ -37,7 +37,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
 
 KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
 
-COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
+COMPATIBLE_MACHINE = "qemuarm|qemuarma15|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
 
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
diff --git a/meta/recipes-kernel/linux/linux-yocto_5.0.bb b/meta/recipes-kernel/linux/linux-yocto_5.0.bb
index f2c066a1503..ae6e80c0108 100644
--- a/meta/recipes-kernel/linux/linux-yocto_5.0.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_5.0.bb
@@ -40,7 +40,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
 
 KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
 
-COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
+COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
 
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
-- 
2.20.1



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

* [PATCH 2/5] machine: bump preferred version to 5.0
  2019-03-11  3:12 [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration Richard Purdie
@ 2019-03-11  3:12 ` Richard Purdie
  2019-03-11  3:12 ` [PATCH 3/5] qemuarm64: Fix graphics hang with 5.0 kernel Richard Purdie
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 17+ messages in thread
From: Richard Purdie @ 2019-03-11  3:12 UTC (permalink / raw)
  To: openembedded-core

From: Bruce Ashfield <bruce.ashfield@gmail.com>

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
---
 meta/conf/machine/include/x86-base.inc | 2 +-
 meta/conf/machine/qemuarm64.conf       | 2 --
 meta/conf/machine/qemuarmv5.conf       | 2 +-
 3 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/meta/conf/machine/include/x86-base.inc b/meta/conf/machine/include/x86-base.inc
index c29279209b7..686f9382338 100644
--- a/meta/conf/machine/include/x86-base.inc
+++ b/meta/conf/machine/include/x86-base.inc
@@ -18,7 +18,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0"
 # kernel-related variables
 #
 PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ??= "4.18%"
+PREFERRED_VERSION_linux-yocto ??= "5.0%"
 
 #
 # XSERVER subcomponents, used to build the XSERVER variable
diff --git a/meta/conf/machine/qemuarm64.conf b/meta/conf/machine/qemuarm64.conf
index e17245a0f71..92c61cb2438 100644
--- a/meta/conf/machine/qemuarm64.conf
+++ b/meta/conf/machine/qemuarm64.conf
@@ -29,5 +29,3 @@ QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio
 # Virtio serial console
 QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
 QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
-
-PREFERRED_VERSION_linux-yocto ?= "4.19%"
diff --git a/meta/conf/machine/qemuarmv5.conf b/meta/conf/machine/qemuarmv5.conf
index 5f90accc242..e3948a25da1 100644
--- a/meta/conf/machine/qemuarmv5.conf
+++ b/meta/conf/machine/qemuarmv5.conf
@@ -17,7 +17,7 @@ QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty"
 QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
 # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
 QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
-PREFERRED_VERSION_linux-yocto ??= "4.18%"
+PREFERRED_VERSION_linux-yocto ??= "5.0%"
 QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
 
 KMACHINE_qemuarmv5 = "qemuarm"
\ No newline at end of file
-- 
2.20.1



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

* [PATCH 3/5] qemuarm64: Fix graphics hang with 5.0 kernel
  2019-03-11  3:12 [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration Richard Purdie
  2019-03-11  3:12 ` [PATCH 2/5] machine: bump preferred version to 5.0 Richard Purdie
@ 2019-03-11  3:12 ` Richard Purdie
  2019-03-11  3:12 ` [PATCH 4/5] linux-yocto: Fix systemtap issue on armv7 Richard Purdie
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 17+ messages in thread
From: Richard Purdie @ 2019-03-11  3:12 UTC (permalink / raw)
  To: openembedded-core

Ensure we turn on edid for the VGA display which fixes a hang with the
5.0 kernel for qemuarm64.

Thanks to Jon Mason for the fix.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/conf/machine/qemuarm64.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/conf/machine/qemuarm64.conf b/meta/conf/machine/qemuarm64.conf
index 92c61cb2438..22f6cb742b6 100644
--- a/meta/conf/machine/qemuarm64.conf
+++ b/meta/conf/machine/qemuarm64.conf
@@ -17,7 +17,7 @@ QB_CPU = "-cpu cortex-a57"
 # Standard Serial console
 QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0"
 # For graphics to work we need to define the VGA device as well as the necessary USB devices
-QB_OPT_APPEND = "-show-cursor -device VGA"
+QB_OPT_APPEND = "-show-cursor -device VGA,edid=on"
 QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd"
 # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
 QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
-- 
2.20.1



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

* [PATCH 4/5] linux-yocto: Fix systemtap issue on armv7
  2019-03-11  3:12 [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration Richard Purdie
  2019-03-11  3:12 ` [PATCH 2/5] machine: bump preferred version to 5.0 Richard Purdie
  2019-03-11  3:12 ` [PATCH 3/5] qemuarm64: Fix graphics hang with 5.0 kernel Richard Purdie
@ 2019-03-11  3:12 ` Richard Purdie
  2019-03-11  3:16   ` Bruce Ashfield
  2019-03-11  4:27   ` Khem Raj
  2019-03-11  3:12 ` [PATCH 5/5] meta-selftest/virgl: Exclude centos7 from the kmscube test Richard Purdie
                   ` (2 subsequent siblings)
  5 siblings, 2 replies; 17+ messages in thread
From: Richard Purdie @ 2019-03-11  3:12 UTC (permalink / raw)
  To: openembedded-core

Testing stap on armv7 machines was failing due to intermixing of thumb/arm
instructions. Patch the kernel to always use the v7 march options since
we know our gcc versions support it to avoid the failure and allow
systemtap to work.

[YOCTO #13153]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 ...0001-arm-Makefile-Fix-systemtap-4.19.patch | 60 +++++++++++++++++++
 .../0001-arm-Makefile-Fix-systemtap.patch     | 60 +++++++++++++++++++
 meta/recipes-kernel/linux/linux-yocto_4.19.bb |  3 +-
 meta/recipes-kernel/linux/linux-yocto_5.0.bb  |  3 +-
 4 files changed, 124 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch
 create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch

diff --git a/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch
new file mode 100644
index 00000000000..53bd53b276c
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch
@@ -0,0 +1,60 @@
+From c2995494e311c113177db50ff140cebd94fd4011 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Sun, 10 Mar 2019 06:43:15 +0000
+Subject: [PATCH] arm/Makefile: Fix systemtap
+
+Currently systemtap fails to operate correctly on armv7 systems such as beaglebone and
+soon, qemuarm.
+
+
+root@qemuarm:/usr/src/kernel# env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin make -C /lib/modules/4.19.19-yocto-standard/build M=/tmp/staptcNU6M modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm stap_4321_src.i --no-print-directory -j2 V=1
+test -e include/generated/autoconf.h -a -e include/config/auto.conf || (		\
+echo >&2;							\
+echo >&2 "  ERROR: Kernel configuration is invalid.";		\
+echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
+echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";	\
+echo >&2 ;							\
+/bin/false)
+mkdir -p /tmp/staptcNU6M/.tmp_versions ; rm -f /tmp/staptcNU6M/.tmp_versions/*
+make -f ./scripts/Makefile.build obj=/tmp/staptcNU6M
+(cat /dev/null;   echo kernel//tmp/staptcNU6M/stap_4321.ko;) > /tmp/staptcNU6M/modules.order
+  gcc -Wp,-MD,/tmp/staptcNU6M/.stap_4321_src.o.d  -nostdinc -isystem /usr/lib/gcc/arm-poky-linux-gnueabi/8.3.0/include -I./arch/arm/include -I./arch/arm/include/generated  -I./include -I./arch/arm/include/uapi -I./arch/arm/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -DCC_HAVE_ASM_GOTO -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mfpu=vfp -funwind-tables -marm -Wa,-mno-warn-deprecated -D__LINUX_ARM_ARCH__=7 -march=armv5t -Wa,-march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -Os -Wno-maybe-uninitialized --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned -Iinclude2/asm/mach-default -I/lib/modules/4.19.19-yocto-standard/build -include /tmp/staptcNU6M/stapconf_4321.h -D "STP_NO_VELREL_CHECK" -freorder-blocks -fasynchronous-unwind-tables -Wframe-larger-than=512 -fno-ipa-icf -Wno-unused -Wno-tautological-compare -Werror -I/usr/share/systemtap/runtime  -DMODULE  -DKBUILD_BASENAME='"stap_4321_src"' -DKBUILD_MODNAME='"stap_4321"' -c -o /tmp/staptcNU6M/stap_4321_src.o /tmp/staptcNU6M/stap_4321_src.c
+/tmp/ccaE9CMG.s: Assembler messages:
+/tmp/ccaE9CMG.s:49: Error: selected processor does not support `dmb ish' in ARM mode
+/tmp/ccaE9CMG.s:52: Error: architectural extension `mp' is not allowed for the current b
+
+(which was from running the stap command with -v -v -v -k and then being able to run the command individually)
+
+Note that it says armv5t above.
+
+That comes from the code this patch changes
+
+root@qemuarm:/usr/src/kernel# gcc -march=armv7-a /tmp/staptcNU6M/stap_4321_aux_0.c
+cc1: error: -mfloat-abi=hard: selected processor lacks an FPU
+
+which makes me wonder if cc-option fails unless -mfpu-vfp is on the commandline too.
+
+Since we have a gcc which accepts the armv7-a arch, just remove the cc-option
+wrapper unconditionally here.
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+---
+ arch/arm/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/Makefile b/arch/arm/Makefile
+index ecb99f7ac613..8513ba79ea04 100644
+--- a/arch/arm/Makefile
++++ b/arch/arm/Makefile
+@@ -64,7 +64,7 @@ KBUILD_CFLAGS	+= $(call cc-option,-fno-ipa-sra)
+ # macro, but instead defines a whole series of macros which makes
+ # testing for a specific architecture or later rather impossible.
+ arch-$(CONFIG_CPU_32v7M)	=-D__LINUX_ARM_ARCH__=7 -march=armv7-m -Wa,-march=armv7-m
+-arch-$(CONFIG_CPU_32v7)		=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
++arch-$(CONFIG_CPU_32v7)		=-D__LINUX_ARM_ARCH__=7 -march=armv7-a -Wa$(comma)-march=armv7-a
+ arch-$(CONFIG_CPU_32v6)		=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
+ # Only override the compiler option if ARMv6. The ARMv6K extensions are
+ # always available in ARMv7
+-- 
+2.20.1
+
diff --git a/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch
new file mode 100644
index 00000000000..53bd53b276c
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch
@@ -0,0 +1,60 @@
+From c2995494e311c113177db50ff140cebd94fd4011 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Sun, 10 Mar 2019 06:43:15 +0000
+Subject: [PATCH] arm/Makefile: Fix systemtap
+
+Currently systemtap fails to operate correctly on armv7 systems such as beaglebone and
+soon, qemuarm.
+
+
+root@qemuarm:/usr/src/kernel# env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin make -C /lib/modules/4.19.19-yocto-standard/build M=/tmp/staptcNU6M modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm stap_4321_src.i --no-print-directory -j2 V=1
+test -e include/generated/autoconf.h -a -e include/config/auto.conf || (		\
+echo >&2;							\
+echo >&2 "  ERROR: Kernel configuration is invalid.";		\
+echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
+echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";	\
+echo >&2 ;							\
+/bin/false)
+mkdir -p /tmp/staptcNU6M/.tmp_versions ; rm -f /tmp/staptcNU6M/.tmp_versions/*
+make -f ./scripts/Makefile.build obj=/tmp/staptcNU6M
+(cat /dev/null;   echo kernel//tmp/staptcNU6M/stap_4321.ko;) > /tmp/staptcNU6M/modules.order
+  gcc -Wp,-MD,/tmp/staptcNU6M/.stap_4321_src.o.d  -nostdinc -isystem /usr/lib/gcc/arm-poky-linux-gnueabi/8.3.0/include -I./arch/arm/include -I./arch/arm/include/generated  -I./include -I./arch/arm/include/uapi -I./arch/arm/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -DCC_HAVE_ASM_GOTO -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mfpu=vfp -funwind-tables -marm -Wa,-mno-warn-deprecated -D__LINUX_ARM_ARCH__=7 -march=armv5t -Wa,-march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -Os -Wno-maybe-uninitialized --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned -Iinclude2/asm/mach-default -I/lib/modules/4.19.19-yocto-standard/build -include /tmp/staptcNU6M/stapconf_4321.h -D "STP_NO_VELREL_CHECK" -freorder-blocks -fasynchronous-unwind-tables -Wframe-larger-than=512 -fno-ipa-icf -Wno-unused -Wno-tautological-compare -Werror -I/usr/share/systemtap/runtime  -DMODULE  -DKBUILD_BASENAME='"stap_4321_src"' -DKBUILD_MODNAME='"stap_4321"' -c -o /tmp/staptcNU6M/stap_4321_src.o /tmp/staptcNU6M/stap_4321_src.c
+/tmp/ccaE9CMG.s: Assembler messages:
+/tmp/ccaE9CMG.s:49: Error: selected processor does not support `dmb ish' in ARM mode
+/tmp/ccaE9CMG.s:52: Error: architectural extension `mp' is not allowed for the current b
+
+(which was from running the stap command with -v -v -v -k and then being able to run the command individually)
+
+Note that it says armv5t above.
+
+That comes from the code this patch changes
+
+root@qemuarm:/usr/src/kernel# gcc -march=armv7-a /tmp/staptcNU6M/stap_4321_aux_0.c
+cc1: error: -mfloat-abi=hard: selected processor lacks an FPU
+
+which makes me wonder if cc-option fails unless -mfpu-vfp is on the commandline too.
+
+Since we have a gcc which accepts the armv7-a arch, just remove the cc-option
+wrapper unconditionally here.
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+---
+ arch/arm/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/Makefile b/arch/arm/Makefile
+index ecb99f7ac613..8513ba79ea04 100644
+--- a/arch/arm/Makefile
++++ b/arch/arm/Makefile
+@@ -64,7 +64,7 @@ KBUILD_CFLAGS	+= $(call cc-option,-fno-ipa-sra)
+ # macro, but instead defines a whole series of macros which makes
+ # testing for a specific architecture or later rather impossible.
+ arch-$(CONFIG_CPU_32v7M)	=-D__LINUX_ARM_ARCH__=7 -march=armv7-m -Wa,-march=armv7-m
+-arch-$(CONFIG_CPU_32v7)		=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
++arch-$(CONFIG_CPU_32v7)		=-D__LINUX_ARM_ARCH__=7 -march=armv7-a -Wa$(comma)-march=armv7-a
+ arch-$(CONFIG_CPU_32v6)		=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
+ # Only override the compiler option if ARMv6. The ARMv6K extensions are
+ # always available in ARMv7
+-- 
+2.20.1
+
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.19.bb b/meta/recipes-kernel/linux/linux-yocto_4.19.bb
index 3ef26a12baa..aca9f15404e 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.19.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.19.bb
@@ -22,7 +22,8 @@ SRCREV_machine ?= "11e0e616ed095bb8012e1b4a231254c9656a0193"
 SRCREV_meta ?= "41fe45f7c5e69f6ec26c657fea16c459544042cf"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
-           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA}"
+           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA} \
+           file://0001-arm-Makefile-Fix-systemtap-4.19.patch"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 LINUX_VERSION ?= "4.19.19"
diff --git a/meta/recipes-kernel/linux/linux-yocto_5.0.bb b/meta/recipes-kernel/linux/linux-yocto_5.0.bb
index ae6e80c0108..198fed43411 100644
--- a/meta/recipes-kernel/linux/linux-yocto_5.0.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_5.0.bb
@@ -25,7 +25,8 @@ SRCREV_meta ?= "4faa4419884d2bbe65f637befd71a1e95629eaae"
 # KMACHINE_qemuarm ?= "qemuarma15"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
-           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}"
+           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA} \
+           file://0001-arm-Makefile-Fix-systemtap.patch"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 LINUX_VERSION ?= "5.0"
-- 
2.20.1



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

* [PATCH 5/5] meta-selftest/virgl: Exclude centos7 from the kmscube test
  2019-03-11  3:12 [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration Richard Purdie
                   ` (2 preceding siblings ...)
  2019-03-11  3:12 ` [PATCH 4/5] linux-yocto: Fix systemtap issue on armv7 Richard Purdie
@ 2019-03-11  3:12 ` Richard Purdie
  2019-03-11 15:09 ` [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration Tom Rini
  2019-03-20  0:22 ` Denys Dmytriyenko
  5 siblings, 0 replies; 17+ messages in thread
From: Richard Purdie @ 2019-03-11  3:12 UTC (permalink / raw)
  To: openembedded-core

This test does not work on centos7 so diable it (as was done in the
original series before we thought it was working).

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta-selftest/lib/oeqa/runtime/cases/virgl.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/meta-selftest/lib/oeqa/runtime/cases/virgl.py b/meta-selftest/lib/oeqa/runtime/cases/virgl.py
index fd6b7851dbe..d301a19fa42 100644
--- a/meta-selftest/lib/oeqa/runtime/cases/virgl.py
+++ b/meta-selftest/lib/oeqa/runtime/cases/virgl.py
@@ -1,6 +1,7 @@
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
 import subprocess
+import oe.lsb
 
 class VirglTest(OERuntimeTestCase):
 
@@ -12,6 +13,11 @@ class VirglTest(OERuntimeTestCase):
 
     @OETestDepends(['virgl.VirglTest.test_kernel_driver'])
     def test_kmscube(self):
+
+        distro = oe.lsb.distro_identifier()
+        if distro and distro == 'centos-7':
+            self.skipTest('kmscube is not working when centos 7 is the host OS')
+
         status, output = self.target.run('kmscube', timeout=30)
         self.assertEqual(status, 0, "kmscube exited with non-zero status %d and output:\n%s" %(status, output))
         self.assertIn('renderer: "virgl"', output, "kmscube does not seem to use virgl:\n%s" %(output))
-- 
2.20.1



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

* Re: [PATCH 4/5] linux-yocto: Fix systemtap issue on armv7
  2019-03-11  3:12 ` [PATCH 4/5] linux-yocto: Fix systemtap issue on armv7 Richard Purdie
@ 2019-03-11  3:16   ` Bruce Ashfield
  2019-03-11  4:29     ` Victor Kamensky
  2019-03-11  4:27   ` Khem Raj
  1 sibling, 1 reply; 17+ messages in thread
From: Bruce Ashfield @ 2019-03-11  3:16 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Patches and discussions about the oe-core layer

On Sun, Mar 10, 2019 at 11:12 PM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> Testing stap on armv7 machines was failing due to intermixing of thumb/arm
> instructions. Patch the kernel to always use the v7 march options since
> we know our gcc versions support it to avoid the failure and allow
> systemtap to work.

I'd rather just merge this into the kernel directly. I can do a quick
merge and bump
of the SRCREV. If you send the patch against linux-yocto, that makes it easier
for me to grab and integrate it, versus having to dig it out of here
(since my access
is pretty limited at the moment).

Bruce

>
> [YOCTO #13153]
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  ...0001-arm-Makefile-Fix-systemtap-4.19.patch | 60 +++++++++++++++++++
>  .../0001-arm-Makefile-Fix-systemtap.patch     | 60 +++++++++++++++++++
>  meta/recipes-kernel/linux/linux-yocto_4.19.bb |  3 +-
>  meta/recipes-kernel/linux/linux-yocto_5.0.bb  |  3 +-
>  4 files changed, 124 insertions(+), 2 deletions(-)
>  create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch
>  create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch
>
> diff --git a/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch
> new file mode 100644
> index 00000000000..53bd53b276c
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch
> @@ -0,0 +1,60 @@
> +From c2995494e311c113177db50ff140cebd94fd4011 Mon Sep 17 00:00:00 2001
> +From: Richard Purdie <richard.purdie@linuxfoundation.org>
> +Date: Sun, 10 Mar 2019 06:43:15 +0000
> +Subject: [PATCH] arm/Makefile: Fix systemtap
> +
> +Currently systemtap fails to operate correctly on armv7 systems such as beaglebone and
> +soon, qemuarm.
> +
> +
> +root@qemuarm:/usr/src/kernel# env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin make -C /lib/modules/4.19.19-yocto-standard/build M=/tmp/staptcNU6M modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm stap_4321_src.i --no-print-directory -j2 V=1
> +test -e include/generated/autoconf.h -a -e include/config/auto.conf || (               \
> +echo >&2;                                                      \
> +echo >&2 "  ERROR: Kernel configuration is invalid.";          \
> +echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
> +echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";     \
> +echo >&2 ;                                                     \
> +/bin/false)
> +mkdir -p /tmp/staptcNU6M/.tmp_versions ; rm -f /tmp/staptcNU6M/.tmp_versions/*
> +make -f ./scripts/Makefile.build obj=/tmp/staptcNU6M
> +(cat /dev/null;   echo kernel//tmp/staptcNU6M/stap_4321.ko;) > /tmp/staptcNU6M/modules.order
> +  gcc -Wp,-MD,/tmp/staptcNU6M/.stap_4321_src.o.d  -nostdinc -isystem /usr/lib/gcc/arm-poky-linux-gnueabi/8.3.0/include -I./arch/arm/include -I./arch/arm/include/generated  -I./include -I./arch/arm/include/uapi -I./arch/arm/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -DCC_HAVE_ASM_GOTO -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mfpu=vfp -funwind-tables -marm -Wa,-mno-warn-deprecated -D__LINUX_ARM_ARCH__=7 -march=armv5t -Wa,-march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -Os -Wno-maybe-uninitialized --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned -Iinclude2/asm/mach-default -I/lib/modules/4.19.19-yocto-standard/build -include /tmp/staptcNU6M/stapconf_4321.h -D "STP_NO_VELREL_CHECK" -freorder-blocks -fasynchronous-unwind-tables -Wframe-larger-than=512 -fno-ipa-icf -Wno-unused -Wno-tautological-compare -Werror -I/usr/share/systemtap/runtime  -DMODULE  -DKBUILD_BASENAME='"stap_4321_src"' -DKBUILD_MODNAME='"stap_4321"' -c -o /tmp/staptcNU6M/stap_4321_src.o /tmp/staptcNU6M/stap_4321_src.c
> +/tmp/ccaE9CMG.s: Assembler messages:
> +/tmp/ccaE9CMG.s:49: Error: selected processor does not support `dmb ish' in ARM mode
> +/tmp/ccaE9CMG.s:52: Error: architectural extension `mp' is not allowed for the current b
> +
> +(which was from running the stap command with -v -v -v -k and then being able to run the command individually)
> +
> +Note that it says armv5t above.
> +
> +That comes from the code this patch changes
> +
> +root@qemuarm:/usr/src/kernel# gcc -march=armv7-a /tmp/staptcNU6M/stap_4321_aux_0.c
> +cc1: error: -mfloat-abi=hard: selected processor lacks an FPU
> +
> +which makes me wonder if cc-option fails unless -mfpu-vfp is on the commandline too.
> +
> +Since we have a gcc which accepts the armv7-a arch, just remove the cc-option
> +wrapper unconditionally here.
> +
> +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> +---
> + arch/arm/Makefile | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> +index ecb99f7ac613..8513ba79ea04 100644
> +--- a/arch/arm/Makefile
> ++++ b/arch/arm/Makefile
> +@@ -64,7 +64,7 @@ KBUILD_CFLAGS        += $(call cc-option,-fno-ipa-sra)
> + # macro, but instead defines a whole series of macros which makes
> + # testing for a specific architecture or later rather impossible.
> + arch-$(CONFIG_CPU_32v7M)      =-D__LINUX_ARM_ARCH__=7 -march=armv7-m -Wa,-march=armv7-m
> +-arch-$(CONFIG_CPU_32v7)               =-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
> ++arch-$(CONFIG_CPU_32v7)               =-D__LINUX_ARM_ARCH__=7 -march=armv7-a -Wa$(comma)-march=armv7-a
> + arch-$(CONFIG_CPU_32v6)               =-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
> + # Only override the compiler option if ARMv6. The ARMv6K extensions are
> + # always available in ARMv7
> +--
> +2.20.1
> +
> diff --git a/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch
> new file mode 100644
> index 00000000000..53bd53b276c
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch
> @@ -0,0 +1,60 @@
> +From c2995494e311c113177db50ff140cebd94fd4011 Mon Sep 17 00:00:00 2001
> +From: Richard Purdie <richard.purdie@linuxfoundation.org>
> +Date: Sun, 10 Mar 2019 06:43:15 +0000
> +Subject: [PATCH] arm/Makefile: Fix systemtap
> +
> +Currently systemtap fails to operate correctly on armv7 systems such as beaglebone and
> +soon, qemuarm.
> +
> +
> +root@qemuarm:/usr/src/kernel# env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin make -C /lib/modules/4.19.19-yocto-standard/build M=/tmp/staptcNU6M modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm stap_4321_src.i --no-print-directory -j2 V=1
> +test -e include/generated/autoconf.h -a -e include/config/auto.conf || (               \
> +echo >&2;                                                      \
> +echo >&2 "  ERROR: Kernel configuration is invalid.";          \
> +echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
> +echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";     \
> +echo >&2 ;                                                     \
> +/bin/false)
> +mkdir -p /tmp/staptcNU6M/.tmp_versions ; rm -f /tmp/staptcNU6M/.tmp_versions/*
> +make -f ./scripts/Makefile.build obj=/tmp/staptcNU6M
> +(cat /dev/null;   echo kernel//tmp/staptcNU6M/stap_4321.ko;) > /tmp/staptcNU6M/modules.order
> +  gcc -Wp,-MD,/tmp/staptcNU6M/.stap_4321_src.o.d  -nostdinc -isystem /usr/lib/gcc/arm-poky-linux-gnueabi/8.3.0/include -I./arch/arm/include -I./arch/arm/include/generated  -I./include -I./arch/arm/include/uapi -I./arch/arm/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -DCC_HAVE_ASM_GOTO -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mfpu=vfp -funwind-tables -marm -Wa,-mno-warn-deprecated -D__LINUX_ARM_ARCH__=7 -march=armv5t -Wa,-march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -Os -Wno-maybe-uninitialized --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned -Iinclude2/asm/mach-default -I/lib/modules/4.19.19-yocto-standard/build -include /tmp/staptcNU6M/stapconf_4321.h -D "STP_NO_VELREL_CHECK" -freorder-blocks -fasynchronous-unwind-tables -Wframe-larger-than=512 -fno-ipa-icf -Wno-unused -Wno-tautological-compare -Werror -I/usr/share/systemtap/runtime  -DMODULE  -DKBUILD_BASENAME='"stap_4321_src"' -DKBUILD_MODNAME='"stap_4321"' -c -o /tmp/staptcNU6M/stap_4321_src.o /tmp/staptcNU6M/stap_4321_src.c
> +/tmp/ccaE9CMG.s: Assembler messages:
> +/tmp/ccaE9CMG.s:49: Error: selected processor does not support `dmb ish' in ARM mode
> +/tmp/ccaE9CMG.s:52: Error: architectural extension `mp' is not allowed for the current b
> +
> +(which was from running the stap command with -v -v -v -k and then being able to run the command individually)
> +
> +Note that it says armv5t above.
> +
> +That comes from the code this patch changes
> +
> +root@qemuarm:/usr/src/kernel# gcc -march=armv7-a /tmp/staptcNU6M/stap_4321_aux_0.c
> +cc1: error: -mfloat-abi=hard: selected processor lacks an FPU
> +
> +which makes me wonder if cc-option fails unless -mfpu-vfp is on the commandline too.
> +
> +Since we have a gcc which accepts the armv7-a arch, just remove the cc-option
> +wrapper unconditionally here.
> +
> +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> +---
> + arch/arm/Makefile | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> +index ecb99f7ac613..8513ba79ea04 100644
> +--- a/arch/arm/Makefile
> ++++ b/arch/arm/Makefile
> +@@ -64,7 +64,7 @@ KBUILD_CFLAGS        += $(call cc-option,-fno-ipa-sra)
> + # macro, but instead defines a whole series of macros which makes
> + # testing for a specific architecture or later rather impossible.
> + arch-$(CONFIG_CPU_32v7M)      =-D__LINUX_ARM_ARCH__=7 -march=armv7-m -Wa,-march=armv7-m
> +-arch-$(CONFIG_CPU_32v7)               =-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
> ++arch-$(CONFIG_CPU_32v7)               =-D__LINUX_ARM_ARCH__=7 -march=armv7-a -Wa$(comma)-march=armv7-a
> + arch-$(CONFIG_CPU_32v6)               =-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
> + # Only override the compiler option if ARMv6. The ARMv6K extensions are
> + # always available in ARMv7
> +--
> +2.20.1
> +
> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.19.bb b/meta/recipes-kernel/linux/linux-yocto_4.19.bb
> index 3ef26a12baa..aca9f15404e 100644
> --- a/meta/recipes-kernel/linux/linux-yocto_4.19.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto_4.19.bb
> @@ -22,7 +22,8 @@ SRCREV_machine ?= "11e0e616ed095bb8012e1b4a231254c9656a0193"
>  SRCREV_meta ?= "41fe45f7c5e69f6ec26c657fea16c459544042cf"
>
>  SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
> -           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA}"
> +           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA} \
> +           file://0001-arm-Makefile-Fix-systemtap-4.19.patch"
>
>  LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
>  LINUX_VERSION ?= "4.19.19"
> diff --git a/meta/recipes-kernel/linux/linux-yocto_5.0.bb b/meta/recipes-kernel/linux/linux-yocto_5.0.bb
> index ae6e80c0108..198fed43411 100644
> --- a/meta/recipes-kernel/linux/linux-yocto_5.0.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto_5.0.bb
> @@ -25,7 +25,8 @@ SRCREV_meta ?= "4faa4419884d2bbe65f637befd71a1e95629eaae"
>  # KMACHINE_qemuarm ?= "qemuarma15"
>
>  SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
> -           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}"
> +           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA} \
> +           file://0001-arm-Makefile-Fix-systemtap.patch"
>
>  LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
>  LINUX_VERSION ?= "5.0"
> --
> 2.20.1
>


-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II


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

* Re: [PATCH 4/5] linux-yocto: Fix systemtap issue on armv7
  2019-03-11  3:12 ` [PATCH 4/5] linux-yocto: Fix systemtap issue on armv7 Richard Purdie
  2019-03-11  3:16   ` Bruce Ashfield
@ 2019-03-11  4:27   ` Khem Raj
  2019-03-11 12:12     ` richard.purdie
  1 sibling, 1 reply; 17+ messages in thread
From: Khem Raj @ 2019-03-11  4:27 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Patches and discussions about the oe-core layer

On Sun, Mar 10, 2019 at 8:13 PM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> Testing stap on armv7 machines was failing due to intermixing of thumb/arm
> instructions. Patch the kernel to always use the v7 march options since
> we know our gcc versions support it to avoid the failure and allow
> systemtap to work.
>
> [YOCTO #13153]
>

please use the fix that Victor submitted upstream, that way we dont
need workaround.
http://lists.infradead.org/pipermail/linux-arm-kernel/2019-March/637809.html


> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  ...0001-arm-Makefile-Fix-systemtap-4.19.patch | 60 +++++++++++++++++++
>  .../0001-arm-Makefile-Fix-systemtap.patch     | 60 +++++++++++++++++++
>  meta/recipes-kernel/linux/linux-yocto_4.19.bb |  3 +-
>  meta/recipes-kernel/linux/linux-yocto_5.0.bb  |  3 +-
>  4 files changed, 124 insertions(+), 2 deletions(-)
>  create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch
>  create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch
>
> diff --git a/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch
> new file mode 100644
> index 00000000000..53bd53b276c
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch
> @@ -0,0 +1,60 @@
> +From c2995494e311c113177db50ff140cebd94fd4011 Mon Sep 17 00:00:00 2001
> +From: Richard Purdie <richard.purdie@linuxfoundation.org>
> +Date: Sun, 10 Mar 2019 06:43:15 +0000
> +Subject: [PATCH] arm/Makefile: Fix systemtap
> +
> +Currently systemtap fails to operate correctly on armv7 systems such as beaglebone and
> +soon, qemuarm.
> +
> +
> +root@qemuarm:/usr/src/kernel# env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin make -C /lib/modules/4.19.19-yocto-standard/build M=/tmp/staptcNU6M modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm stap_4321_src.i --no-print-directory -j2 V=1
> +test -e include/generated/autoconf.h -a -e include/config/auto.conf || (               \
> +echo >&2;                                                      \
> +echo >&2 "  ERROR: Kernel configuration is invalid.";          \
> +echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
> +echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";     \
> +echo >&2 ;                                                     \
> +/bin/false)
> +mkdir -p /tmp/staptcNU6M/.tmp_versions ; rm -f /tmp/staptcNU6M/.tmp_versions/*
> +make -f ./scripts/Makefile.build obj=/tmp/staptcNU6M
> +(cat /dev/null;   echo kernel//tmp/staptcNU6M/stap_4321.ko;) > /tmp/staptcNU6M/modules.order
> +  gcc -Wp,-MD,/tmp/staptcNU6M/.stap_4321_src.o.d  -nostdinc -isystem /usr/lib/gcc/arm-poky-linux-gnueabi/8.3.0/include -I./arch/arm/include -I./arch/arm/include/generated  -I./include -I./arch/arm/include/uapi -I./arch/arm/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -DCC_HAVE_ASM_GOTO -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mfpu=vfp -funwind-tables -marm -Wa,-mno-warn-deprecated -D__LINUX_ARM_ARCH__=7 -march=armv5t -Wa,-march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -Os -Wno-maybe-uninitialized --param=allow-stor
>  e-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned -Iinclude2/asm/mach-default -I/lib/modules/4.19.19-yocto-standard/build -include /tmp/staptcNU6M/stapconf_4321.h -D "STP_NO_VELREL_CHECK" -freorder-blocks -fasynchronous-unwind-tables -Wframe-larger-than=512 -fno-ipa-icf -Wno-unused -Wno-tautological-compare -Werror -I/usr/share/systemtap/runtime  -DMODULE  -DKBUILD_BASENAME='"stap_4321_src"' -DKBUILD_MODNAME='"stap_4321"' -c -o /tmp/staptcNU6M/stap_4321_src.o /tmp/staptcNU6M/stap_4321_
>  src.c
> +/tmp/ccaE9CMG.s: Assembler messages:
> +/tmp/ccaE9CMG.s:49: Error: selected processor does not support `dmb ish' in ARM mode
> +/tmp/ccaE9CMG.s:52: Error: architectural extension `mp' is not allowed for the current b
> +
> +(which was from running the stap command with -v -v -v -k and then being able to run the command individually)
> +
> +Note that it says armv5t above.
> +
> +That comes from the code this patch changes
> +
> +root@qemuarm:/usr/src/kernel# gcc -march=armv7-a /tmp/staptcNU6M/stap_4321_aux_0.c
> +cc1: error: -mfloat-abi=hard: selected processor lacks an FPU
> +
> +which makes me wonder if cc-option fails unless -mfpu-vfp is on the commandline too.
> +
> +Since we have a gcc which accepts the armv7-a arch, just remove the cc-option
> +wrapper unconditionally here.
> +
> +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> +---
> + arch/arm/Makefile | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> +index ecb99f7ac613..8513ba79ea04 100644
> +--- a/arch/arm/Makefile
> ++++ b/arch/arm/Makefile
> +@@ -64,7 +64,7 @@ KBUILD_CFLAGS        += $(call cc-option,-fno-ipa-sra)
> + # macro, but instead defines a whole series of macros which makes
> + # testing for a specific architecture or later rather impossible.
> + arch-$(CONFIG_CPU_32v7M)      =-D__LINUX_ARM_ARCH__=7 -march=armv7-m -Wa,-march=armv7-m
> +-arch-$(CONFIG_CPU_32v7)               =-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
> ++arch-$(CONFIG_CPU_32v7)               =-D__LINUX_ARM_ARCH__=7 -march=armv7-a -Wa$(comma)-march=armv7-a
> + arch-$(CONFIG_CPU_32v6)               =-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
> + # Only override the compiler option if ARMv6. The ARMv6K extensions are
> + # always available in ARMv7
> +--
> +2.20.1
> +
> diff --git a/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch
> new file mode 100644
> index 00000000000..53bd53b276c
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch
> @@ -0,0 +1,60 @@
> +From c2995494e311c113177db50ff140cebd94fd4011 Mon Sep 17 00:00:00 2001
> +From: Richard Purdie <richard.purdie@linuxfoundation.org>
> +Date: Sun, 10 Mar 2019 06:43:15 +0000
> +Subject: [PATCH] arm/Makefile: Fix systemtap
> +
> +Currently systemtap fails to operate correctly on armv7 systems such as beaglebone and
> +soon, qemuarm.
> +
> +
> +root@qemuarm:/usr/src/kernel# env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin make -C /lib/modules/4.19.19-yocto-standard/build M=/tmp/staptcNU6M modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm stap_4321_src.i --no-print-directory -j2 V=1
> +test -e include/generated/autoconf.h -a -e include/config/auto.conf || (               \
> +echo >&2;                                                      \
> +echo >&2 "  ERROR: Kernel configuration is invalid.";          \
> +echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
> +echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";     \
> +echo >&2 ;                                                     \
> +/bin/false)
> +mkdir -p /tmp/staptcNU6M/.tmp_versions ; rm -f /tmp/staptcNU6M/.tmp_versions/*
> +make -f ./scripts/Makefile.build obj=/tmp/staptcNU6M
> +(cat /dev/null;   echo kernel//tmp/staptcNU6M/stap_4321.ko;) > /tmp/staptcNU6M/modules.order
> +  gcc -Wp,-MD,/tmp/staptcNU6M/.stap_4321_src.o.d  -nostdinc -isystem /usr/lib/gcc/arm-poky-linux-gnueabi/8.3.0/include -I./arch/arm/include -I./arch/arm/include/generated  -I./include -I./arch/arm/include/uapi -I./arch/arm/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -DCC_HAVE_ASM_GOTO -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mfpu=vfp -funwind-tables -marm -Wa,-mno-warn-deprecated -D__LINUX_ARM_ARCH__=7 -march=armv5t -Wa,-march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -Os -Wno-maybe-uninitialized --param=allow-stor
>  e-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned -Iinclude2/asm/mach-default -I/lib/modules/4.19.19-yocto-standard/build -include /tmp/staptcNU6M/stapconf_4321.h -D "STP_NO_VELREL_CHECK" -freorder-blocks -fasynchronous-unwind-tables -Wframe-larger-than=512 -fno-ipa-icf -Wno-unused -Wno-tautological-compare -Werror -I/usr/share/systemtap/runtime  -DMODULE  -DKBUILD_BASENAME='"stap_4321_src"' -DKBUILD_MODNAME='"stap_4321"' -c -o /tmp/staptcNU6M/stap_4321_src.o /tmp/staptcNU6M/stap_4321_
>  src.c
> +/tmp/ccaE9CMG.s: Assembler messages:
> +/tmp/ccaE9CMG.s:49: Error: selected processor does not support `dmb ish' in ARM mode
> +/tmp/ccaE9CMG.s:52: Error: architectural extension `mp' is not allowed for the current b
> +
> +(which was from running the stap command with -v -v -v -k and then being able to run the command individually)
> +
> +Note that it says armv5t above.
> +
> +That comes from the code this patch changes
> +
> +root@qemuarm:/usr/src/kernel# gcc -march=armv7-a /tmp/staptcNU6M/stap_4321_aux_0.c
> +cc1: error: -mfloat-abi=hard: selected processor lacks an FPU
> +
> +which makes me wonder if cc-option fails unless -mfpu-vfp is on the commandline too.
> +
> +Since we have a gcc which accepts the armv7-a arch, just remove the cc-option
> +wrapper unconditionally here.
> +
> +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> +---
> + arch/arm/Makefile | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> +index ecb99f7ac613..8513ba79ea04 100644
> +--- a/arch/arm/Makefile
> ++++ b/arch/arm/Makefile
> +@@ -64,7 +64,7 @@ KBUILD_CFLAGS        += $(call cc-option,-fno-ipa-sra)
> + # macro, but instead defines a whole series of macros which makes
> + # testing for a specific architecture or later rather impossible.
> + arch-$(CONFIG_CPU_32v7M)      =-D__LINUX_ARM_ARCH__=7 -march=armv7-m -Wa,-march=armv7-m
> +-arch-$(CONFIG_CPU_32v7)               =-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
> ++arch-$(CONFIG_CPU_32v7)               =-D__LINUX_ARM_ARCH__=7 -march=armv7-a -Wa$(comma)-march=armv7-a
> + arch-$(CONFIG_CPU_32v6)               =-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
> + # Only override the compiler option if ARMv6. The ARMv6K extensions are
> + # always available in ARMv7
> +--
> +2.20.1
> +
> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.19.bb b/meta/recipes-kernel/linux/linux-yocto_4.19.bb
> index 3ef26a12baa..aca9f15404e 100644
> --- a/meta/recipes-kernel/linux/linux-yocto_4.19.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto_4.19.bb
> @@ -22,7 +22,8 @@ SRCREV_machine ?= "11e0e616ed095bb8012e1b4a231254c9656a0193"
>  SRCREV_meta ?= "41fe45f7c5e69f6ec26c657fea16c459544042cf"
>
>  SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
> -           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA}"
> +           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA} \
> +           file://0001-arm-Makefile-Fix-systemtap-4.19.patch"
>
>  LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
>  LINUX_VERSION ?= "4.19.19"
> diff --git a/meta/recipes-kernel/linux/linux-yocto_5.0.bb b/meta/recipes-kernel/linux/linux-yocto_5.0.bb
> index ae6e80c0108..198fed43411 100644
> --- a/meta/recipes-kernel/linux/linux-yocto_5.0.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto_5.0.bb
> @@ -25,7 +25,8 @@ SRCREV_meta ?= "4faa4419884d2bbe65f637befd71a1e95629eaae"
>  # KMACHINE_qemuarm ?= "qemuarma15"
>
>  SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
> -           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}"
> +           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA} \
> +           file://0001-arm-Makefile-Fix-systemtap.patch"
>
>  LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
>  LINUX_VERSION ?= "5.0"
> --
> 2.20.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


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

* Re: [PATCH 4/5] linux-yocto: Fix systemtap issue on armv7
  2019-03-11  3:16   ` Bruce Ashfield
@ 2019-03-11  4:29     ` Victor Kamensky
  0 siblings, 0 replies; 17+ messages in thread
From: Victor Kamensky @ 2019-03-11  4:29 UTC (permalink / raw)
  To: Bruce Ashfield, Richard Purdie
  Cc: Patches and discussions about the oe-core layer



On Sun, 10 Mar 2019, Bruce Ashfield wrote:

> On Sun, Mar 10, 2019 at 11:12 PM Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
>>
>> Testing stap on armv7 machines was failing due to intermixing of thumb/arm
>> instructions. Patch the kernel to always use the v7 march options since
>> we know our gcc versions support it to avoid the failure and allow
>> systemtap to work.
>
> I'd rather just merge this into the kernel directly. I can do a quick
> merge and bump
> of the SRCREV. If you send the patch against linux-yocto, that makes it easier
> for me to grab and integrate it, versus having to dig it out of here
> (since my access
> is pretty limited at the moment).

BTW please note I posted on ARM linux kernel mailing list
IMO more appropriate and possibly upstreamable fix for the same issue

http://lists.infradead.org/pipermail/linux-arm-kernel/2019-March/637809.html

It seems quite urgent so Richard's fix might work as well as short term.

More inline.

> Bruce
>
>>
>> [YOCTO #13153]
>>
>> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>> ---
>>  ...0001-arm-Makefile-Fix-systemtap-4.19.patch | 60 +++++++++++++++++++
>>  .../0001-arm-Makefile-Fix-systemtap.patch     | 60 +++++++++++++++++++
>>  meta/recipes-kernel/linux/linux-yocto_4.19.bb |  3 +-
>>  meta/recipes-kernel/linux/linux-yocto_5.0.bb  |  3 +-
>>  4 files changed, 124 insertions(+), 2 deletions(-)
>>  create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch
>>  create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch
>>
>> diff --git a/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch
>> new file mode 100644
>> index 00000000000..53bd53b276c
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap-4.19.patch
>> @@ -0,0 +1,60 @@
>> +From c2995494e311c113177db50ff140cebd94fd4011 Mon Sep 17 00:00:00 2001
>> +From: Richard Purdie <richard.purdie@linuxfoundation.org>
>> +Date: Sun, 10 Mar 2019 06:43:15 +0000
>> +Subject: [PATCH] arm/Makefile: Fix systemtap
>> +
>> +Currently systemtap fails to operate correctly on armv7 systems such as beaglebone and
>> +soon, qemuarm.
>> +
>> +
>> +root@qemuarm:/usr/src/kernel# env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin make -C /lib/modules/4.19.19-yocto-standard/build M=/tmp/staptcNU6M modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm stap_4321_src.i --no-print-directory -j2 V=1
>> +test -e include/generated/autoconf.h -a -e include/config/auto.conf || (               \
>> +echo >&2;                                                      \
>> +echo >&2 "  ERROR: Kernel configuration is invalid.";          \
>> +echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
>> +echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";     \
>> +echo >&2 ;                                                     \
>> +/bin/false)
>> +mkdir -p /tmp/staptcNU6M/.tmp_versions ; rm -f /tmp/staptcNU6M/.tmp_versions/*
>> +make -f ./scripts/Makefile.build obj=/tmp/staptcNU6M
>> +(cat /dev/null;   echo kernel//tmp/staptcNU6M/stap_4321.ko;) > /tmp/staptcNU6M/modules.order
>> +  gcc -Wp,-MD,/tmp/staptcNU6M/.stap_4321_src.o.d  -nostdinc -isystem /usr/lib/gcc/arm-poky-linux-gnueabi/8.3.0/include -I./arch/arm/include -I./arch/arm/include/generated  -I./include -I./arch/arm/include/uapi -I./arch/arm/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -DCC_HAVE_ASM_GOTO -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mfpu=vfp -funwind-tables -marm -Wa,-mno-warn-deprecated -D__LINUX_ARM_ARCH__=7 -march=armv5t -Wa,-march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -Os -Wno-maybe-uninitialized --param=allow-st
> ore-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned -Iinclude2/asm/mach-default -I/lib/modules/4.19.19-yocto-standard/build -include /tmp/staptcNU6M/stapconf_4321.h -D "STP_NO_VELREL_CHECK" -freorder-blocks -fasynchronous-unwind-tables -Wframe-larger-than=512 -fno-ipa-icf -Wno-unused -Wno-tautological-compare -Werror -I/usr/share/systemtap/runtime  -DMODULE  -DKBUILD_BASENAME='"stap_4321_src"' -DKBUILD_MODNAME='"stap_4321"' -c -o /tmp/staptcNU6M/stap_4321_src.o /tmp/staptcNU6M/stap_432
> 1_src.c
>> +/tmp/ccaE9CMG.s: Assembler messages:
>> +/tmp/ccaE9CMG.s:49: Error: selected processor does not support `dmb ish' in ARM mode
>> +/tmp/ccaE9CMG.s:52: Error: architectural extension `mp' is not allowed for the current b
>> +
>> +(which was from running the stap command with -v -v -v -k and then being able to run the command individually)
>> +
>> +Note that it says armv5t above.
>> +
>> +That comes from the code this patch changes
>> +
>> +root@qemuarm:/usr/src/kernel# gcc -march=armv7-a /tmp/staptcNU6M/stap_4321_aux_0.c
>> +cc1: error: -mfloat-abi=hard: selected processor lacks an FPU
>> +
>> +which makes me wonder if cc-option fails unless -mfpu-vfp is on the commandline too.
>> +
>> +Since we have a gcc which accepts the armv7-a arch, just remove the cc-option
>> +wrapper unconditionally here.
>> +
>> +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>> +---
>> + arch/arm/Makefile | 2 +-
>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>> +
>> +diff --git a/arch/arm/Makefile b/arch/arm/Makefile
>> +index ecb99f7ac613..8513ba79ea04 100644
>> +--- a/arch/arm/Makefile
>> ++++ b/arch/arm/Makefile
>> +@@ -64,7 +64,7 @@ KBUILD_CFLAGS        += $(call cc-option,-fno-ipa-sra)
>> + # macro, but instead defines a whole series of macros which makes
>> + # testing for a specific architecture or later rather impossible.
>> + arch-$(CONFIG_CPU_32v7M)      =-D__LINUX_ARM_ARCH__=7 -march=armv7-m -Wa,-march=armv7-m
>> +-arch-$(CONFIG_CPU_32v7)               =-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
>> ++arch-$(CONFIG_CPU_32v7)               =-D__LINUX_ARM_ARCH__=7 -march=armv7-a -Wa$(comma)-march=armv7-a

Small nit: note '-Wa$(comma)-march=armv7-a' was part of
cc-option second choice. It would be used only if first
choice '-march=armv7-a' fails (as in our case). If you
just want unconditionally to enable just first choice of
cc-option it should be

arch-$(CONFIG_CPU_32v7)    =-D__LINUX_ARM_ARCH__=7 -march=armv7-a

Thanks,
Victor

>> + arch-$(CONFIG_CPU_32v6)               =-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
>> + # Only override the compiler option if ARMv6. The ARMv6K extensions are
>> + # always available in ARMv7
>> +--
>> +2.20.1
>> +
>> diff --git a/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch
>> new file mode 100644
>> index 00000000000..53bd53b276c
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto/0001-arm-Makefile-Fix-systemtap.patch
>> @@ -0,0 +1,60 @@
>> +From c2995494e311c113177db50ff140cebd94fd4011 Mon Sep 17 00:00:00 2001
>> +From: Richard Purdie <richard.purdie@linuxfoundation.org>
>> +Date: Sun, 10 Mar 2019 06:43:15 +0000
>> +Subject: [PATCH] arm/Makefile: Fix systemtap
>> +
>> +Currently systemtap fails to operate correctly on armv7 systems such as beaglebone and
>> +soon, qemuarm.
>> +
>> +
>> +root@qemuarm:/usr/src/kernel# env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin make -C /lib/modules/4.19.19-yocto-standard/build M=/tmp/staptcNU6M modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm stap_4321_src.i --no-print-directory -j2 V=1
>> +test -e include/generated/autoconf.h -a -e include/config/auto.conf || (               \
>> +echo >&2;                                                      \
>> +echo >&2 "  ERROR: Kernel configuration is invalid.";          \
>> +echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
>> +echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";     \
>> +echo >&2 ;                                                     \
>> +/bin/false)
>> +mkdir -p /tmp/staptcNU6M/.tmp_versions ; rm -f /tmp/staptcNU6M/.tmp_versions/*
>> +make -f ./scripts/Makefile.build obj=/tmp/staptcNU6M
>> +(cat /dev/null;   echo kernel//tmp/staptcNU6M/stap_4321.ko;) > /tmp/staptcNU6M/modules.order
>> +  gcc -Wp,-MD,/tmp/staptcNU6M/.stap_4321_src.o.d  -nostdinc -isystem /usr/lib/gcc/arm-poky-linux-gnueabi/8.3.0/include -I./arch/arm/include -I./arch/arm/include/generated  -I./include -I./arch/arm/include/uapi -I./arch/arm/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -DCC_HAVE_ASM_GOTO -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mfpu=vfp -funwind-tables -marm -Wa,-mno-warn-deprecated -D__LINUX_ARM_ARCH__=7 -march=armv5t -Wa,-march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -Os -Wno-maybe-uninitialized --param=allow-st
> ore-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned -Iinclude2/asm/mach-default -I/lib/modules/4.19.19-yocto-standard/build -include /tmp/staptcNU6M/stapconf_4321.h -D "STP_NO_VELREL_CHECK" -freorder-blocks -fasynchronous-unwind-tables -Wframe-larger-than=512 -fno-ipa-icf -Wno-unused -Wno-tautological-compare -Werror -I/usr/share/systemtap/runtime  -DMODULE  -DKBUILD_BASENAME='"stap_4321_src"' -DKBUILD_MODNAME='"stap_4321"' -c -o /tmp/staptcNU6M/stap_4321_src.o /tmp/staptcNU6M/stap_432
> 1_src.c
>> +/tmp/ccaE9CMG.s: Assembler messages:
>> +/tmp/ccaE9CMG.s:49: Error: selected processor does not support `dmb ish' in ARM mode
>> +/tmp/ccaE9CMG.s:52: Error: architectural extension `mp' is not allowed for the current b
>> +
>> +(which was from running the stap command with -v -v -v -k and then being able to run the command individually)
>> +
>> +Note that it says armv5t above.
>> +
>> +That comes from the code this patch changes
>> +
>> +root@qemuarm:/usr/src/kernel# gcc -march=armv7-a /tmp/staptcNU6M/stap_4321_aux_0.c
>> +cc1: error: -mfloat-abi=hard: selected processor lacks an FPU
>> +
>> +which makes me wonder if cc-option fails unless -mfpu-vfp is on the commandline too.
>> +
>> +Since we have a gcc which accepts the armv7-a arch, just remove the cc-option
>> +wrapper unconditionally here.
>> +
>> +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>> +---
>> + arch/arm/Makefile | 2 +-
>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>> +
>> +diff --git a/arch/arm/Makefile b/arch/arm/Makefile
>> +index ecb99f7ac613..8513ba79ea04 100644
>> +--- a/arch/arm/Makefile
>> ++++ b/arch/arm/Makefile
>> +@@ -64,7 +64,7 @@ KBUILD_CFLAGS        += $(call cc-option,-fno-ipa-sra)
>> + # macro, but instead defines a whole series of macros which makes
>> + # testing for a specific architecture or later rather impossible.
>> + arch-$(CONFIG_CPU_32v7M)      =-D__LINUX_ARM_ARCH__=7 -march=armv7-m -Wa,-march=armv7-m
>> +-arch-$(CONFIG_CPU_32v7)               =-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
>> ++arch-$(CONFIG_CPU_32v7)               =-D__LINUX_ARM_ARCH__=7 -march=armv7-a -Wa$(comma)-march=armv7-a
>> + arch-$(CONFIG_CPU_32v6)               =-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
>> + # Only override the compiler option if ARMv6. The ARMv6K extensions are
>> + # always available in ARMv7
>> +--
>> +2.20.1
>> +
>> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.19.bb b/meta/recipes-kernel/linux/linux-yocto_4.19.bb
>> index 3ef26a12baa..aca9f15404e 100644
>> --- a/meta/recipes-kernel/linux/linux-yocto_4.19.bb
>> +++ b/meta/recipes-kernel/linux/linux-yocto_4.19.bb
>> @@ -22,7 +22,8 @@ SRCREV_machine ?= "11e0e616ed095bb8012e1b4a231254c9656a0193"
>>  SRCREV_meta ?= "41fe45f7c5e69f6ec26c657fea16c459544042cf"
>>
>>  SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
>> -           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA}"
>> +           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA} \
>> +           file://0001-arm-Makefile-Fix-systemtap-4.19.patch"
>>
>>  LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
>>  LINUX_VERSION ?= "4.19.19"
>> diff --git a/meta/recipes-kernel/linux/linux-yocto_5.0.bb b/meta/recipes-kernel/linux/linux-yocto_5.0.bb
>> index ae6e80c0108..198fed43411 100644
>> --- a/meta/recipes-kernel/linux/linux-yocto_5.0.bb
>> +++ b/meta/recipes-kernel/linux/linux-yocto_5.0.bb
>> @@ -25,7 +25,8 @@ SRCREV_meta ?= "4faa4419884d2bbe65f637befd71a1e95629eaae"
>>  # KMACHINE_qemuarm ?= "qemuarma15"
>>
>>  SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
>> -           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}"
>> +           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA} \
>> +           file://0001-arm-Makefile-Fix-systemtap.patch"
>>
>>  LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
>>  LINUX_VERSION ?= "5.0"
>> --
>> 2.20.1
>>
>
>
> -- 
> - Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end
> - "Use the force Harry" - Gandalf, Star Trek II
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>


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

* Re: [PATCH 4/5] linux-yocto: Fix systemtap issue on armv7
  2019-03-11  4:27   ` Khem Raj
@ 2019-03-11 12:12     ` richard.purdie
  2019-03-11 12:40       ` Bruce Ashfield
  0 siblings, 1 reply; 17+ messages in thread
From: richard.purdie @ 2019-03-11 12:12 UTC (permalink / raw)
  To: Khem Raj, Victor Kamensky; +Cc: Patches and discussions about the oe-core layer

On Sun, 2019-03-10 at 21:27 -0700, Khem Raj wrote:
> On Sun, Mar 10, 2019 at 8:13 PM Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > Testing stap on armv7 machines was failing due to intermixing of
> > thumb/arm
> > instructions. Patch the kernel to always use the v7 march options
> > since
> > we know our gcc versions support it to avoid the failure and allow
> > systemtap to work.
> > 
> > [YOCTO #13153]
> > 
> 
> please use the fix that Victor submitted upstream, that way we dont
> need workaround.
> http://lists.infradead.org/pipermail/linux-arm-kernel/2019-March/637809.html

I have a feeling that patch may get some discussion upstream. I was
going to say that the version we're working with is simpler and easier
to work with until upstream decide what the right approach is. Victor
as already pointed out that even then I messed it up slightly!

I certainly appreciate getting something upstream and that is the right
thing to do, I think a simpler workaround for us is fine until that
gets sorted out though.

I'm particularly conscious that we've not built M3 yet and that Bruce
has limited availability due to travel so we have a few constraints
here.

Cheers,

Richard



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

* Re: [PATCH 4/5] linux-yocto: Fix systemtap issue on armv7
  2019-03-11 12:12     ` richard.purdie
@ 2019-03-11 12:40       ` Bruce Ashfield
  0 siblings, 0 replies; 17+ messages in thread
From: Bruce Ashfield @ 2019-03-11 12:40 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Patches and discussions about the oe-core layer

On Mon, Mar 11, 2019 at 8:13 AM <richard.purdie@linuxfoundation.org> wrote:
>
> On Sun, 2019-03-10 at 21:27 -0700, Khem Raj wrote:
> > On Sun, Mar 10, 2019 at 8:13 PM Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> > > Testing stap on armv7 machines was failing due to intermixing of
> > > thumb/arm
> > > instructions. Patch the kernel to always use the v7 march options
> > > since
> > > we know our gcc versions support it to avoid the failure and allow
> > > systemtap to work.
> > >
> > > [YOCTO #13153]
> > >
> >
> > please use the fix that Victor submitted upstream, that way we dont
> > need workaround.
> > http://lists.infradead.org/pipermail/linux-arm-kernel/2019-March/637809.html
>
> I have a feeling that patch may get some discussion upstream. I was
> going to say that the version we're working with is simpler and easier
> to work with until upstream decide what the right approach is. Victor
> as already pointed out that even then I messed it up slightly!
>
> I certainly appreciate getting something upstream and that is the right
> thing to do, I think a simpler workaround for us is fine until that
> gets sorted out though.
>
> I'm particularly conscious that we've not built M3 yet and that Bruce
> has limited availability due to travel so we have a few constraints
> here.

I'm of the same mind. Until the upstream patch is actually queued,
we can easily just stick with the current patch.  That way I can log
the permanent upstream git hash in a revert and update ..  which
is no different than I'd do if I merged the posted patch and then it
eventually merges (or if it needs changes, etc).

So as long as what we merged doesn't break anything, there's no
need to change anything (it isn't a mystery that there's an
upstream fix, even I noticed it last night when scanning my upstream
lists and I'm on vacation :D.

Cheers,

Bruce

>
> Cheers,
>
> Richard
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II


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

* Re: [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration
  2019-03-11  3:12 [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration Richard Purdie
                   ` (3 preceding siblings ...)
  2019-03-11  3:12 ` [PATCH 5/5] meta-selftest/virgl: Exclude centos7 from the kmscube test Richard Purdie
@ 2019-03-11 15:09 ` Tom Rini
  2019-03-11 15:13   ` Richard Purdie
  2019-03-20  0:22 ` Denys Dmytriyenko
  5 siblings, 1 reply; 17+ messages in thread
From: Tom Rini @ 2019-03-11 15:09 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 688 bytes --]

On Mon, Mar 11, 2019 at 03:12:26AM +0000, Richard Purdie wrote:

> From: Jon Mason <jdmason@kudzu.us>
> 
> Add new QEMU BSP for a Arm Cortex-A15 system and use this as qemuarm,
> moving the old armv5te Versatile PB based machine to qemuarmv5.
> 
> The new machine uses the QEMU virt machine type, which should be
> faster to emulate and updates the qemuarm support to a modern
> architecture.
> 
> Signed-off-by: Jon Mason <jdmason@kudzu.us>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Should we also not set UBOOT_MACHINE here to qemu_arm_defconfig for the
new machine?  We dropped versatilepb support back in 2015 however.
Thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration
  2019-03-11 15:09 ` [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration Tom Rini
@ 2019-03-11 15:13   ` Richard Purdie
  2019-03-11 15:19     ` Tom Rini
  0 siblings, 1 reply; 17+ messages in thread
From: Richard Purdie @ 2019-03-11 15:13 UTC (permalink / raw)
  To: Tom Rini; +Cc: openembedded-core

On Mon, 2019-03-11 at 11:09 -0400, Tom Rini wrote:
> On Mon, Mar 11, 2019 at 03:12:26AM +0000, Richard Purdie wrote:
> 
> > From: Jon Mason <jdmason@kudzu.us>
> > 
> > Add new QEMU BSP for a Arm Cortex-A15 system and use this as
> > qemuarm,
> > moving the old armv5te Versatile PB based machine to qemuarmv5.
> > 
> > The new machine uses the QEMU virt machine type, which should be
> > faster to emulate and updates the qemuarm support to a modern
> > architecture.
> > 
> > Signed-off-by: Jon Mason <jdmason@kudzu.us>
> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> 
> Should we also not set UBOOT_MACHINE here to qemu_arm_defconfig for
> the new machine?  We dropped versatilepb support back in 2015
> however.
> Thanks!

For which machine, the new qemuarm or the qemuarmv5? I'm guessing you
mean the latter?

We perhaps could/should but it isn't set now so I'd suggest it be done
in a separate patch.

I would like to see u-boot being used in more builds but if we don't
actually test/use the binary, its not so useful and that would mean
further changes?

Cheers,

Richard




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

* Re: [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration
  2019-03-11 15:13   ` Richard Purdie
@ 2019-03-11 15:19     ` Tom Rini
  0 siblings, 0 replies; 17+ messages in thread
From: Tom Rini @ 2019-03-11 15:19 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1752 bytes --]

On Mon, Mar 11, 2019 at 08:13:21AM -0700, Richard Purdie wrote:
> On Mon, 2019-03-11 at 11:09 -0400, Tom Rini wrote:
> > On Mon, Mar 11, 2019 at 03:12:26AM +0000, Richard Purdie wrote:
> > 
> > > From: Jon Mason <jdmason@kudzu.us>
> > > 
> > > Add new QEMU BSP for a Arm Cortex-A15 system and use this as
> > > qemuarm,
> > > moving the old armv5te Versatile PB based machine to qemuarmv5.
> > > 
> > > The new machine uses the QEMU virt machine type, which should be
> > > faster to emulate and updates the qemuarm support to a modern
> > > architecture.
> > > 
> > > Signed-off-by: Jon Mason <jdmason@kudzu.us>
> > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > 
> > Should we also not set UBOOT_MACHINE here to qemu_arm_defconfig for
> > the new machine?  We dropped versatilepb support back in 2015
> > however.
> > Thanks!
> 
> For which machine, the new qemuarm or the qemuarmv5? I'm guessing you
> mean the latter?

For the new v7 machine that uses the virt machine upstream.

> We perhaps could/should but it isn't set now so I'd suggest it be done
> in a separate patch.

I see we aren't doing it for qemuarm64 either which is also supported in
U-Boot under qemu_arm64_defconfig, so yes, I'll do a follow-up to enable
in both of these.  And to qemumips* too.

> I would like to see u-boot being used in more builds but if we don't
> actually test/use the binary, its not so useful and that would mean
> further changes?

So, humm.  As a serious question, how do we test wic images / ovmf
today?  On the U-Boot side of things, we test all of our qemu images
frequently with our functional tests.  What we don't have atm is "boot
linux to login prompt" or similar.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration
  2019-03-11  3:12 [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration Richard Purdie
                   ` (4 preceding siblings ...)
  2019-03-11 15:09 ` [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration Tom Rini
@ 2019-03-20  0:22 ` Denys Dmytriyenko
  2019-03-20  0:25   ` richard.purdie
  5 siblings, 1 reply; 17+ messages in thread
From: Denys Dmytriyenko @ 2019-03-20  0:22 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core

On Mon, Mar 11, 2019 at 03:12:26AM +0000, Richard Purdie wrote:
> From: Jon Mason <jdmason@kudzu.us>
> 
> Add new QEMU BSP for a Arm Cortex-A15 system and use this as qemuarm,
> moving the old armv5te Versatile PB based machine to qemuarmv5.
> 
> The new machine uses the QEMU virt machine type, which should be
> faster to emulate and updates the qemuarm support to a modern
> architecture.
> 
> Signed-off-by: Jon Mason <jdmason@kudzu.us>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  meta/conf/machine/qemuarm.conf                | 34 +++++++++++++------
>  meta/conf/machine/qemuarmv5.conf              | 23 +++++++++++++
>  .../linux/linux-yocto-rt_4.19.bb              |  2 +-
>  .../linux/linux-yocto-rt_5.0.bb               |  2 +-
>  .../linux/linux-yocto-tiny_4.19.bb            |  2 +-
>  .../linux/linux-yocto-tiny_5.0.bb             |  2 +-
>  meta/recipes-kernel/linux/linux-yocto_4.19.bb |  2 +-
>  meta/recipes-kernel/linux/linux-yocto_5.0.bb  |  2 +-
>  8 files changed, 52 insertions(+), 17 deletions(-)
>  create mode 100644 meta/conf/machine/qemuarmv5.conf
> 
> diff --git a/meta/conf/machine/qemuarm.conf b/meta/conf/machine/qemuarm.conf
> index a5443126273..95550461899 100644
> --- a/meta/conf/machine/qemuarm.conf
> +++ b/meta/conf/machine/qemuarm.conf
...
> +KMACHINE_qemuarmv5 = "qemuarm"
> \ No newline at end of file
> diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
> index 07dc5b77a14..36761b99437 100644
> --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
> @@ -31,7 +31,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
>  
>  LINUX_KERNEL_TYPE = "preempt-rt"
>  
> -COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarm64|qemuppc|qemumips)"
> +COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarma15|qemuarm64|qemuppc|qemumips)"

Did you mean to list here "qemuarmv5" instead of "qemuarma15"?

>  
>  KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
>  
> diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb b/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
> index 2350973fef2..52c289903be 100644
> --- a/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
> @@ -31,7 +31,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
>  
>  LINUX_KERNEL_TYPE = "preempt-rt"
>  
> -COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarm64|qemuppc|qemumips)"
> +COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"

This one uses the correct "qemuarmv5", though.


>  KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
>  
> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
> index c6d1594a828..52dbabd7a47 100644
> --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
> @@ -24,7 +24,7 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
>  SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
>             git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA}"
>  
> -COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm"
> +COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarma15"

Here again looks like a typo - "qemuarma15"


>  # Functionality flags
>  KERNEL_FEATURES = ""
> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
> index e0a68014461..b6401199a41 100644
> --- a/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
> @@ -24,7 +24,7 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
>  SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
>             git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}"
>  
> -COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm"
> +COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"

Correct "qemuarmv5" here.


>  # Functionality flags
>  KERNEL_FEATURES = ""
> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.19.bb b/meta/recipes-kernel/linux/linux-yocto_4.19.bb
> index 8a4355ee833..3ef26a12baa 100644
> --- a/meta/recipes-kernel/linux/linux-yocto_4.19.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto_4.19.bb
> @@ -37,7 +37,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
>  
>  KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
>  
> -COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
> +COMPATIBLE_MACHINE = "qemuarm|qemuarma15|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"

"qemuarma15"?


>  # Functionality flags
>  KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
> diff --git a/meta/recipes-kernel/linux/linux-yocto_5.0.bb b/meta/recipes-kernel/linux/linux-yocto_5.0.bb
> index f2c066a1503..ae6e80c0108 100644
> --- a/meta/recipes-kernel/linux/linux-yocto_5.0.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto_5.0.bb
> @@ -40,7 +40,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
>  
>  KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
>  
> -COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
> +COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"

Ok, "qemuarmv5" - I see a pattern here! Was it a challenge? :)


>  # Functionality flags
>  KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
> -- 
> 2.20.1
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


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

* Re: [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration
  2019-03-20  0:22 ` Denys Dmytriyenko
@ 2019-03-20  0:25   ` richard.purdie
  2019-03-21 20:35     ` Denys Dmytriyenko
  0 siblings, 1 reply; 17+ messages in thread
From: richard.purdie @ 2019-03-20  0:25 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: openembedded-core

On Tue, 2019-03-19 at 20:22 -0400, Denys Dmytriyenko wrote:
> On Mon, Mar 11, 2019 at 03:12:26AM +0000, Richard Purdie wrote:
> > From: Jon Mason <jdmason@kudzu.us>
> > 
> > Add new QEMU BSP for a Arm Cortex-A15 system and use this as
> > qemuarm,
> > moving the old armv5te Versatile PB based machine to qemuarmv5.
> > 
> > The new machine uses the QEMU virt machine type, which should be
> > faster to emulate and updates the qemuarm support to a modern
> > architecture.
> > 
> > Signed-off-by: Jon Mason <jdmason@kudzu.us>
> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > ---
> >  meta/conf/machine/qemuarm.conf                | 34 +++++++++++++
> > ------
> >  meta/conf/machine/qemuarmv5.conf              | 23 +++++++++++++
> >  .../linux/linux-yocto-rt_4.19.bb              |  2 +-
> >  .../linux/linux-yocto-rt_5.0.bb               |  2 +-
> >  .../linux/linux-yocto-tiny_4.19.bb            |  2 +-
> >  .../linux/linux-yocto-tiny_5.0.bb             |  2 +-
> >  meta/recipes-kernel/linux/linux-yocto_4.19.bb |  2 +-
> >  meta/recipes-kernel/linux/linux-yocto_5.0.bb  |  2 +-
> >  8 files changed, 52 insertions(+), 17 deletions(-)
> >  create mode 100644 meta/conf/machine/qemuarmv5.conf
> > 
> > diff --git a/meta/conf/machine/qemuarm.conf
> > b/meta/conf/machine/qemuarm.conf
> > index a5443126273..95550461899 100644
> > --- a/meta/conf/machine/qemuarm.conf
> > +++ b/meta/conf/machine/qemuarm.conf
> ...
> > +KMACHINE_qemuarmv5 = "qemuarm"
> > \ No newline at end of file
> > diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
> > b/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
> > index 07dc5b77a14..36761b99437 100644
> > --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
> > +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
> > @@ -31,7 +31,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
> >  
> >  LINUX_KERNEL_TYPE = "preempt-rt"
> >  
> > -COMPATIBLE_MACHINE = "(qemux86|qemux86-
> > 64|qemuarm|qemuarm64|qemuppc|qemumips)"
> > +COMPATIBLE_MACHINE = "(qemux86|qemux86-
> > 64|qemuarm|qemuarma15|qemuarm64|qemuppc|qemumips)"
> 
> Did you mean to list here "qemuarmv5" instead of "qemuarma15"?

Yes!

> > @@ -40,7 +40,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
> >  
> >  KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
> >  
> > -COMPATIBLE_MACHINE =
> > "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
> > +COMPATIBLE_MACHINE =
> > "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qe
> > mux86-64"
> 
> Ok, "qemuarmv5" - I see a pattern here! Was it a challenge? :)

It definitely was a challenge, perhaps not the way you mean it though!
:)

Patches to fix up the mess I made of this gratefully received, or I'll
sort it out tomorrow, thanks for highlighting it.

Cheers,

Richard





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

* Re: [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration
  2019-03-20  0:25   ` richard.purdie
@ 2019-03-21 20:35     ` Denys Dmytriyenko
  2019-03-21 23:48       ` richard.purdie
  0 siblings, 1 reply; 17+ messages in thread
From: Denys Dmytriyenko @ 2019-03-21 20:35 UTC (permalink / raw)
  To: richard.purdie; +Cc: openembedded-core

On Wed, Mar 20, 2019 at 12:25:02AM +0000, richard.purdie@linuxfoundation.org wrote:
> On Tue, 2019-03-19 at 20:22 -0400, Denys Dmytriyenko wrote:
> > On Mon, Mar 11, 2019 at 03:12:26AM +0000, Richard Purdie wrote:
> > > From: Jon Mason <jdmason@kudzu.us>
> > > 
> > > Add new QEMU BSP for a Arm Cortex-A15 system and use this as
> > > qemuarm,
> > > moving the old armv5te Versatile PB based machine to qemuarmv5.
> > > 
> > > The new machine uses the QEMU virt machine type, which should be
> > > faster to emulate and updates the qemuarm support to a modern
> > > architecture.
> > > 
> > > Signed-off-by: Jon Mason <jdmason@kudzu.us>
> > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > > ---
> > >  meta/conf/machine/qemuarm.conf                | 34 +++++++++++++
> > > ------
> > >  meta/conf/machine/qemuarmv5.conf              | 23 +++++++++++++
> > >  .../linux/linux-yocto-rt_4.19.bb              |  2 +-
> > >  .../linux/linux-yocto-rt_5.0.bb               |  2 +-
> > >  .../linux/linux-yocto-tiny_4.19.bb            |  2 +-
> > >  .../linux/linux-yocto-tiny_5.0.bb             |  2 +-
> > >  meta/recipes-kernel/linux/linux-yocto_4.19.bb |  2 +-
> > >  meta/recipes-kernel/linux/linux-yocto_5.0.bb  |  2 +-
> > >  8 files changed, 52 insertions(+), 17 deletions(-)
> > >  create mode 100644 meta/conf/machine/qemuarmv5.conf
> > > 
> > > diff --git a/meta/conf/machine/qemuarm.conf
> > > b/meta/conf/machine/qemuarm.conf
> > > index a5443126273..95550461899 100644
> > > --- a/meta/conf/machine/qemuarm.conf
> > > +++ b/meta/conf/machine/qemuarm.conf
> > ...
> > > +KMACHINE_qemuarmv5 = "qemuarm"
> > > \ No newline at end of file
> > > diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
> > > b/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
> > > index 07dc5b77a14..36761b99437 100644
> > > --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
> > > +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
> > > @@ -31,7 +31,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
> > >  
> > >  LINUX_KERNEL_TYPE = "preempt-rt"
> > >  
> > > -COMPATIBLE_MACHINE = "(qemux86|qemux86-
> > > 64|qemuarm|qemuarm64|qemuppc|qemumips)"
> > > +COMPATIBLE_MACHINE = "(qemux86|qemux86-
> > > 64|qemuarm|qemuarma15|qemuarm64|qemuppc|qemumips)"
> > 
> > Did you mean to list here "qemuarmv5" instead of "qemuarma15"?
> 
> Yes!
> 
> > > @@ -40,7 +40,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
> > >  
> > >  KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
> > >  
> > > -COMPATIBLE_MACHINE =
> > > "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
> > > +COMPATIBLE_MACHINE =
> > > "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qe
> > > mux86-64"
> > 
> > Ok, "qemuarmv5" - I see a pattern here! Was it a challenge? :)
> 
> It definitely was a challenge, perhaps not the way you mean it though!
> :)
> 
> Patches to fix up the mess I made of this gratefully received, or I'll
> sort it out tomorrow, thanks for highlighting it.

Submitted a patch last night:
http://lists.openembedded.org/pipermail/openembedded-core/2019-March/280345.html

Not sure if you got to it sooner and fixed it yourself (don't see it in git 
yet). Either way is fine. Let me know if you need anything else. Thanks.

-- 
Denys


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

* Re: [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration
  2019-03-21 20:35     ` Denys Dmytriyenko
@ 2019-03-21 23:48       ` richard.purdie
  0 siblings, 0 replies; 17+ messages in thread
From: richard.purdie @ 2019-03-21 23:48 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: openembedded-core

On Thu, 2019-03-21 at 16:35 -0400, Denys Dmytriyenko wrote:
> On Wed, Mar 20, 2019 at 12:25:02AM +0000, 
> richard.purdie@linuxfoundation.org wrote:
> > On Tue, 2019-03-19 at 20:22 -0400, Denys Dmytriyenko wrote:
> > > On Mon, Mar 11, 2019 at 03:12:26AM +0000, Richard Purdie wrote:
> > > > From: Jon Mason <jdmason@kudzu.us>
> > > > 
> > > > Add new QEMU BSP for a Arm Cortex-A15 system and use this as
> > > > qemuarm,
> > > > moving the old armv5te Versatile PB based machine to qemuarmv5.
> > > > 
> > > > The new machine uses the QEMU virt machine type, which should
> > > > be
> > > > faster to emulate and updates the qemuarm support to a modern
> > > > architecture.
> > > > 
> > > > Signed-off-by: Jon Mason <jdmason@kudzu.us>
> > > > Signed-off-by: Richard Purdie <
> > > > richard.purdie@linuxfoundation.org>
> > > > ---
> > > >  meta/conf/machine/qemuarm.conf                | 34
> > > > +++++++++++++
> > > > ------
> > > >  meta/conf/machine/qemuarmv5.conf              | 23
> > > > +++++++++++++
> > > >  .../linux/linux-yocto-rt_4.19.bb              |  2 +-
> > > >  .../linux/linux-yocto-rt_5.0.bb               |  2 +-
> > > >  .../linux/linux-yocto-tiny_4.19.bb            |  2 +-
> > > >  .../linux/linux-yocto-tiny_5.0.bb             |  2 +-
> > > >  meta/recipes-kernel/linux/linux-yocto_4.19.bb |  2 +-
> > > >  meta/recipes-kernel/linux/linux-yocto_5.0.bb  |  2 +-
> > > >  8 files changed, 52 insertions(+), 17 deletions(-)
> > > >  create mode 100644 meta/conf/machine/qemuarmv5.conf
> > > > 
> > > > diff --git a/meta/conf/machine/qemuarm.conf
> > > > b/meta/conf/machine/qemuarm.conf
> > > > index a5443126273..95550461899 100644
> > > > --- a/meta/conf/machine/qemuarm.conf
> > > > +++ b/meta/conf/machine/qemuarm.conf
> > > ...
> > > > +KMACHINE_qemuarmv5 = "qemuarm"
> > > > \ No newline at end of file
> > > > diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
> > > > b/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
> > > > index 07dc5b77a14..36761b99437 100644
> > > > --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
> > > > +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
> > > > @@ -31,7 +31,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
> > > >  
> > > >  LINUX_KERNEL_TYPE = "preempt-rt"
> > > >  
> > > > -COMPATIBLE_MACHINE = "(qemux86|qemux86-
> > > > 64|qemuarm|qemuarm64|qemuppc|qemumips)"
> > > > +COMPATIBLE_MACHINE = "(qemux86|qemux86-
> > > > 64|qemuarm|qemuarma15|qemuarm64|qemuppc|qemumips)"
> > > 
> > > Did you mean to list here "qemuarmv5" instead of "qemuarma15"?
> > 
> > Yes!
> > 
> > > > @@ -40,7 +40,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
> > > >  
> > > >  KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
> > > >  
> > > > -COMPATIBLE_MACHINE =
> > > > "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-
> > > > 64"
> > > > +COMPATIBLE_MACHINE =
> > > > "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips6
> > > > 4|qe
> > > > mux86-64"
> > > 
> > > Ok, "qemuarmv5" - I see a pattern here! Was it a challenge? :)
> > 
> > It definitely was a challenge, perhaps not the way you mean it
> > though!
> > :)
> > 
> > Patches to fix up the mess I made of this gratefully received, or
> > I'll
> > sort it out tomorrow, thanks for highlighting it.
> 
> Submitted a patch last night:
> http://lists.openembedded.org/pipermail/openembedded-core/2019-March/280345.html
> 
> Not sure if you got to it sooner and fixed it yourself (don't see it
> in git yet). Either way is fine. Let me know if you need anything
> else. Thanks.

Looks good, thanks. I'm struggling a bit after some travel
unfortunately but doing my best to keep the patches moving. Its testing
in -next now.

Cheers,

Richard



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

end of thread, other threads:[~2019-03-21 23:48 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-11  3:12 [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration Richard Purdie
2019-03-11  3:12 ` [PATCH 2/5] machine: bump preferred version to 5.0 Richard Purdie
2019-03-11  3:12 ` [PATCH 3/5] qemuarm64: Fix graphics hang with 5.0 kernel Richard Purdie
2019-03-11  3:12 ` [PATCH 4/5] linux-yocto: Fix systemtap issue on armv7 Richard Purdie
2019-03-11  3:16   ` Bruce Ashfield
2019-03-11  4:29     ` Victor Kamensky
2019-03-11  4:27   ` Khem Raj
2019-03-11 12:12     ` richard.purdie
2019-03-11 12:40       ` Bruce Ashfield
2019-03-11  3:12 ` [PATCH 5/5] meta-selftest/virgl: Exclude centos7 from the kmscube test Richard Purdie
2019-03-11 15:09 ` [PATCH 1/5] qemuarm: Swap for an arm7ve (A15) configuration Tom Rini
2019-03-11 15:13   ` Richard Purdie
2019-03-11 15:19     ` Tom Rini
2019-03-20  0:22 ` Denys Dmytriyenko
2019-03-20  0:25   ` richard.purdie
2019-03-21 20:35     ` Denys Dmytriyenko
2019-03-21 23:48       ` richard.purdie

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.