From patchwork Thu Jul 27 15:05:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Zhangjin Wu X-Patchwork-Id: 127005 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp1170568vqo; Thu, 27 Jul 2023 08:13:50 -0700 (PDT) X-Google-Smtp-Source: APBJJlG3Cy0VpJ7zv4lLwKkb5NNt9elIg9x/nTNL3aYiqL3tcDheWfc2SN1gwO6CFw+/K+AL501a X-Received: by 2002:a17:90b:4f91:b0:268:17a8:3b91 with SMTP id qe17-20020a17090b4f9100b0026817a83b91mr5495759pjb.28.1690470829795; Thu, 27 Jul 2023 08:13:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690470829; cv=none; d=google.com; s=arc-20160816; b=JoVTexUOfyO36lMnLxAgCle1FMji/tRauycPaKcptAuomSMo5CouiEoJEM6CPfOdqu k60onKx4Qjj0bWWn3zdXNskFnJMriDVOSifgY5CRJg+J++aFlOgQ8pAW+4UEejSnUADt fG29kD8PpyyWh0CJsoDP1dYF59+vjvpxgFdmiswx8Ag0DKoMAm8c1FZK/MnwslECtqm9 0vKN/Asyhc5L/aYox/7T9ALiM3hqKbMDUTVNm5KP5QBgPvtUyDlYfwcwMD8C+eAPaSsg lmJoQ5cGNL4MhBsi/IiV1XAzIMMtjeunq9i9aZxtN/bOhhSApUVqfxvbNHh3PaUuO58C 6GjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:feedback-id:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from; bh=l7DzPtutsvrGGJ5sR0HEdVV2jChaJoZLKzIH6VmYkmA=; fh=+UJGAEU2Zd20Ffzlyw2DOtwfBiThnaWweXJeIpZW2cQ=; b=IDgagZm7T+2ecQEll4TeMjS+Sgb0LMkeMOapHDpEA1EjV1YZa1m1W8OPQXhTCZAxXB 3WksmD0tN1xiwvDJwcsxlLUccChqj/0J06kRZWiBltGRExdl8PEwC7eUTSpQjHGmxFcn Y55ylB8NnPNpf8q8QxUUSPwyps1f3zzXd358w70eW4bgUcKuPNvzgbKuti+PBkLGmXZ/ I79j4BrewdOVmM5Z2Ghv825DOk9QvxuzXn0wEMeT3Uw0pAY/z440mSam3TpjJzKMbN+Q PwXGOOCqDmAM4dmuu5qHRA9CBmcdaLxLzAp8dy7dcfzVbMBX7y6uOIgNIK2b2PvbJkyN nxBA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o14-20020a17090aac0e00b00268112869c0si3038406pjq.156.2023.07.27.08.13.35; Thu, 27 Jul 2023 08:13:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233902AbjG0PGL (ORCPT + 99 others); Thu, 27 Jul 2023 11:06:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51234 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234071AbjG0PGC (ORCPT ); Thu, 27 Jul 2023 11:06:02 -0400 Received: from bg4.exmail.qq.com (bg4.exmail.qq.com [43.154.54.12]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5DC513580; Thu, 27 Jul 2023 08:05:41 -0700 (PDT) X-QQ-mid: bizesmtp67t1690470333tzc09r3u Received: from linux-lab-host.localdomain ( [61.141.78.189]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 27 Jul 2023 23:05:31 +0800 (CST) X-QQ-SSF: 00200000002000D0X000B00A0000000 X-QQ-FEAT: 5BP7ZNt7eRyf34CxtucAQAfsvm30aKLxWwpGcUMdbIAkEmUhQACiIYB6RDjgg aJwCWkc9z28OPeCuI3KZo0CdSLLs8Sizs3GF7e8WGhYgbAjTn9r2PtzGecsF5dX8ueplQMX Wi2+Tbpu81qCIXK8hNhZcHEeOfo818u2cMH+8NEFxem5un8Dq6TZC0XG/IISIAy2NKAIz9g KQCPmtYoCmMVYiKyiEwEZ3GX8PYInd4y1RIXll+/z5CcK7Vz8AFslSmnG33418nngUV52PO 7aS+2DOpRDU0veUAeUWrBOwEp5jk9OSmgl5hjYfwc1bsXawYVuewNBHqYKI3fsS8mI8flf6 AlTOENlVSptSEDVu7eYim07up29Dvw41djYiGxfl3TfgO18r2qC6HcqC6nMeirnivno5Lsq talUDGXePso= X-QQ-GoodBg: 0 X-BIZMAIL-ID: 2722823772800316655 From: Zhangjin Wu 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, =?utf-8?q?Thomas_Wei?= =?utf-8?q?=C3=9Fschuh?= Subject: [PATCH v3 6/7] selftests/nolibc: add test support for ppc64le Date: Thu, 27 Jul 2023 23:05:31 +0800 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:tinylab.org:qybglogicsvrgz:qybglogicsvrgz5a-1 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_MSPIKE_H2, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772587140700393311 X-GMAIL-MSGID: 1772587140700393311 Kernel uses ARCH=powerpc for both 32-bit and 64-bit PowerPC, here adds a ppc64le variant for little endian 64-bit PowerPC, users can pass ARCH=ppc64le to test it. The powernv machine of qemu-system-ppc64le is used for there is just a working powernv_defconfig. As the document [1] shows: PowerNV (as Non-Virtualized) is the “bare metal” platform using the OPAL firmware. It runs Linux on IBM and OpenPOWER systems and it can be used as an hypervisor OS, running KVM guests, or simply as a host OS. Note, since the VSX support may be disabled in kernel side, to avoid "illegal instruction" errors due to missing VSX kernel support, let's simply let compiler not generate vector/scalar (VSX) instructions via the '-mno-vsx' option. [1]: https://qemu.readthedocs.io/en/latest/system/ppc/powernv.html Suggested-by: Willy Tarreau Link: https://lore.kernel.org/lkml/20230722120747.GC17311@1wt.eu/ Reviewed-by: Thomas Weißschuh Signed-off-by: Zhangjin Wu --- 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 832b9ffcbac4..dfc411cd4f10 100644 --- a/tools/testing/selftests/nolibc/Makefile +++ b/tools/testing/selftests/nolibc/Makefile @@ -22,6 +22,7 @@ XARCH := $(or $(XARCH_$(ARCH)),$(ARCH)) # ARCH is supported by kernel # map from user input variants to their kernel supported architectures ARCH_ppc = powerpc +ARCH_ppc64le = powerpc override ARCH := $(or $(ARCH_$(XARCH)),$(XARCH)) # kernel image names by architecture @@ -32,6 +33,7 @@ IMAGE_arm64 = arch/arm64/boot/Image IMAGE_arm = arch/arm/boot/zImage IMAGE_mips = vmlinuz IMAGE_ppc = vmlinux +IMAGE_ppc64le = arch/powerpc/boot/zImage IMAGE_riscv = arch/riscv/boot/Image IMAGE_s390 = arch/s390/boot/bzImage IMAGE_loongarch = arch/loongarch/boot/vmlinuz.efi @@ -46,6 +48,7 @@ DEFCONFIG_arm64 = defconfig DEFCONFIG_arm = multi_v7_defconfig DEFCONFIG_mips = malta_defconfig DEFCONFIG_ppc = pmac32_defconfig +DEFCONFIG_ppc64le = powernv_defconfig DEFCONFIG_riscv = defconfig DEFCONFIG_s390 = defconfig DEFCONFIG_loongarch = defconfig @@ -65,6 +68,7 @@ QEMU_ARCH_arm64 = aarch64 QEMU_ARCH_arm = arm QEMU_ARCH_mips = mipsel # works with malta_defconfig QEMU_ARCH_ppc = ppc +QEMU_ARCH_ppc64le = ppc64le QEMU_ARCH_riscv = riscv64 QEMU_ARCH_s390 = s390x QEMU_ARCH_loongarch = loongarch64 @@ -78,6 +82,7 @@ QEMU_ARGS_arm64 = -M virt -cpu cortex-a53 -append "panic=-1 $(TEST:%=NOLIBC 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_ppc64le = -M powernv -append "console=hvc0 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=%)" @@ -93,6 +98,7 @@ else Q=@ endif +CFLAGS_ppc64le = -m64 -mlittle-endian -Wl,-EL,-melf64ppc -mno-vsx CFLAGS_s390 = -m64 CFLAGS_mips = -EL CFLAGS_STACKPROTECTOR ?= $(call cc-option,-mstack-protector-guard=global $(call cc-option,-fstack-protector-all))