All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 00/11] IBM s390x and Z architecture support
@ 2020-09-16  5:59 Alexander Egorenkov
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 01/11] arch: add the basic IBM s390x and Z arch support Alexander Egorenkov
                   ` (10 more replies)
  0 siblings, 11 replies; 17+ messages in thread
From: Alexander Egorenkov @ 2020-09-16  5:59 UTC (permalink / raw)
  To: buildroot

This series of patches adds support for IBM s390x and Z architectures
to buildroot.

v2 -> v3:
  * Addressed all review findings by Romain Naour
  * qemu s390x board
    - Linux kernel needs host OpenSSL
  * makedumpfile
    - Cosmetic improvement of dependencies
  * s390-tools
    - Clean up redundant dependencies which are brought in
      already by glibc

v1 -> v2:
  * Addressed all review findings by Yann E. Morin
  * Split up into smaller patches to ease further review process
  * qemu s390x board
    - Clean up of qemu_s390x_defconfig
    - Use fixed Linux kernel version
    - Use in-tree Linux kernel config
    - Add defconfig comment to readme.txt for CI testing
  * s390-tools package
    - Improve Makefile
    - Add dependency on C++ toolchain (due to libvmdump)
    - uClibc-ng is not supported

Alexander Egorenkov (11):
  arch: add the basic IBM s390x and Z arch support
  toolchain: add support for the internal IBM s390x and Z toolchain
  linux: add bzImage support for IBM s390x and Z arch
  board/qemu: add IBM s390x and Z arch support
  package/systemd: add support for IBM s390x and Z arch
  package/cmake: add support for IBM s390x and Z arch
  package/liburcu: add support for IBM s390x and Z arch
  package/kexec: add support for IBM s390x and Z arch
  package/go: add support for IBM s390x and Z arch
  package/makedumpfile: add support for IBM s390x and Z arch
  package/s390-tools: new package

 DEVELOPERS                              |  6 ++
 Makefile                                |  1 +
 arch/Config.in                          | 13 ++++
 arch/Config.in.s390x                    | 34 +++++++++
 board/qemu/s390x/post-build.sh          | 11 +++
 board/qemu/s390x/readme.txt             |  8 +++
 configs/qemu_s390x_defconfig            | 13 ++++
 linux/Config.in                         |  2 +-
 package/Config.in                       |  1 +
 package/cmake/Config.in                 |  3 +-
 package/gcc/gcc.mk                      |  5 ++
 package/go/Config.in.host               |  2 +-
 package/kexec/Config.in                 |  2 +-
 package/liburcu/Config.in               |  2 +-
 package/makedumpfile/Config.in          |  1 +
 package/s390-tools/Config.in            | 13 ++++
 package/s390-tools/s390-tools.hash      |  3 +
 package/s390-tools/s390-tools.mk        | 91 +++++++++++++++++++++++++
 package/systemd/Config.in               |  1 +
 toolchain/toolchain-buildroot/Config.in |  6 +-
 20 files changed, 210 insertions(+), 8 deletions(-)
 create mode 100644 arch/Config.in.s390x
 create mode 100755 board/qemu/s390x/post-build.sh
 create mode 100644 board/qemu/s390x/readme.txt
 create mode 100644 configs/qemu_s390x_defconfig
 create mode 100644 package/s390-tools/Config.in
 create mode 100644 package/s390-tools/s390-tools.hash
 create mode 100644 package/s390-tools/s390-tools.mk

-- 
2.26.2

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

* [Buildroot] [PATCH v3 01/11] arch: add the basic IBM s390x and Z arch support
  2020-09-16  5:59 [Buildroot] [PATCH v3 00/11] IBM s390x and Z architecture support Alexander Egorenkov
@ 2020-09-16  5:59 ` Alexander Egorenkov
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 02/11] toolchain: add support for the internal IBM s390x and Z toolchain Alexander Egorenkov
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Alexander Egorenkov @ 2020-09-16  5:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
---
 DEVELOPERS           |  3 +++
 Makefile             |  1 +
 arch/Config.in       | 14 ++++++++++++++
 arch/Config.in.s390x | 34 ++++++++++++++++++++++++++++++++++
 4 files changed, 52 insertions(+)
 create mode 100644 arch/Config.in.s390x

diff --git a/DEVELOPERS b/DEVELOPERS
index c5124f97ef..2285694f66 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -146,6 +146,9 @@ N:	Alexander Egorenkov <egorenar-dev@posteo.net>
 F:	package/makedumpfile/
 F:	package/multipath-tools/
 
+N:	Alexander Egorenkov <egorenar@linux.ibm.com>
+F:	arch/Config.in.s390x
+
 N:	Alexander Kurz <akurz@blala.de>
 F:	package/minimodem/
 
diff --git a/Makefile b/Makefile
index 9648fa58d8..384bfe3fe9 100644
--- a/Makefile
+++ b/Makefile
@@ -445,6 +445,7 @@ KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \
 	-e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
 	-e s/riscv.*/riscv/ \
 	-e s/sh.*/sh/ \
+	-e s/s390x/s390/ \
 	-e s/microblazeel/microblaze/)
 
 ZCAT := $(call qstrip,$(BR2_ZCAT))
diff --git a/arch/Config.in b/arch/Config.in
index 0707c076e2..eb9b6007c9 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -219,6 +219,16 @@ config BR2_riscv
 	  https://riscv.org/
 	  https://en.wikipedia.org/wiki/RISC-V
 
+config BR2_s390x
+	bool "s390x"
+	select BR2_ARCH_IS_64
+	select BR2_ARCH_HAS_MMU_MANDATORY
+	select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
+	help
+	  s390x is a big-endian architecture made by IBM.
+	  http://www.ibm.com/
+	  http://en.wikipedia.org/wiki/IBM_System/390
+
 config BR2_sh
 	bool "SuperH"
 	select BR2_ARCH_HAS_MMU_OPTIONAL
@@ -457,6 +467,10 @@ if BR2_riscv
 source "arch/Config.in.riscv"
 endif
 
+if BR2_s390x
+source "arch/Config.in.s390x"
+endif
+
 if BR2_sh
 source "arch/Config.in.sh"
 endif
diff --git a/arch/Config.in.s390x b/arch/Config.in.s390x
new file mode 100644
index 0000000000..39d2f58aa9
--- /dev/null
+++ b/arch/Config.in.s390x
@@ -0,0 +1,34 @@
+
+choice
+	prompt "Target Architecture Variant"
+	depends on BR2_s390x
+	help
+	  Specific CPU variant to use
+
+config BR2_s390x_z13
+	bool "z13"
+	depends on BR2_s390x
+
+config BR2_s390x_z14
+	bool "z14"
+	depends on BR2_s390x
+
+config BR2_s390x_z15
+	bool "z15"
+	depends on BR2_s390x
+
+endchoice
+
+config BR2_ARCH
+	default "s390x"	if BR2_s390x
+
+config BR2_ENDIAN
+	default "BIG"
+
+config BR2_GCC_TARGET_ARCH
+	default "arch11" if BR2_s390x_z13
+	default "arch12" if BR2_s390x_z14
+	default "arch13" if BR2_s390x_z15
+
+config BR2_READELF_ARCH_NAME
+	default "IBM S/390"	if BR2_s390x
-- 
2.26.2

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

