[PATCH v2 5/7] selftests/nolibc: add test support for ppc

From: Zhangjin Wu
Date: Wed Jul 26 2023 - 11:30:00 EST


Hi, Willy

I'm very sorry, the extra configs/powerpc.config file is missing in this
patch, perhaps a failed rebase introduced this issue.

Please don't merge it, to avoid manually merge another addtional patch, if no
other issues in this v2 series, I will send v3 immediately, just wait for your
feedbacks, no hurry.

Best regards,
Zhangjin

> 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.
>
> Kernel uses ARCH=powerpc for both 32-bit and 64-bit PowerPC, here adds a
> ppc variant for 32-bit PowerPC and use it as the default variant of
> powerpc architecture.
>
> Users can pass ARCH=powerpc or ARCH=ppc to test 32-bit PowerPC.
>
> [1]: https://qemu.readthedocs.io/en/latest/system/ppc/powermac.html
>
> Reviewed-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
> Signed-off-by: Zhangjin Wu <falcon@xxxxxxxxxxx>
> ---
> tools/testing/selftests/nolibc/Makefile | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile
> index f04ec1cc132b..0e9abb7f3d4f 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
> # allow configure default variant for target ARCH
> +XARCH_powerpc = ppc
> XARCH := $(or $(XARCH_$(ARCH)),$(ARCH))
>
> # ARCH is supported by kernel
> # map from user-input variant to kernel-supported
> +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=%)"
> --
> 2.25.1