All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zhangjin Wu <falcon@tinylab.org>
To: w@1wt.eu
Cc: falcon@tinylab.org, arnd@arndb.de, linux-kernel@vger.kernel.org,
	linux-kselftest@vger.kernel.org, thomas@t-8ch.de,
	"Thomas Weißschuh" <linux@weissschuh.net>
Subject: [PATCH v3 5/7] selftests/nolibc: add test support for ppc
Date: Thu, 27 Jul 2023 23:04:24 +0800	[thread overview]
Message-ID: <8019280baee8efb6c82f5ce766fcd826b7d1ffa2.1690468707.git.falcon@tinylab.org> (raw)
In-Reply-To: <cover.1690468707.git.falcon@tinylab.org>

Kernel uses ARCH=powerpc for both 32-bit and 64-bit PowerPC, here adds a
ppc variant for 32-bit PowerPC and uses it as the default variant of
powerpc architecture.

Users can pass ARCH=powerpc or ARCH=ppc to test 32-bit PowerPC.

The default qemu-system-ppc g3beige machine [1] is used to run 32-bit
powerpc kernel.

The pmac32_defconfig is used with extra PMACZILOG console options to
enable normal print.

Note, zImage doesn't boot due to "qemu-system-ppc: Some ROM regions are
overlapping" error, so, vmlinux is used instead.

[1]: https://qemu.readthedocs.io/en/latest/system/ppc/powermac.html

Suggested-by: Willy Tarreau <w@1wt.eu>
Link: https://lore.kernel.org/lkml/ZL9leVOI25S2+0+g@1wt.eu/
Reviewed-by: Thomas Weißschuh <linux@weissschuh.net>
Signed-off-by: Zhangjin Wu <falcon@tinylab.org>
---
 tools/testing/selftests/nolibc/Makefile           | 6 ++++++
 tools/testing/selftests/nolibc/configs/ppc.config | 3 +++
 2 files changed, 9 insertions(+)
 create mode 100644 tools/testing/selftests/nolibc/configs/ppc.config

diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile
index 5afb3e7d7723..832b9ffcbac4 100644
--- a/tools/testing/selftests/nolibc/Makefile
+++ b/tools/testing/selftests/nolibc/Makefile
@@ -16,10 +16,12 @@ endif
 
 # XARCH is used to save user-input ARCH variant
 # configure default variants for target kernel supported architectures
+XARCH_powerpc    = ppc
 XARCH           := $(or $(XARCH_$(ARCH)),$(ARCH))
 
 # ARCH is supported by kernel
 # map from user input variants to their kernel supported architectures
+ARCH_ppc         = powerpc
 override ARCH   := $(or $(ARCH_$(XARCH)),$(XARCH))
 
 # kernel image names by architecture
@@ -29,6 +31,7 @@ IMAGE_x86        = arch/x86/boot/bzImage
 IMAGE_arm64      = arch/arm64/boot/Image
 IMAGE_arm        = arch/arm/boot/zImage
 IMAGE_mips       = vmlinuz
+IMAGE_ppc        = vmlinux
 IMAGE_riscv      = arch/riscv/boot/Image
 IMAGE_s390       = arch/s390/boot/bzImage
 IMAGE_loongarch  = arch/loongarch/boot/vmlinuz.efi
@@ -42,6 +45,7 @@ DEFCONFIG_x86        = defconfig
 DEFCONFIG_arm64      = defconfig
 DEFCONFIG_arm        = multi_v7_defconfig
 DEFCONFIG_mips       = malta_defconfig
+DEFCONFIG_ppc        = pmac32_defconfig
 DEFCONFIG_riscv      = defconfig
 DEFCONFIG_s390       = defconfig
 DEFCONFIG_loongarch  = defconfig
@@ -60,6 +64,7 @@ QEMU_ARCH_x86        = x86_64
 QEMU_ARCH_arm64      = aarch64
 QEMU_ARCH_arm        = arm
 QEMU_ARCH_mips       = mipsel  # works with malta_defconfig
+QEMU_ARCH_ppc        = ppc
 QEMU_ARCH_riscv      = riscv64
 QEMU_ARCH_s390       = s390x
 QEMU_ARCH_loongarch  = loongarch64
@@ -72,6 +77,7 @@ QEMU_ARGS_x86        = -M pc -append "console=ttyS0,9600 i8042.noaux panic=-1 $(
 QEMU_ARGS_arm64      = -M virt -cpu cortex-a53 -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
 QEMU_ARGS_arm        = -M virt -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
 QEMU_ARGS_mips       = -M malta -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
+QEMU_ARGS_ppc        = -M g3beige -append "console=ttyS0 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
 QEMU_ARGS_riscv      = -M virt -append "console=ttyS0 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
 QEMU_ARGS_s390       = -M s390-ccw-virtio -m 1G -append "console=ttyS0 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
 QEMU_ARGS_loongarch  = -M virt -append "console=ttyS0,115200 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
diff --git a/tools/testing/selftests/nolibc/configs/ppc.config b/tools/testing/selftests/nolibc/configs/ppc.config
new file mode 100644
index 000000000000..b1975f8253f7
--- /dev/null
+++ b/tools/testing/selftests/nolibc/configs/ppc.config
@@ -0,0 +1,3 @@
+CONFIG_SERIAL_PMACZILOG=y
+CONFIG_SERIAL_PMACZILOG_TTYS=y
+CONFIG_SERIAL_PMACZILOG_CONSOLE=y
-- 
2.25.1


  parent reply	other threads:[~2023-07-27 15:04 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-27 14:58 [PATCH v3 0/7] tools/nolibc: add 32/64-bit powerpc support Zhangjin Wu
2023-07-27 14:59 ` [PATCH v3 1/7] tools/nolibc: add support for powerpc Zhangjin Wu
2023-07-27 15:00 ` [PATCH v3 2/7] tools/nolibc: add support for powerpc64 Zhangjin Wu
2023-07-27 15:02 ` [PATCH v3 3/7] selftests/nolibc: add extra configs customize support Zhangjin Wu
2023-07-29 12:36   ` Thomas Weißschuh
2023-07-29 14:39     ` Zhangjin Wu
2023-07-29 16:29       ` Willy Tarreau
2023-07-29 16:54         ` Zhangjin Wu
2023-07-29 17:10           ` Willy Tarreau
2023-07-30  4:54             ` Zhangjin Wu
2023-07-30  6:01               ` Zhangjin Wu
2023-07-30  6:18                 ` Willy Tarreau
2023-07-30 11:21                   ` Zhangjin Wu
2023-07-30 18:02                     ` Zhangjin Wu
2023-07-27 15:03 ` [PATCH v3 4/7] selftests/nolibc: add XARCH and ARCH mapping support Zhangjin Wu
2023-07-30  6:38   ` Zhangjin Wu
2023-07-30  7:03     ` Willy Tarreau
2023-07-30 11:36       ` Zhangjin Wu
2023-07-27 15:04 ` Zhangjin Wu [this message]
2023-07-27 15:05 ` [PATCH v3 6/7] selftests/nolibc: add test support for ppc64le Zhangjin Wu
2023-07-27 15:06 ` [PATCH v3 7/7] selftests/nolibc: add test support for ppc64 Zhangjin Wu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8019280baee8efb6c82f5ce766fcd826b7d1ffa2.1690468707.git.falcon@tinylab.org \
    --to=falcon@tinylab.org \
    --cc=arnd@arndb.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux@weissschuh.net \
    --cc=thomas@t-8ch.de \
    --cc=w@1wt.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.