* [Buildroot] [PATCH v3 02/11] toolchain: add support for the internal IBM s390x and Z toolchain
  2020-09-16  5:59 [Buildroot] [PATCH v3 00/11] IBM s390x and Z architecture support Alexander Egorenkov
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 01/11] arch: add the basic IBM s390x and Z arch support Alexander Egorenkov
@ 2020-09-16  5:59 ` Alexander Egorenkov
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 03/11] linux: add bzImage support for IBM s390x and Z arch Alexander Egorenkov
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Alexander Egorenkov @ 2020-09-16  5:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
---
 arch/Config.in                          | 1 -
 package/gcc/gcc.mk                      | 5 +++++
 toolchain/toolchain-buildroot/Config.in | 6 +++---
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/arch/Config.in b/arch/Config.in
index eb9b6007c9..155403c363 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -223,7 +223,6 @@ config BR2_s390x
 	bool "s390x"
 	select BR2_ARCH_IS_64
 	select BR2_ARCH_HAS_MMU_MANDATORY
-	select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
 	help
 	  s390x is a big-endian architecture made by IBM.
 	  http://www.ibm.com/
diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk
index b834269adc..0912c07a71 100644
--- a/package/gcc/gcc.mk
+++ b/package/gcc/gcc.mk
@@ -241,6 +241,11 @@ HOST_GCC_COMMON_CONF_OPTS += \
 	--with-long-double-128
 endif
 
+ifeq ($(BR2_s390x),y)
+HOST_GCC_COMMON_CONF_OPTS += \
+	--with-long-double-128
+endif
+
 HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_CROSS_PATH_SUFFIX='".br_real"'
 
 # For gcc-initial, we need to tell gcc that the C library will be
diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in
index 418d5cb387..1c4705600e 100644
--- a/toolchain/toolchain-buildroot/Config.in
+++ b/toolchain/toolchain-buildroot/Config.in
@@ -46,9 +46,9 @@ config BR2_TOOLCHAIN_BUILDROOT_GLIBC
 		   BR2_aarch64_be  || BR2_i386       || BR2_mips    || \
 		   BR2_mipsel      || BR2_mips64     || BR2_mips64el|| \
 		   BR2_powerpc     || BR2_powerpc64  || BR2_powerpc64le || \
-		   BR2_riscv       || BR2_sh         || BR2_sparc64     || \
-		   BR2_x86_64      || BR2_microblaze || BR2_nios2       || \
-		   (BR2_arc && BR2_ARC_ATOMIC_EXT)   || BR2_csky
+		   BR2_riscv       || BR2_s390x      || BR2_sh          || \
+		   BR2_sparc64     || BR2_x86_64     || BR2_microblaze  || \
+		   BR2_nios2       || (BR2_arc && BR2_ARC_ATOMIC_EXT)   || BR2_csky
 	depends on BR2_USE_MMU
 	depends on !BR2_STATIC_LIBS
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
-- 
2.26.2

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

* [Buildroot] [PATCH v3 03/11] linux: add bzImage support for IBM s390x and Z arch
  2020-09-16  5:59 [Buildroot] [PATCH v3 00/11] IBM s390x and Z architecture support Alexander Egorenkov
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 01/11] arch: add the basic IBM s390x and Z arch support Alexander Egorenkov
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 02/11] toolchain: add support for the internal IBM s390x and Z toolchain Alexander Egorenkov
@ 2020-09-16  5:59 ` Alexander Egorenkov
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 04/11] board/qemu: add IBM s390x and Z arch support Alexander Egorenkov
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Alexander Egorenkov @ 2020-09-16  5:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
---
 linux/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/linux/Config.in b/linux/Config.in
index 49da2b81b2..ec74e1e65a 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -226,7 +226,7 @@ config BR2_LINUX_KERNEL_APPENDED_UIMAGE
 
 config BR2_LINUX_KERNEL_BZIMAGE
 	bool "bzImage"
-	depends on BR2_i386 || BR2_x86_64
+	depends on BR2_i386 || BR2_x86_64 || BR2_s390x
 
 config BR2_LINUX_KERNEL_ZIMAGE
 	bool "zImage"
-- 
2.26.2

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

* [Buildroot] [PATCH v3 04/11] board/qemu: add IBM s390x and Z arch support
  2020-09-16  5:59 [Buildroot] [PATCH v3 00/11] IBM s390x and Z architecture support Alexander Egorenkov
                   ` (2 preceding siblings ...)
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 03/11] linux: add bzImage support for IBM s390x and Z arch Alexander Egorenkov
@ 2020-09-16  5:59 ` Alexander Egorenkov
  2020-09-16 17:51   ` Romain Naour
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 05/11] package/systemd: add support for IBM s390x and Z arch Alexander Egorenkov
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Alexander Egorenkov @ 2020-09-16  5:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
---
 DEVELOPERS                     |  2 ++
 board/qemu/s390x/post-build.sh | 11 +++++++++++
 board/qemu/s390x/readme.txt    |  8 ++++++++
 configs/qemu_s390x_defconfig   | 13 +++++++++++++
 4 files changed, 34 insertions(+)
 create mode 100755 board/qemu/s390x/post-build.sh
 create mode 100644 board/qemu/s390x/readme.txt
 create mode 100644 configs/qemu_s390x_defconfig

diff --git a/DEVELOPERS b/DEVELOPERS
index 2285694f66..2c6cc45d45 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -148,6 +148,8 @@ F:	package/multipath-tools/
 
 N:	Alexander Egorenkov <egorenar@linux.ibm.com>
 F:	arch/Config.in.s390x
+F:	board/qemu/s390x/
+F:	configs/qemu_s390x_defconfig
 
 N:	Alexander Kurz <akurz@blala.de>
 F:	package/minimodem/
diff --git a/board/qemu/s390x/post-build.sh b/board/qemu/s390x/post-build.sh
new file mode 100755
index 0000000000..bf83a002c2
--- /dev/null
+++ b/board/qemu/s390x/post-build.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -u
+set -e
+
+# Add a console on tty1
+if [ -e ${TARGET_DIR}/etc/inittab ]; then
+    grep -qE '^tty1::' ${TARGET_DIR}/etc/inittab || \
+	sed -i '/GENERIC_SERIAL/a\
+tty1::respawn:/sbin/getty -L  tty1 0 vt100 # QEMU graphical window' ${TARGET_DIR}/etc/inittab
+fi
diff --git a/board/qemu/s390x/readme.txt b/board/qemu/s390x/readme.txt
new file mode 100644
index 0000000000..7fa41640c0
--- /dev/null
+++ b/board/qemu/s390x/readme.txt
@@ -0,0 +1,8 @@
+Run the emulation with:
+
+  qemu-system-s390x -M s390-ccw-virtio -cpu max,zpci=on -m 4G -smp 2 \
+    -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw \
+    -append "rootwait root=/dev/vda net.ifnames=0 biosdevname=0" -display none -serial mon:stdio \
+    -net nic,model=virtio -net user,host=10.0.2.10,hostfwd=tcp:127.0.0.1:10021-:22 # qemu_s390x_defconfig
+
+The login prompt will appear in the terminal that started Qemu.
diff --git a/configs/qemu_s390x_defconfig b/configs/qemu_s390x_defconfig
new file mode 100644
index 0000000000..5f41b1e626
--- /dev/null
+++ b/configs/qemu_s390x_defconfig
@@ -0,0 +1,13 @@
+BR2_s390x=y
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_SYSTEM_DHCP="eth0"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/s390x/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.8.7"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_TARGET_ROOTFS_EXT2=y
+# BR2_TARGET_ROOTFS_TAR is not set
-- 
2.26.2

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

* [Buildroot] [PATCH v3 05/11] package/systemd: add support for IBM s390x and Z arch
  2020-09-16  5:59 [Buildroot] [PATCH v3 00/11] IBM s390x and Z architecture support Alexander Egorenkov
                   ` (3 preceding siblings ...)
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 04/11] board/qemu: add IBM s390x and Z arch support Alexander Egorenkov
@ 2020-09-16  5:59 ` Alexander Egorenkov
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 06/11] package/cmake: " Alexander Egorenkov
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Alexander Egorenkov @ 2020-09-16  5:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
---
 package/systemd/Config.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/systemd/Config.in b/package/systemd/Config.in
index 74029aff05..7956370b83 100644
--- a/package/systemd/Config.in
+++ b/package/systemd/Config.in
@@ -12,6 +12,7 @@ config BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS
 	default y if BR2_riscv
 	default y if BR2_sh4 || BR2_sh4eb || BR2_sh4a || BR2_sh4aeb
 	default y if BR2_sparc || BR2_sparc64
+	default y if BR2_s390x
 
 menuconfig BR2_PACKAGE_SYSTEMD
 	bool "systemd"
-- 
2.26.2

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

* [Buildroot] [PATCH v3 06/11] package/cmake: add support for IBM s390x and Z arch
  2020-09-16  5:59 [Buildroot] [PATCH v3 00/11] IBM s390x and Z architecture support Alexander Egorenkov
                   ` (4 preceding siblings ...)
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 05/11] package/systemd: add support for IBM s390x and Z arch Alexander Egorenkov
@ 2020-09-16  5:59 ` Alexander Egorenkov
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 07/11] package/liburcu: " Alexander Egorenkov
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Alexander Egorenkov @ 2020-09-16  5:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
---
 package/cmake/Config.in | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/package/cmake/Config.in b/package/cmake/Config.in
index e7bd14e69a..3c47fdcb49 100644
--- a/package/cmake/Config.in
+++ b/package/cmake/Config.in
@@ -5,7 +5,8 @@ config BR2_PACKAGE_CMAKE_ARCH_SUPPORTS
 		BR2_m68k      || BR2_mips        || BR2_mips64   || \
 		BR2_mipsel    || BR2_mips64el    || BR2_powerpc  || \
 		BR2_powerpc64 || BR2_powerpc64le || BR2_sparc    || \
-		BR2_i386      || BR2_x86_64      || BR2_xtensa
+		BR2_i386      || BR2_x86_64      || BR2_xtensa   || \
+		BR2_s390x
 
 config BR2_PACKAGE_CMAKE
 	bool
-- 
2.26.2

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

* [Buildroot] [PATCH v3 07/11] package/liburcu: add support for IBM s390x and Z arch
  2020-09-16  5:59 [Buildroot] [PATCH v3 00/11] IBM s390x and Z architecture support Alexander Egorenkov
                   ` (5 preceding siblings ...)
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 06/11] package/cmake: " Alexander Egorenkov
@ 2020-09-16  5:59 ` Alexander Egorenkov
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 08/11] package/kexec: " Alexander Egorenkov
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Alexander Egorenkov @ 2020-09-16  5:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
---
 package/liburcu/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/liburcu/Config.in b/package/liburcu/Config.in
index 7d29642084..5dc8528971 100644
--- a/package/liburcu/Config.in
+++ b/package/liburcu/Config.in
@@ -4,7 +4,7 @@ config BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS
 	depends on BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be || \
 		BR2_i386 || BR2_mips || BR2_mips64 || BR2_mipsel || \
 		BR2_mips64el || BR2_nios2 || BR2_powerpc || BR2_powerpc64 || \
-		BR2_powerpc64le || BR2_riscv || BR2_sparc64 || BR2_x86_64
+		BR2_powerpc64le || BR2_riscv || BR2_sparc64 || BR2_s390x || BR2_x86_64
 	depends on BR2_USE_MMU # fork() in test
 
 config BR2_PACKAGE_LIBURCU
-- 
2.26.2

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

* [Buildroot] [PATCH v3 08/11] package/kexec: add support for IBM s390x and Z arch
  2020-09-16  5:59 [Buildroot] [PATCH v3 00/11] IBM s390x and Z architecture support Alexander Egorenkov
                   ` (6 preceding siblings ...)
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 07/11] package/liburcu: " Alexander Egorenkov
@ 2020-09-16  5:59 ` Alexander Egorenkov
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 09/11] package/go: " Alexander Egorenkov
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Alexander Egorenkov @ 2020-09-16  5:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
---
 package/kexec/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/kexec/Config.in b/package/kexec/Config.in
index 410e503d9e..90a7bc2672 100644
--- a/package/kexec/Config.in
+++ b/package/kexec/Config.in
@@ -3,7 +3,7 @@ config BR2_PACKAGE_KEXEC
 	depends on BR2_i386 || BR2_x86_64 || BR2_arm || BR2_armeb || \
 		BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el || \
 		BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
-		BR2_sh4 || BR2_sh4a || BR2_aarch64
+		BR2_sh4 || BR2_sh4a || BR2_aarch64 || BR2_s390x
 	help
 	  Kexec is a user space utility for loading another kernel
 	  and asking the currently running kernel to do something with
-- 
2.26.2

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

* [Buildroot] [PATCH v3 09/11] package/go: add support for IBM s390x and Z arch
  2020-09-16  5:59 [Buildroot] [PATCH v3 00/11] IBM s390x and Z architecture support Alexander Egorenkov
                   ` (7 preceding siblings ...)
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 08/11] package/kexec: " Alexander Egorenkov
@ 2020-09-16  5:59 ` Alexander Egorenkov
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 10/11] package/makedumpfile: " Alexander Egorenkov
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 11/11] package/s390-tools: new package Alexander Egorenkov
  10 siblings, 0 replies; 17+ messages in thread
From: Alexander Egorenkov @ 2020-09-16  5:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
---
 package/go/Config.in.host | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/go/Config.in.host b/package/go/Config.in.host
index 3f16dbaec3..87942c7a1e 100644
--- a/package/go/Config.in.host
+++ b/package/go/Config.in.host
@@ -6,7 +6,7 @@ config BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
 	depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS
 	depends on (BR2_arm && BR2_TOOLCHAIN_SUPPORTS_PIE) || BR2_aarch64 \
 		|| BR2_i386 || BR2_x86_64 || BR2_powerpc64le \
-		|| BR2_mips64 || BR2_mips64el
+		|| BR2_mips64 || BR2_mips64el || BR2_s390x
 	depends on !BR2_ARM_CPU_ARMV4
 	# MIPS R6 support in Go has not yet been developed.
 	depends on !BR2_MIPS_CPU_MIPS64R6
-- 
2.26.2

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

* [Buildroot] [PATCH v3 10/11] package/makedumpfile: add support for IBM s390x and Z arch
  2020-09-16  5:59 [Buildroot] [PATCH v3 00/11] IBM s390x and Z architecture support Alexander Egorenkov
                   ` (8 preceding siblings ...)
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 09/11] package/go: " Alexander Egorenkov
@ 2020-09-16  5:59 ` Alexander Egorenkov
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 11/11] package/s390-tools: new package Alexander Egorenkov
  10 siblings, 0 replies; 17+ messages in thread
From: Alexander Egorenkov @ 2020-09-16  5:59 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
---
 package/makedumpfile/Config.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/makedumpfile/Config.in b/package/makedumpfile/Config.in
index a90ccbdf3c..e41c4641a2 100644
--- a/package/makedumpfile/Config.in
+++ b/package/makedumpfile/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_MAKEDUMPFILE_ARCH_SUPPORTS
 	default y if BR2_arm || BR2_armeb
 	default y if BR2_i386 || BR2_x86_64
 	default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
+	default y if BR2_s390x
 	default y if BR2_sparc64
 
 comment "makedumpfile needs a uClibc or glibc toolchain w/ wchar, dynamic library"
-- 
2.26.2

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

* [Buildroot] [PATCH v3 11/11] package/s390-tools: new package
  2020-09-16  5:59 [Buildroot] [PATCH v3 00/11] IBM s390x and Z architecture support Alexander Egorenkov
                   ` (9 preceding siblings ...)
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 10/11] package/makedumpfile: " Alexander Egorenkov
@ 2020-09-16  5:59 ` Alexander Egorenkov
  10 siblings, 0 replies; 17+ messages in thread
From: Alexander Egorenkov @ 2020-09-16  5:59 UTC (permalink / raw)
  To: buildroot

Collection of tools for the IBM s390x and Z architectures.

Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
---
 DEVELOPERS                         |  1 +
 package/Config.in                  |  1 +
 package/s390-tools/Config.in       | 13 +++++
 package/s390-tools/s390-tools.hash |  3 +
 package/s390-tools/s390-tools.mk   | 91 ++++++++++++++++++++++++++++++
 5 files changed, 109 insertions(+)
 create mode 100644 package/s390-tools/Config.in
 create mode 100644 package/s390-tools/s390-tools.hash
 create mode 100644 package/s390-tools/s390-tools.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 2c6cc45d45..ed315e80d7 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -150,6 +150,7 @@ N:	Alexander Egorenkov <egorenar@linux.ibm.com>
 F:	arch/Config.in.s390x
 F:	board/qemu/s390x/
 F:	configs/qemu_s390x_defconfig
+F:	package/s390-tools/
 
 N:	Alexander Kurz <akurz@blala.de>
 F:	package/minimodem/
diff --git a/package/Config.in b/package/Config.in
index 7783c26dc6..3907978365 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2427,6 +2427,7 @@ menu "System tools"
 	source "package/rauc/Config.in"
 	source "package/rsyslog/Config.in"
 	source "package/runc/Config.in"
+	source "package/s390-tools/Config.in"
 	source "package/s6/Config.in"
 	source "package/s6-linux-init/Config.in"
 	source "package/s6-linux-utils/Config.in"
diff --git a/package/s390-tools/Config.in b/package/s390-tools/Config.in
new file mode 100644
index 0000000000..a553b5eeab
--- /dev/null
+++ b/package/s390-tools/Config.in
@@ -0,0 +1,13 @@
+comment "s390-tools needs a glibc toolchain w/ C++, wchar, dynamic library"
+	depends on BR2_s390x
+	depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP
+
+config BR2_PACKAGE_S390_TOOLS
+	bool "s390-tools"
+	depends on BR2_s390x
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_USES_GLIBC
+	help
+	  Tools for use with the s390 Linux kernel and device drivers.
+
+	  https://github.com/ibm-s390-tools/s390-tools
diff --git a/package/s390-tools/s390-tools.hash b/package/s390-tools/s390-tools.hash
new file mode 100644
index 0000000000..38c2431c25
--- /dev/null
+++ b/package/s390-tools/s390-tools.hash
@@ -0,0 +1,3 @@
+# Locally computed:
+sha256  02171161c3f858e413f777dac542d37328b7b882a7919cfb966ea554bb6ac0b2  s390-tools-2.14.0.tar.gz
+sha256  cca17a9a944ebec769adee4aebd805c912c357785ff2705a99ffe68563021f75  COPYING
diff --git a/package/s390-tools/s390-tools.mk b/package/s390-tools/s390-tools.mk
new file mode 100644
index 0000000000..4d4c8188fe
--- /dev/null
+++ b/package/s390-tools/s390-tools.mk
@@ -0,0 +1,91 @@
+################################################################################
+#
+# s390-tools
+#
+################################################################################
+
+S390_TOOLS_VERSION = 2.14.0
+S390_TOOLS_SITE = $(call github,ibm-s390-tools,s390-tools,v$(S390_TOOLS_VERSION))
+S390_TOOLS_LICENSE = MIT
+S390_TOOLS_LICENSE_FILES = LICENSE
+
+S390_TOOLS_MAKE_OPTS = \
+	ARCH=$(BR2_ARCH) \
+	CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" \
+	LINK="$(TARGET_CC)" \
+	LINKXX="$(TARGET_CXX)"
+
+ifeq ($(BR2_PACKAGE_LIBCURL),y)
+S390_TOOLS_DEPENDENCIES += libcurl
+S390_TOOLS_MAKE_OPTS += HAVE_CURL=1
+else
+S390_TOOLS_MAKE_OPTS += HAVE_CURL=0
+endif
+
+ifeq ($(BR2_PACKAGE_JSON_C),y)
+S390_TOOLS_DEPENDENCIES += json-c
+S390_TOOLS_MAKE_OPTS += HAVE_JSONC=1
+else
+S390_TOOLS_MAKE_OPTS += HAVE_JSONC=0
+endif
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+S390_TOOLS_DEPENDENCIES += openssl
+S390_TOOLS_MAKE_OPTS += HAVE_OPENSSL=1
+else
+S390_TOOLS_MAKE_OPTS += HAVE_OPENSSL=0
+endif
+
+ifeq ($(BR2_PACKAGE_CRYPTSETUP),y)
+S390_TOOLS_DEPENDENCIES += cryptsetup
+S390_TOOLS_MAKE_OPTS += HAVE_CRYPTSETUP2=1
+else
+S390_TOOLS_MAKE_OPTS += HAVE_CRYPTSETUP2=0
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
+S390_TOOLS_DEPENDENCIES += libglib2
+S390_TOOLS_MAKE_OPTS += HAVE_GLIB2=1
+else
+S390_TOOLS_MAKE_OPTS += HAVE_GLIB2=0
+endif
+
+ifeq ($(BR2_PACKAGE_NCURSES),y)
+S390_TOOLS_DEPENDENCIES += ncurses
+S390_TOOLS_MAKE_OPTS += HAVE_NCURSES=1
+else
+S390_TOOLS_MAKE_OPTS += HAVE_NCURSES=0
+endif
+
+ifeq ($(BR2_PACKAGE_LIBPFM4),y)
+S390_TOOLS_DEPENDENCIES += libpfm4
+S390_TOOLS_MAKE_OPTS += HAVE_PFM=1
+else
+S390_TOOLS_MAKE_OPTS += HAVE_PFM=0
+endif
+
+ifeq ($(BR2_PACKAGE_LIBFUSE),y)
+S390_TOOLS_DEPENDENCIES += libfuse
+S390_TOOLS_MAKE_OPTS += HAVE_FUSE=1
+else
+S390_TOOLS_MAKE_OPTS += HAVE_FUSE=0
+endif
+
+ifeq ($(BR2_PACKAGE_PERL_NET_SNMP),y)
+S390_TOOLS_DEPENDENCIES += perl-net-snmp
+S390_TOOLS_MAKE_OPTS += HAVE_SNMP=1
+else
+S390_TOOLS_MAKE_OPTS += HAVE_SNMP=0
+endif
+
+define S390_TOOLS_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \
+		$(S390_TOOLS_MAKE_OPTS)
+endef
+
+define S390_TOOLS_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) install \
+		$(S390_TOOLS_MAKE_OPTS) DESTDIR="$(TARGET_DIR)"
+endef
+
+$(eval $(generic-package))
-- 
2.26.2

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

* [Buildroot] [PATCH v3 04/11] board/qemu: add IBM s390x and Z arch support
  2020-09-16  5:59 ` [Buildroot] [PATCH v3 04/11] board/qemu: add IBM s390x and Z arch support Alexander Egorenkov
@ 2020-09-16 17:51   ` Romain Naour
  2020-09-17  4:03     ` Alexander Egorenkov
  0 siblings, 1 reply; 17+ messages in thread
From: Romain Naour @ 2020-09-16 17:51 UTC (permalink / raw)
  To: buildroot

Hi Alexander,

Thanks for this new version.

Le 16/09/2020 ? 07:59, Alexander Egorenkov a ?crit?:
> Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
> ---
>  DEVELOPERS                     |  2 ++
>  board/qemu/s390x/post-build.sh | 11 +++++++++++
>  board/qemu/s390x/readme.txt    |  8 ++++++++
>  configs/qemu_s390x_defconfig   | 13 +++++++++++++
>  4 files changed, 34 insertions(+)
>  create mode 100755 board/qemu/s390x/post-build.sh
>  create mode 100644 board/qemu/s390x/readme.txt
>  create mode 100644 configs/qemu_s390x_defconfig
> 
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 2285694f66..2c6cc45d45 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -148,6 +148,8 @@ F:	package/multipath-tools/
>  
>  N:	Alexander Egorenkov <egorenar@linux.ibm.com>
>  F:	arch/Config.in.s390x
> +F:	board/qemu/s390x/
> +F:	configs/qemu_s390x_defconfig
>  
>  N:	Alexander Kurz <akurz@blala.de>
>  F:	package/minimodem/
> diff --git a/board/qemu/s390x/post-build.sh b/board/qemu/s390x/post-build.sh
> new file mode 100755
> index 0000000000..bf83a002c2
> --- /dev/null
> +++ b/board/qemu/s390x/post-build.sh
> @@ -0,0 +1,11 @@
> +#!/bin/sh
> +
> +set -u
> +set -e
> +
> +# Add a console on tty1
> +if [ -e ${TARGET_DIR}/etc/inittab ]; then
> +    grep -qE '^tty1::' ${TARGET_DIR}/etc/inittab || \
> +	sed -i '/GENERIC_SERIAL/a\
> +tty1::respawn:/sbin/getty -L  tty1 0 vt100 # QEMU graphical window' ${TARGET_DIR}/etc/inittab
> +fi
> diff --git a/board/qemu/s390x/readme.txt b/board/qemu/s390x/readme.txt
> new file mode 100644
> index 0000000000..7fa41640c0
> --- /dev/null
> +++ b/board/qemu/s390x/readme.txt
> @@ -0,0 +1,8 @@
> +Run the emulation with:
> +
> +  qemu-system-s390x -M s390-ccw-virtio -cpu max,zpci=on -m 4G -smp 2 \
> +    -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw \
> +    -append "rootwait root=/dev/vda net.ifnames=0 biosdevname=0" -display none -serial mon:stdio \
> +    -net nic,model=virtio -net user,host=10.0.2.10,hostfwd=tcp:127.0.0.1:10021-:22 # qemu_s390x_defconfig
> +
> +The login prompt will appear in the terminal that started Qemu.
> diff --git a/configs/qemu_s390x_defconfig b/configs/qemu_s390x_defconfig
> new file mode 100644
> index 0000000000..5f41b1e626
> --- /dev/null
> +++ b/configs/qemu_s390x_defconfig
> @@ -0,0 +1,13 @@
> +BR2_s390x=y
> +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> +BR2_SYSTEM_DHCP="eth0"
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/s390x/post-build.sh"
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh"
> +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)"
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.8.7"
> +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
> +BR2_TARGET_ROOTFS_EXT2=y
> +# BR2_TARGET_ROOTFS_TAR is not set
> 

Other qemu_*_defconfig select host-qemu to build qemu-system-<arch> for gitlab
runtime testing:

# host-qemu for gitlab testing
BR2_PACKAGE_HOST_QEMU=y
BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y

But this require to add s309x to BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS:

diff --git a/package/qemu/Config.in.host b/package/qemu/Config.in.host
index 7ccf768d15..a7c0f7bf59 100644
--- a/package/qemu/Config.in.host
+++ b/package/qemu/Config.in.host
@@ -15,6 +15,7 @@ config BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
 	default y if BR2_powerpc64
 	default y if BR2_powerpc64le
 	default y if BR2_riscv
+	default y if BR2_s390x
 	default y if BR2_sh
 	default y if BR2_sparc
 	default y if BR2_sparc64

While testing with QEMU emulator version 5.1.0 built by Buildroot I get:

VFIO - User Level meta-driver version: 0.3
illegal operation: 0001 ilc:1 [#1] SMP
Modules linked in: s390_trng(+) rng_core aes_s390 des_s390 libdes virtio_net
net_failover failover vfio_ccw vfio_mdev mdev vfio_iommu_type1 sha_common vfio
CPU: 0 PID: 135 Comm: udevd Not tainted 5.8.7 #1
Hardware name: QEMU 2964 QEMU (KVM/Linux)
Krnl PSW : 0704f00180000000 000003ff8001d078 (trng_init+0x78/0x190 [s390_trng])
           R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:3 PM:0 RI:0 EA:3
Krnl GPRS: 000000008fcb9458 0000000000000000 00000000fcbf3614 0000000000000001
           0000000000000000 0000000000000002 0000000000000004 0000000002ad35c0
           0000000000000ac0 000003ff8001d190 0000000000000000 000003ff8000e300
           00000000fcb14000 0000000000001b78 000003ff8001d056 000003e0007cfc90
Krnl Code: 000003ff8001d06c: a714fffe		brc	1,000003ff8001d068
           000003ff8001d070: 9120f0ae		tm	174(%r15),32
          #000003ff8001d074: a774001b		brc	7,000003ff8001d0aa
          >000003ff8001d078: c010ffff8bc8	larl	%r1,000003ff8000e808
           000003ff8001d07e: e32010000002	ltg	%r2,0(%r1)
           000003ff8001d084: a7840073		brc	8,000003ff8001d16a
           000003ff8001d088: e55c20180004	chsi	24(%r2),4
           000003ff8001d08e: a7c4006e		brc	12,000003ff8001d16a
Call Trace:
[<000003ff8001d078>] trng_init+0x78/0x190 [s390_trng]
([<000003ff8001d056>] trng_init+0x56/0x190 [s390_trng])
 [<0000000000100818>] do_one_initcall+0x40/0x1f0
 [<0000000000207cd2>] do_init_module+0x6a/0x290
 [<000000000020950a>] __do_sys_finit_module+0xaa/0xc8
 [<0000000000b9801c>] system_call+0xe0/0x2b0
Last Breaking-Event-Address:
 [<000003ff8001d05c>] trng_init+0x5c/0x190 [s390_trng]
Kernel panic - not syncing: Fatal exception: panic_on_oops


I'm not sure it's a kernel or qemu issue because I can't reproduce with qemu
installed on a Fedora 31 (QEMU emulator version 4.1.1 (qemu-4.1.1-1.fc31)).

Best regards,
Romain

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

* [Buildroot] [PATCH v3 04/11] board/qemu: add IBM s390x and Z arch support
  2020-09-16 17:51   ` Romain Naour
@ 2020-09-17  4:03     ` Alexander Egorenkov
  2020-09-17  6:20       ` Romain Naour
  0 siblings, 1 reply; 17+ messages in thread
From: Alexander Egorenkov @ 2020-09-17  4:03 UTC (permalink / raw)
  To: buildroot

Romain Naour <romain.naour@gmail.com> writes:

> Other qemu_*_defconfig select host-qemu to build qemu-system-<arch> for gitlab
> runtime testing:
>
> # host-qemu for gitlab testing
> BR2_PACKAGE_HOST_QEMU=y
> BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y
>
> But this require to add s309x to BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS:
>
> diff --git a/package/qemu/Config.in.host b/package/qemu/Config.in.host
> index 7ccf768d15..a7c0f7bf59 100644
> --- a/package/qemu/Config.in.host
> +++ b/package/qemu/Config.in.host
> @@ -15,6 +15,7 @@ config BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
>  	default y if BR2_powerpc64
>  	default y if BR2_powerpc64le
>  	default y if BR2_riscv
> +	default y if BR2_s390x
>  	default y if BR2_sh
>  	default y if BR2_sparc
>  	default y if BR2_sparc64
>

Fixed.

> While testing with QEMU emulator version 5.1.0 built by Buildroot I get:
>
> VFIO - User Level meta-driver version: 0.3
> illegal operation: 0001 ilc:1 [#1] SMP
> Modules linked in: s390_trng(+) rng_core aes_s390 des_s390 libdes virtio_net
> net_failover failover vfio_ccw vfio_mdev mdev vfio_iommu_type1 sha_common vfio
> CPU: 0 PID: 135 Comm: udevd Not tainted 5.8.7 #1
> Hardware name: QEMU 2964 QEMU (KVM/Linux)
> Krnl PSW : 0704f00180000000 000003ff8001d078 (trng_init+0x78/0x190 [s390_trng])
>            R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:3 PM:0 RI:0 EA:3
> Krnl GPRS: 000000008fcb9458 0000000000000000 00000000fcbf3614 0000000000000001
>            0000000000000000 0000000000000002 0000000000000004 0000000002ad35c0
>            0000000000000ac0 000003ff8001d190 0000000000000000 000003ff8000e300
>            00000000fcb14000 0000000000001b78 000003ff8001d056 000003e0007cfc90
> Krnl Code: 000003ff8001d06c: a714fffe		brc	1,000003ff8001d068
>            000003ff8001d070: 9120f0ae		tm	174(%r15),32
>           #000003ff8001d074: a774001b		brc	7,000003ff8001d0aa
>           >000003ff8001d078: c010ffff8bc8	larl	%r1,000003ff8000e808
>            000003ff8001d07e: e32010000002	ltg	%r2,0(%r1)
>            000003ff8001d084: a7840073		brc	8,000003ff8001d16a
>            000003ff8001d088: e55c20180004	chsi	24(%r2),4
>            000003ff8001d08e: a7c4006e		brc	12,000003ff8001d16a
> Call Trace:
> [<000003ff8001d078>] trng_init+0x78/0x190 [s390_trng]
> ([<000003ff8001d056>] trng_init+0x56/0x190 [s390_trng])
>  [<0000000000100818>] do_one_initcall+0x40/0x1f0
>  [<0000000000207cd2>] do_init_module+0x6a/0x290
>  [<000000000020950a>] __do_sys_finit_module+0xaa/0xc8
>  [<0000000000b9801c>] system_call+0xe0/0x2b0
> Last Breaking-Event-Address:
>  [<000003ff8001d05c>] trng_init+0x5c/0x190 [s390_trng]
> Kernel panic - not syncing: Fatal exception: panic_on_oops
>
>
> I'm not sure it's a kernel or qemu issue because I can't reproduce with qemu
> installed on a Fedora 31 (QEMU emulator version 4.1.1 (qemu-4.1.1-1.fc31)).
>
> Best regards,
> Romain

Hmm, i also built now qemu with build root and it worked on my Fedora 32:
(both x86_64 w/o KVM and s390x arch w/ KVM). I assume you tested it on
x86_64 ?

$ $O/host/bin/qemu-system-s390x -M s390-ccw-virtio -cpu max,zpci=on -m 8G -smp 2     -kernel $O/images/bzImage -drive file=$O/images/rootfs.ext2,if=virtio,format=raw     -append "rootwait root=/dev/vda net.ifnames=0 biosdevn
ame=0" -display none -serial mon:stdio     -net nic,model=virtio -net user,host=10.0.2.10,hostfwd=tcp:127.0.0.1:10021-:22
qemu-system-s390x: warning: 'msa5-base' requires 'kimd-sha-512'.
qemu-system-s390x: warning: 'msa5-base' requires 'klmd-sha-512'.
qemu-system-s390x: warning: 'msa5-base' requires 'kimd-sha-512'.
qemu-system-s390x: warning: 'msa5-base' requires 'klmd-sha-512'.
KASLR disabled: CPU has no PRNG
[    0.366192] Linux version 5.8.7 (egorenar at oc8242746057.ibm.com) (s390x-buildroot-linux-gnu-gcc.br_real (Buildroot 2020.08-440-gd397680877) 9.3.0, GNU ld (GNU Binutils) 2.33.1) #1 SMP Thu Sep 17 05:40:47 CEST 2020
[    0.367132] setup: Linux is running under KVM in 64-bit mode
[    0.378878] setup: The maximum memory size is 8192MB
[    0.381460] cpu: 2 configured CPUs, 0 standby CPUs
[    0.549806] Write protected kernel read-only data: 13692k
[    0.702248] Zone ranges:
[    0.703255]   DMA      [mem 0x0000000000000000-0x000000007fffffff]
[    0.703551]   Normal   [mem 0x0000000080000000-0x00000001ffffffff]
[    0.703572] Movable zone start for each node
[    0.703600] Early memory node ranges
[    0.703690]   node   0: [mem 0x0000000000000000-0x00000001ffffffff]
[    0.704078] Initmem setup node 0 [mem 0x0000000000000000-0x00000001ffffffff]
[    0.845299] percpu: Embedded 33 pages/cpu s97536 r8192 d29440 u135168
[    0.847210] Built 1 zonelists, mobility grouping on.  Total pages: 2064384
[    0.847231] Policy zone: Normal
[    0.847376] Kernel command line: rootwait root=/dev/vda net.ifnames=0 biosdevname=0
[    0.855783] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[    0.858843] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.859540] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.937081] Memory: 2338108K/8388608K available (10588K kernel code, 2040K rwdata, 3104K rodata, 3984K init, 868K bss, 181584K reserved, 0K cma-reserved)
[    0.940272] SLUB: HWalign=256, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.940847] ftrace: allocating 32039 entries in 126 pages
[    1.061896] ftrace: allocated 126 pages with 6 groups
[    1.068028] rcu: Hierarchical RCU implementation.
[    1.068048] rcu:     RCU event tracing is enabled.
[    1.068090] rcu:     RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=2.
[    1.068166]  Trampoline variant of Tasks RCU enabled.
[    1.068178]  Rude variant of Tasks RCU enabled.
[    1.068191]  Tracing variant of Tasks RCU enabled.
[    1.068238] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    1.068268] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    1.093052] NR_IRQS: 3, nr_irqs: 3, preallocated irqs: 3
[    1.096730] clocksource: tod: mask: 0xffffffffffffffff max_cycles: 0x3b0a9be803b0a9, max_idle_ns: 1805497147909793 ns
[    1.099514] Console: colour dummy device 80x25
[    1.104248] printk: console [ttyS1] enabled
[    1.105646] pid_max: default: 32768 minimum: 301
[    1.106518] LSM: Security Framework initializing
[    1.109539] SELinux:  Initializing.
[    1.110262] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    1.110368] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    1.140651] rcu: Hierarchical SRCU implementation.
[    1.144236] smp: Bringing up secondary CPUs ...
[    1.152450] smp: Brought up 1 node, 2 CPUs
[    1.515206] node 0 deferred pages initialised in 350ms
[    1.530903] devtmpfs: initialized
[    1.538658] random: get_random_u32 called from bucket_table_alloc.isra.0+0x82/0x120 with crng_init=0
[    1.543445] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    1.543607] futex hash table entries: 512 (order: 5, 131072 bytes, linear)
[    1.545667] xor: automatically using best checksumming function   xc
[    1.548274] NET: Registered protocol family 16
[    1.550071] audit: initializing netlink subsys (disabled)
[    1.551922] audit: type=2000 audit(1600315128.497:1): state=initialized audit_enabled=0 res=1
[    1.553782] Spectre V2 mitigation: execute trampolines
[    1.814726] random: fast init done
[    1.987222] raid6: vx128x8  gen()  1011 MB/s
[    2.157294] raid6: vx128x8  xor()   547 MB/s
[    2.157351] raid6: using algorithm vx128x8 gen() 1011 MB/s
[    2.157372] raid6: .... xor() 547 MB/s, rmw enabled
[    2.157421] raid6: using s390xc recovery algorithm
[    2.159340] iommu: Default domain type: Translated
[    2.161263] SCSI subsystem initialized
[    2.683143] VFS: Disk quotas dquot_6.6.0
[    2.683353] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    2.684534] hugetlbfs: disabling because there are no supported hugepage sizes
[    2.732575] NET: Registered protocol family 2
[    2.737609] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
[    2.737836] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    2.738519] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
[    2.740623] TCP: Hash tables configured (established 65536 bind 65536)
[    2.742981] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear)
[    2.743274] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear)
[    2.745077] NET: Registered protocol family 1
[    2.757493] alg: No test for crc32be (crc32be-vx)
[    2.762879] hypfs: The hardware system does not support hypfs
[    2.764030] hypfs: Initialization of hypfs failed with rc=-61
[    2.769089] Initialise system trusted keyrings
[    2.770831] workingset: timestamp_bits=45 max_order=21 bucket_order=0
[    2.788848] zbud: loaded
[    2.794585] fuse: init (API version 7.31)
[    2.795653] SGI XFS with ACLs, security attributes, realtime, quota, no debug enabled
[    2.905985] Key type asymmetric registered
[    2.906073] Asymmetric key parser 'x509' registered
[    2.906342] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    2.907547] io scheduler mq-deadline registered
[    2.907631] io scheduler kyber registered
[    2.908075] io scheduler bfq registered
[    2.910166] atomic64_test: passed
[    2.911657] hvc_iucv: The z/VM IUCV HVC device driver cannot be used without z/VM
[    2.948459] brd: module loaded
[    2.951788] NET: Registered protocol family 10
[    2.958401] Segment Routing with IPv6
[    2.958456] RPL Segment Routing with IPv6
[    2.958788] NET: Registered protocol family 17
[    2.959937] Key type dns_resolver registered
[    2.961092] cio: Channel measurement facility initialized using format extended (mode autodetected)
[    2.966237] Discipline DIAG cannot be used without z/VM
[    2.969156] sclp_sd: Store Data request failed (eq=2, di=3, response=0x40f0, flags=0x00, status=0, rc=-5)
[    2.970659] ap: The hardware system does not support AP instructions
[    2.970722] qeth: loading core functions
[    2.971417] qeth: register layer 2 discipline
[    2.971449] qeth: register layer 3 discipline
[    2.974893] registered taskstats version 1
[    2.975016] Loading compiled-in X.509 certificates
[    3.001380] virtio_blk virtio0: [vda] 122880 512-byte logical blocks (62.9 MB/60.0 MiB)
[    3.001570] vda: detected capacity change from 0 to 62914560
[    3.151745] Loaded X.509 cert 'Build time autogenerated kernel key: f969dcdeea2f380a65e90408b4162836b4f4bd54'
[    3.152559] zswap: loaded using pool lzo/zbud
[    3.155266] Key type ._fscrypt registered
[    3.155305] Key type .fscrypt registered
[    3.155326] Key type fscrypt-provisioning registered
[    3.162518] Btrfs loaded, crc32c=crc32c-vx
[    3.163798] ima: No TPM chip found, activating TPM-bypass!
[    3.163951] ima: Allocated hash algorithm: sha256
[    3.165442] ima: No architecture policies found
[    3.170318] md: Waiting for all devices to be available before autodetect
[    3.170343] md: If you don't use raid, use raid=noautodetect
[    3.173128] md: Autodetecting RAID arrays.
[    3.173164] md: autorun ...
[    3.173182] md: ... autorun DONE.
[    3.180925] EXT4-fs (vda): mounting ext2 file system using the ext4 subsystem
[    3.189583] EXT4-fs (vda): mounted filesystem without journal. Opts: (null)
[    3.189814] VFS: Mounted root (ext2 filesystem) readonly on device 253:0.
[    3.192099] devtmpfs: mounted
[    3.202738] Freeing unused kernel memory: 3984K
[    3.229208] Write protected read-only-after-init data: 68k
[    3.229418] Run /sbin/init as init process
[    3.422295] EXT4-fs (vda): re-mounted. Opts: (null)
[    3.422803] ext2 filesystem being remounted at / supports timestamps until 2038 (0x7fffffff)
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Populating /dev using udev: [    4.347761] udevd[123]: starting version 3.2.9
[    4.370370] random: udevd: uninitialized urandom read (16 bytes read)
[    4.374602] random: udevd: uninitialized urandom read (16 bytes read)
[    4.375309] random: udevd: uninitialized urandom read (16 bytes read)
[    4.450209] udevd[124]: starting eudev-3.2.9
[    5.055589] VFIO - User Level meta-driver version: 0.3
done
Saving random seed: [    6.566095] urandom_read: 4 callbacks suppressed
[    6.566122] random: dd: uninitialized urandom read (512 bytes read)
OK
Starting network: udhcpc: started, v1.32.0
udhcpc: sending discover
udhcpc: sending select for 10.0.2.15
udhcpc: lease of 10.0.2.15 obtained, lease time 86400
deleting routers
adding dns 10.0.2.3
OK

Welcome to Buildroot
buildroot login: QEMU: Terminated



Thanks for review
Regards
Alex

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

* [Buildroot] [PATCH v3 04/11] board/qemu: add IBM s390x and Z arch support
  2020-09-17  4:03     ` Alexander Egorenkov
@ 2020-09-17  6:20       ` Romain Naour
  2020-09-17  8:44         ` Alexander Egorenkov
  0 siblings, 1 reply; 17+ messages in thread
From: Romain Naour @ 2020-09-17  6:20 UTC (permalink / raw)
  To: buildroot

Hi Alexander,

Le 17/09/2020 ? 06:03, Alexander Egorenkov a ?crit?:
> Romain Naour <romain.naour@gmail.com> writes:
> 
>> Other qemu_*_defconfig select host-qemu to build qemu-system-<arch> for gitlab
>> runtime testing:
>>
>> # host-qemu for gitlab testing
>> BR2_PACKAGE_HOST_QEMU=y
>> BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y
>>
>> But this require to add s309x to BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS:
>>
>> diff --git a/package/qemu/Config.in.host b/package/qemu/Config.in.host
>> index 7ccf768d15..a7c0f7bf59 100644
>> --- a/package/qemu/Config.in.host
>> +++ b/package/qemu/Config.in.host
>> @@ -15,6 +15,7 @@ config BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
>>  	default y if BR2_powerpc64
>>  	default y if BR2_powerpc64le
>>  	default y if BR2_riscv
>> +	default y if BR2_s390x
>>  	default y if BR2_sh
>>  	default y if BR2_sparc
>>  	default y if BR2_sparc64
>>
> 
> Fixed.
> 
>> While testing with QEMU emulator version 5.1.0 built by Buildroot I get:
>>
>> VFIO - User Level meta-driver version: 0.3
>> illegal operation: 0001 ilc:1 [#1] SMP
>> Modules linked in: s390_trng(+) rng_core aes_s390 des_s390 libdes virtio_net
>> net_failover failover vfio_ccw vfio_mdev mdev vfio_iommu_type1 sha_common vfio
>> CPU: 0 PID: 135 Comm: udevd Not tainted 5.8.7 #1
>> Hardware name: QEMU 2964 QEMU (KVM/Linux)
>> Krnl PSW : 0704f00180000000 000003ff8001d078 (trng_init+0x78/0x190 [s390_trng])
>>            R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:3 PM:0 RI:0 EA:3
>> Krnl GPRS: 000000008fcb9458 0000000000000000 00000000fcbf3614 0000000000000001
>>            0000000000000000 0000000000000002 0000000000000004 0000000002ad35c0
>>            0000000000000ac0 000003ff8001d190 0000000000000000 000003ff8000e300
>>            00000000fcb14000 0000000000001b78 000003ff8001d056 000003e0007cfc90
>> Krnl Code: 000003ff8001d06c: a714fffe		brc	1,000003ff8001d068
>>            000003ff8001d070: 9120f0ae		tm	174(%r15),32
>>           #000003ff8001d074: a774001b		brc	7,000003ff8001d0aa
>>           >000003ff8001d078: c010ffff8bc8	larl	%r1,000003ff8000e808
>>            000003ff8001d07e: e32010000002	ltg	%r2,0(%r1)
>>            000003ff8001d084: a7840073		brc	8,000003ff8001d16a
>>            000003ff8001d088: e55c20180004	chsi	24(%r2),4
>>            000003ff8001d08e: a7c4006e		brc	12,000003ff8001d16a
>> Call Trace:
>> [<000003ff8001d078>] trng_init+0x78/0x190 [s390_trng]
>> ([<000003ff8001d056>] trng_init+0x56/0x190 [s390_trng])
>>  [<0000000000100818>] do_one_initcall+0x40/0x1f0
>>  [<0000000000207cd2>] do_init_module+0x6a/0x290
>>  [<000000000020950a>] __do_sys_finit_module+0xaa/0xc8
>>  [<0000000000b9801c>] system_call+0xe0/0x2b0
>> Last Breaking-Event-Address:
>>  [<000003ff8001d05c>] trng_init+0x5c/0x190 [s390_trng]
>> Kernel panic - not syncing: Fatal exception: panic_on_oops
>>
>>
>> I'm not sure it's a kernel or qemu issue because I can't reproduce with qemu
>> installed on a Fedora 31 (QEMU emulator version 4.1.1 (qemu-4.1.1-1.fc31)).
>>
>> Best regards,
>> Romain
> 
> Hmm, i also built now qemu with build root and it worked on my Fedora 32:
> (both x86_64 w/o KVM and s390x arch w/ KVM). I assume you tested it on
> x86_64 ?

Yes, I'm on a f31 x86_64 host.
I tested several time and it boot time to time.
I didn't investigated further, but it seems a problem around the RNG driver.

> 
> $ $O/host/bin/qemu-system-s390x -M s390-ccw-virtio -cpu max,zpci=on -m 8G -smp 2     -kernel $O/images/bzImage -drive file=$O/images/rootfs.ext2,if=virtio,format=raw     -append "rootwait root=/dev/vda net.ifnames=0 biosdevn
> ame=0" -display none -serial mon:stdio     -net nic,model=virtio -net user,host=10.0.2.10,hostfwd=tcp:127.0.0.1:10021-:22
> qemu-system-s390x: warning: 'msa5-base' requires 'kimd-sha-512'.
> qemu-system-s390x: warning: 'msa5-base' requires 'klmd-sha-512'.
> qemu-system-s390x: warning: 'msa5-base' requires 'kimd-sha-512'.
> qemu-system-s390x: warning: 'msa5-base' requires 'klmd-sha-512'.
> KASLR disabled: CPU has no PRNG
> [    0.366192] Linux version 5.8.7 (egorenar at oc8242746057.ibm.com) (s390x-buildroot-linux-gnu-gcc.br_real (Buildroot 2020.08-440-gd397680877) 9.3.0, GNU ld (GNU Binutils) 2.33.1) #1 SMP Thu Sep 17 05:40:47 CEST 2020
> [    0.367132] setup: Linux is running under KVM in 64-bit mode
> [    0.378878] setup: The maximum memory size is 8192MB
> [    0.381460] cpu: 2 configured CPUs, 0 standby CPUs
> [    0.549806] Write protected kernel read-only data: 13692k
> [    0.702248] Zone ranges:
> [    0.703255]   DMA      [mem 0x0000000000000000-0x000000007fffffff]
> [    0.703551]   Normal   [mem 0x0000000080000000-0x00000001ffffffff]
> [    0.703572] Movable zone start for each node
> [    0.703600] Early memory node ranges
> [    0.703690]   node   0: [mem 0x0000000000000000-0x00000001ffffffff]
> [    0.704078] Initmem setup node 0 [mem 0x0000000000000000-0x00000001ffffffff]
> [    0.845299] percpu: Embedded 33 pages/cpu s97536 r8192 d29440 u135168
> [    0.847210] Built 1 zonelists, mobility grouping on.  Total pages: 2064384
> [    0.847231] Policy zone: Normal
> [    0.847376] Kernel command line: rootwait root=/dev/vda net.ifnames=0 biosdevname=0
> [    0.855783] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
> [    0.858843] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
> [    0.859540] mem auto-init: stack:off, heap alloc:off, heap free:off
> [    0.937081] Memory: 2338108K/8388608K available (10588K kernel code, 2040K rwdata, 3104K rodata, 3984K init, 868K bss, 181584K reserved, 0K cma-reserved)
> [    0.940272] SLUB: HWalign=256, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
> [    0.940847] ftrace: allocating 32039 entries in 126 pages
> [    1.061896] ftrace: allocated 126 pages with 6 groups
> [    1.068028] rcu: Hierarchical RCU implementation.
> [    1.068048] rcu:     RCU event tracing is enabled.
> [    1.068090] rcu:     RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=2.
> [    1.068166]  Trampoline variant of Tasks RCU enabled.
> [    1.068178]  Rude variant of Tasks RCU enabled.
> [    1.068191]  Tracing variant of Tasks RCU enabled.
> [    1.068238] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
> [    1.068268] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
> [    1.093052] NR_IRQS: 3, nr_irqs: 3, preallocated irqs: 3
> [    1.096730] clocksource: tod: mask: 0xffffffffffffffff max_cycles: 0x3b0a9be803b0a9, max_idle_ns: 1805497147909793 ns
> [    1.099514] Console: colour dummy device 80x25
> [    1.104248] printk: console [ttyS1] enabled
> [    1.105646] pid_max: default: 32768 minimum: 301
> [    1.106518] LSM: Security Framework initializing
> [    1.109539] SELinux:  Initializing.
> [    1.110262] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
> [    1.110368] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
> [    1.140651] rcu: Hierarchical SRCU implementation.
> [    1.144236] smp: Bringing up secondary CPUs ...
> [    1.152450] smp: Brought up 1 node, 2 CPUs
> [    1.515206] node 0 deferred pages initialised in 350ms
> [    1.530903] devtmpfs: initialized
> [    1.538658] random: get_random_u32 called from bucket_table_alloc.isra.0+0x82/0x120 with crng_init=0
> [    1.543445] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
> [    1.543607] futex hash table entries: 512 (order: 5, 131072 bytes, linear)
> [    1.545667] xor: automatically using best checksumming function   xc
> [    1.548274] NET: Registered protocol family 16
> [    1.550071] audit: initializing netlink subsys (disabled)
> [    1.551922] audit: type=2000 audit(1600315128.497:1): state=initialized audit_enabled=0 res=1
> [    1.553782] Spectre V2 mitigation: execute trampolines
> [    1.814726] random: fast init done
> [    1.987222] raid6: vx128x8  gen()  1011 MB/s
> [    2.157294] raid6: vx128x8  xor()   547 MB/s
> [    2.157351] raid6: using algorithm vx128x8 gen() 1011 MB/s
> [    2.157372] raid6: .... xor() 547 MB/s, rmw enabled
> [    2.157421] raid6: using s390xc recovery algorithm
> [    2.159340] iommu: Default domain type: Translated
> [    2.161263] SCSI subsystem initialized
> [    2.683143] VFS: Disk quotas dquot_6.6.0
> [    2.683353] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
> [    2.684534] hugetlbfs: disabling because there are no supported hugepage sizes
> [    2.732575] NET: Registered protocol family 2
> [    2.737609] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
> [    2.737836] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
> [    2.738519] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
> [    2.740623] TCP: Hash tables configured (established 65536 bind 65536)
> [    2.742981] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear)
> [    2.743274] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear)
> [    2.745077] NET: Registered protocol family 1
> [    2.757493] alg: No test for crc32be (crc32be-vx)
> [    2.762879] hypfs: The hardware system does not support hypfs
> [    2.764030] hypfs: Initialization of hypfs failed with rc=-61
> [    2.769089] Initialise system trusted keyrings
> [    2.770831] workingset: timestamp_bits=45 max_order=21 bucket_order=0
> [    2.788848] zbud: loaded
> [    2.794585] fuse: init (API version 7.31)
> [    2.795653] SGI XFS with ACLs, security attributes, realtime, quota, no debug enabled
> [    2.905985] Key type asymmetric registered
> [    2.906073] Asymmetric key parser 'x509' registered
> [    2.906342] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
> [    2.907547] io scheduler mq-deadline registered
> [    2.907631] io scheduler kyber registered
> [    2.908075] io scheduler bfq registered
> [    2.910166] atomic64_test: passed
> [    2.911657] hvc_iucv: The z/VM IUCV HVC device driver cannot be used without z/VM
> [    2.948459] brd: module loaded
> [    2.951788] NET: Registered protocol family 10
> [    2.958401] Segment Routing with IPv6
> [    2.958456] RPL Segment Routing with IPv6
> [    2.958788] NET: Registered protocol family 17
> [    2.959937] Key type dns_resolver registered
> [    2.961092] cio: Channel measurement facility initialized using format extended (mode autodetected)
> [    2.966237] Discipline DIAG cannot be used without z/VM
> [    2.969156] sclp_sd: Store Data request failed (eq=2, di=3, response=0x40f0, flags=0x00, status=0, rc=-5)
> [    2.970659] ap: The hardware system does not support AP instructions
> [    2.970722] qeth: loading core functions
> [    2.971417] qeth: register layer 2 discipline
> [    2.971449] qeth: register layer 3 discipline
> [    2.974893] registered taskstats version 1
> [    2.975016] Loading compiled-in X.509 certificates
> [    3.001380] virtio_blk virtio0: [vda] 122880 512-byte logical blocks (62.9 MB/60.0 MiB)
> [    3.001570] vda: detected capacity change from 0 to 62914560
> [    3.151745] Loaded X.509 cert 'Build time autogenerated kernel key: f969dcdeea2f380a65e90408b4162836b4f4bd54'
> [    3.152559] zswap: loaded using pool lzo/zbud
> [    3.155266] Key type ._fscrypt registered
> [    3.155305] Key type .fscrypt registered
> [    3.155326] Key type fscrypt-provisioning registered
> [    3.162518] Btrfs loaded, crc32c=crc32c-vx
> [    3.163798] ima: No TPM chip found, activating TPM-bypass!
> [    3.163951] ima: Allocated hash algorithm: sha256
> [    3.165442] ima: No architecture policies found
> [    3.170318] md: Waiting for all devices to be available before autodetect
> [    3.170343] md: If you don't use raid, use raid=noautodetect
> [    3.173128] md: Autodetecting RAID arrays.
> [    3.173164] md: autorun ...
> [    3.173182] md: ... autorun DONE.
> [    3.180925] EXT4-fs (vda): mounting ext2 file system using the ext4 subsystem
> [    3.189583] EXT4-fs (vda): mounted filesystem without journal. Opts: (null)
> [    3.189814] VFS: Mounted root (ext2 filesystem) readonly on device 253:0.
> [    3.192099] devtmpfs: mounted
> [    3.202738] Freeing unused kernel memory: 3984K
> [    3.229208] Write protected read-only-after-init data: 68k
> [    3.229418] Run /sbin/init as init process
> [    3.422295] EXT4-fs (vda): re-mounted. Opts: (null)
> [    3.422803] ext2 filesystem being remounted at / supports timestamps until 2038 (0x7fffffff)
> Starting syslogd: OK
> Starting klogd: OK
> Running sysctl: OK
> Populating /dev using udev: [    4.347761] udevd[123]: starting version 3.2.9
> [    4.370370] random: udevd: uninitialized urandom read (16 bytes read)
> [    4.374602] random: udevd: uninitialized urandom read (16 bytes read)
> [    4.375309] random: udevd: uninitialized urandom read (16 bytes read)
> [    4.450209] udevd[124]: starting eudev-3.2.9
> [    5.055589] VFIO - User Level meta-driver version: 0.3
> done
> Saving random seed: [    6.566095] urandom_read: 4 callbacks suppressed
> [    6.566122] random: dd: uninitialized urandom read (512 bytes read)
> OK
> Starting network: udhcpc: started, v1.32.0
> udhcpc: sending discover
> udhcpc: sending select for 10.0.2.15
> udhcpc: lease of 10.0.2.15 obtained, lease time 86400
> deleting routers
> adding dns 10.0.2.3
> OK
> 
> Welcome to Buildroot
> buildroot login: QEMU: Terminated

Yes, I get this log when It doesn't crash before :)

Best regards,
Romain
> 
> 
> 
> Thanks for review
> Regards
> Alex
> 

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

* [Buildroot] [PATCH v3 04/11] board/qemu: add IBM s390x and Z arch support
  2020-09-17  6:20       ` Romain Naour
@ 2020-09-17  8:44         ` Alexander Egorenkov
  2020-09-17 17:55           ` Romain Naour
  0 siblings, 1 reply; 17+ messages in thread
From: Alexander Egorenkov @ 2020-09-17  8:44 UTC (permalink / raw)
  To: buildroot

Romain Naour <romain.naour@gmail.com> writes:

>
> Yes, I'm on a f31 x86_64 host.
> I tested several time and it boot time to time.
> I didn't investigated further, but it seems a problem around the RNG driver.
>

Could you please add "initcall_debug debug" to the kernel command line
and send the console output back when it crashed ?

Thanks
Regards
Alex

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

* [Buildroot] [PATCH v3 04/11] board/qemu: add IBM s390x and Z arch support
  2020-09-17  8:44         ` Alexander Egorenkov
@ 2020-09-17 17:55           ` Romain Naour
  0 siblings, 0 replies; 17+ messages in thread
From: Romain Naour @ 2020-09-17 17:55 UTC (permalink / raw)
  To: buildroot

Hi Alexander,

Le 17/09/2020 ? 10:44, Alexander Egorenkov a ?crit?:
> Romain Naour <romain.naour@gmail.com> writes:
> 
>>
>> Yes, I'm on a f31 x86_64 host.
>> I tested several time and it boot time to time.
>> I didn't investigated further, but it seems a problem around the RNG driver.
>>
> 
> Could you please add "initcall_debug debug" to the kernel command line
> and send the console output back when it crashed ?

https://pastebin.com/TmGkmQNJ

Best regards,
Romain

> 
> Thanks
> Regards
> Alex
> 

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

end of thread, other threads:[~2020-09-17 17:55 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-16  5:59 [Buildroot] [PATCH v3 00/11] IBM s390x and Z architecture support Alexander Egorenkov
2020-09-16  5:59 ` [Buildroot] [PATCH v3 01/11] arch: add the basic IBM s390x and Z arch support Alexander Egorenkov
2020-09-16  5:59 ` [Buildroot] [PATCH v3 02/11] toolchain: add support for the internal IBM s390x and Z toolchain Alexander Egorenkov
2020-09-16  5:59 ` [Buildroot] [PATCH v3 03/11] linux: add bzImage support for IBM s390x and Z arch Alexander Egorenkov
2020-09-16  5:59 ` [Buildroot] [PATCH v3 04/11] board/qemu: add IBM s390x and Z arch support Alexander Egorenkov
2020-09-16 17:51   ` Romain Naour
2020-09-17  4:03     ` Alexander Egorenkov
2020-09-17  6:20       ` Romain Naour
2020-09-17  8:44         ` Alexander Egorenkov
2020-09-17 17:55           ` Romain Naour
2020-09-16  5:59 ` [Buildroot] [PATCH v3 05/11] package/systemd: add support for IBM s390x and Z arch Alexander Egorenkov
2020-09-16  5:59 ` [Buildroot] [PATCH v3 06/11] package/cmake: " Alexander Egorenkov
2020-09-16  5:59 ` [Buildroot] [PATCH v3 07/11] package/liburcu: " Alexander Egorenkov
2020-09-16  5:59 ` [Buildroot] [PATCH v3 08/11] package/kexec: " Alexander Egorenkov
2020-09-16  5:59 ` [Buildroot] [PATCH v3 09/11] package/go: " Alexander Egorenkov
2020-09-16  5:59 ` [Buildroot] [PATCH v3 10/11] package/makedumpfile: " Alexander Egorenkov
2020-09-16  5:59 ` [Buildroot] [PATCH v3 11/11] package/s390-tools: new package Alexander Egorenkov

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.