From patchwork Tue Oct 31 20:36:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 160325 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:6359:d23:b0:164:83eb:24d7 with SMTP id gp35csp594731rwb; Tue, 31 Oct 2023 13:37:11 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHHD3Ho0JG+kJmXXQUsAHq8TUx/okH2ehizjhhhvlPpWm3e8rMG/Ucud9NIQQOg05VU7L1J X-Received: by 2002:a17:903:11ce:b0:1cc:4ec7:5bce with SMTP id q14-20020a17090311ce00b001cc4ec75bcemr7086127plh.66.1698784631681; Tue, 31 Oct 2023 13:37:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698784631; cv=none; d=google.com; s=arc-20160816; b=Vf7yPBKbQ0tU+CfXlUbE8VgeHt0xgCucULnQnervencKxfL8iRIevKPD5zsNSbI9m2 OW1HeZX08hUFL3ofahGsTkQak2KWAEh3y0PhMVFCyYh15MUZTB/B0NyOy0j/4BXL1rxf fERNMr05eDbEkQF2GosRHu2PTCLTKwzKMFYXPT1pkYfZJJiBM8m8iir6V/WlOsr1wlHV F1+etfmCSJbfOpc+tEHZdtunDHDF9Xuyhy7C+myJIuPQMrwhdCjNzLSp3qJU2dadWzOM ilU1+0pBMAPoL6YacMR4S3+nFMsaTJwVK+2kn5SBI9HTTIE6E4340K2niYQ3IHbTRtRZ hB2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=uvLFXYTo16uhh10O+VO5oxJ7HqjjE0Qi83SJRFWwDOM=; fh=MEusuZMnxhrNAu45ysRmC1MHGnmniUkTNzVzpsulgt4=; b=UxqYTIjEsYjgJAuUDbHvZD07s3FNxFaoq4zxCF3S0IZ5vKsHCxQ450uV/T3wtpxq0U +TOH4Jq6yajU9Mz/zHx2JTUOh94rgfFZ7JCn1E7QZ8DWGYDHFu3V+0GmpUCGUj+11krl GP7XOiBdF9jGHybq2k2TAWdLtf9vCKn+O/TYFE/Qei1y6Z8ybhWNnFyy78L/ixyJ3kwD DuxEPn9ECcDjFu09sZyGwgt4SxolJeNLl59EouqYwmb1pkoI990C+LVUQFmvq9h+gVaD 4Pr6n/m2gMptkmX2Xv1tauvdM3enF+7aJJ/1gz0nbmivOmHqY3KQzdhYHoCJuPkzu2E9 D/6A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=n4hF25HX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id lh15-20020a170903290f00b001c9bcb6f00asi1445001plb.528.2023.10.31.13.37.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Oct 2023 13:37:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=n4hF25HX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 8184E80FA9DD; Tue, 31 Oct 2023 13:37:09 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233749AbjJaUhH (ORCPT + 33 others); Tue, 31 Oct 2023 16:37:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33564 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229573AbjJaUhG (ORCPT ); Tue, 31 Oct 2023 16:37:06 -0400 Received: from todd.t-8ch.de (todd.t-8ch.de [IPv6:2a01:4f8:c010:41de::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5C3F5F3; Tue, 31 Oct 2023 13:37:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1698784621; bh=W5TEpxfyI98GvsWGNdqegtj19Ji2ow6WvLtnijFpbxE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=n4hF25HXVWKd8mEbbgUYBm4ihR20qlzNQ+HSpVwYZ0Dyxux6K46kz0O/wE0STdQLi kAgIxiPHPb57Uq33RKDKEUlRTkQ2DcDl2RmFBBPFsx62v4zsFiNhcI8rhsH8ehzaCY QYpz+LR2raYl0jVsEE8m4/9Z6psF44ZSRRsOtdm8= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Tue, 31 Oct 2023 21:36:58 +0100 Subject: [PATCH 1/3] selftests/nolibc: use EFI -bios for LoongArch qemu MIME-Version: 1.0 Message-Id: <20231031-nolibc-out-of-tree-v1-1-47c92f73590a@weissschuh.net> References: <20231031-nolibc-out-of-tree-v1-0-47c92f73590a@weissschuh.net> In-Reply-To: <20231031-nolibc-out-of-tree-v1-0-47c92f73590a@weissschuh.net> To: Willy Tarreau , =?utf-8?q?Thomas_Wei=C3=9Fschuh?= , Shuah Khan Cc: Zhangjin Wu , linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.12.4 X-Developer-Signature: v=1; a=ed25519-sha256; t=1698784620; l=2150; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=W5TEpxfyI98GvsWGNdqegtj19Ji2ow6WvLtnijFpbxE=; b=xfctWRM9ByPw1ywv0Ip8sy2zDAjHMebbxY8PmyqXN0WXGJfH8FEL+EaPzaUfkLdhn+v4leaZJ gn5w5DGsQANAJ1fxefufQIpB4RQnW7gkA8yv1qsGCJhQiF5j71lHhT2 X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,TO_EQ_FM_DIRECT_MX,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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 31 Oct 2023 13:37:09 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781304793747401518 X-GMAIL-MSGID: 1781304793747401518 qemu for LoongArch does not work properly with direct kernel boot. The kernel will panic during initialization and hang without any output. When booting in EFI mode everything work correctly. While users most likely don't have the LoongArch EFI binary installed at least an explicit error about 'file not found' is better than a hanging test without output that can never succeed. Link: https://lore.kernel.org/loongarch/1738d60a-df3a-4102-b1da-d16a29b6e06a@t-8ch.de/ Signed-off-by: Thomas Weißschuh Acked-by: Willy Tarreau --- tools/testing/selftests/nolibc/Makefile | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile index a0fc07253baf..eb258ae1d948 100644 --- a/tools/testing/selftests/nolibc/Makefile +++ b/tools/testing/selftests/nolibc/Makefile @@ -88,6 +88,13 @@ QEMU_ARCH_s390 = s390x QEMU_ARCH_loongarch = loongarch64 QEMU_ARCH = $(QEMU_ARCH_$(XARCH)) +QEMU_BIOS_DIR = /usr/share/edk2/ +QEMU_BIOS_loongarch = $(QEMU_BIOS_DIR)/loongarch64/OVMF_CODE.fd + +ifneq ($(QEMU_BIOS_$(XARCH)),) +QEMU_ARGS_BIOS = -bios $(QEMU_BIOS_$(XARCH)) +endif + # QEMU_ARGS : some arch-specific args to pass to qemu QEMU_ARGS_i386 = -M pc -append "console=ttyS0,9600 i8042.noaux panic=-1 $(TEST:%=NOLIBC_TEST=%)" QEMU_ARGS_x86_64 = -M pc -append "console=ttyS0,9600 i8042.noaux panic=-1 $(TEST:%=NOLIBC_TEST=%)" @@ -101,7 +108,7 @@ QEMU_ARGS_ppc64le = -M powernv -append "console=hvc0 panic=-1 $(TEST:%=NOLIBC 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=%)" -QEMU_ARGS = $(QEMU_ARGS_$(XARCH)) $(QEMU_ARGS_EXTRA) +QEMU_ARGS = $(QEMU_ARGS_$(XARCH)) $(QEMU_ARGS_BIOS) $(QEMU_ARGS_EXTRA) # OUTPUT is only set when run from the main makefile, otherwise # it defaults to this nolibc directory. From patchwork Tue Oct 31 20:36:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 160326 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:6359:d23:b0:164:83eb:24d7 with SMTP id gp35csp594818rwb; Tue, 31 Oct 2023 13:37:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGbdZmcCGOHsznN/YR8kPI3+G/JIHK91F77TDE93c7DI/DAc+Y8ci9gK7vJOJzBLBrv9G0u X-Received: by 2002:a05:6a20:430d:b0:171:a2df:4e68 with SMTP id h13-20020a056a20430d00b00171a2df4e68mr13806112pzk.36.1698784638594; Tue, 31 Oct 2023 13:37:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698784638; cv=none; d=google.com; s=arc-20160816; b=qygRJWgprLEp4t5mzWvU83hbkTethzWSGfC2O5gDYt5Ea7/h+HL4I2V7FENhPeZjXp aJ7OskigwpTo/2xtSZlQ/E7nbiBx3sZ+nM4Moz1IBdFc+UUsJjNUppk2cA9m5xp3pTQv +lz525GVyX/2+PETZ6XBmW5Tdhe5b4NjRib19cPbSsJmYaZJgGB89Q9LLa2c9Ewm8d5K 8qlfGqdgo+3QTFKPNHcbPXb6rdRu2fQE0p1YwQ0Pblnss5FGT3ooD1/kQHghj1Qk7zS5 5x+tnwT/qQnF/RlVT3HmeDFzVj2UA2wiMOrU+0cZInbFFBKIdH+17YwYBWhmIebDEM5e zCEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=C/s/udNyFjqk0pNWuqwT9GM7vATD6kADIFZXqldmu7U=; fh=MEusuZMnxhrNAu45ysRmC1MHGnmniUkTNzVzpsulgt4=; b=phSx030coS7UkTJYmHflpIfD627iHUA7uVa2oY7HguSiHKYOAz9HT4kfE/5ALc4EVQ uDwDX0Wl5Zzh5pxUeen2KB0pf2StggugH6g0qWeCo2Gk4WcCy2/d+MPN6L5BFVkjM0QF K6Br5rQCCOx71FOdWfMvo4odCVAdVePR2De3KF3UT9rAIcyyl1PkfypRNqBn9SHDRjD6 HPI7n7g7BkNcDQ4Nf1j0XyPJfVum+P4dW8xQeMQpRZrsF63FyyQrstncDBp1+g1cdMHw nlnKuZQdKH8gQJTiy1krMjrJndz235lYIwLuOMXijw0frFKHf38FSPouH1BQcMU+yeGg wFpg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=ILFzcJGC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id fc41-20020a056a002e2900b006c12323c3desi123946pfb.350.2023.10.31.13.37.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Oct 2023 13:37:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=ILFzcJGC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 4B433810438F; Tue, 31 Oct 2023 13:37:14 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234057AbjJaUhN (ORCPT + 33 others); Tue, 31 Oct 2023 16:37:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33584 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231546AbjJaUhG (ORCPT ); Tue, 31 Oct 2023 16:37:06 -0400 Received: from todd.t-8ch.de (todd.t-8ch.de [IPv6:2a01:4f8:c010:41de::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 77B5CFE; Tue, 31 Oct 2023 13:37:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1698784621; bh=EnUH+FVtH/2LFDhbHmODszdfsWGWE/DcG346HqhXK2g=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=ILFzcJGCaPzR71nWlxIIPD1cs/We2OEt3ALO3BSVTtTWr1NTNNNy+kbFajQCMI0rl UF15W+0CBkN7+cnM5kKPHx5P2LpT9+waoCNmMjIiPA1ObsZCIp5EZVAISb71fAJuTp xD6mT5FVK/xv+w5le+r09255Ut6k1Vq+S1WHeUhk= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Tue, 31 Oct 2023 21:36:59 +0100 Subject: [PATCH 2/3] selftests/nolibc: anchor paths in $(srcdir) if possible MIME-Version: 1.0 Message-Id: <20231031-nolibc-out-of-tree-v1-2-47c92f73590a@weissschuh.net> References: <20231031-nolibc-out-of-tree-v1-0-47c92f73590a@weissschuh.net> In-Reply-To: <20231031-nolibc-out-of-tree-v1-0-47c92f73590a@weissschuh.net> To: Willy Tarreau , =?utf-8?q?Thomas_Wei=C3=9Fschuh?= , Shuah Khan Cc: Zhangjin Wu , linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.12.4 X-Developer-Signature: v=1; a=ed25519-sha256; t=1698784620; l=1515; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=EnUH+FVtH/2LFDhbHmODszdfsWGWE/DcG346HqhXK2g=; b=RyW5XWFgW1+NuFvftheWO5iwivD2gAnupVLHTHp8ifnMh4hICk7oPe+PXPm7mzSOXQmGA6qel RDDWr1IzXaRB4e+KhoiljXuY/mGYwi8aa8cQa/37gAFhDwayUvEqas3 X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,TO_EQ_FM_DIRECT_MX,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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 31 Oct 2023 13:37:14 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781304801477581217 X-GMAIL-MSGID: 1781304801477581217 It is easier to recognize paths from their well-known location in the source tree than having to resolve the relative path in ones head. Acked-by: Willy Tarreau Signed-off-by: Thomas Weißschuh --- tools/testing/selftests/nolibc/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile index eb258ae1d948..b1129be98376 100644 --- a/tools/testing/selftests/nolibc/Makefile +++ b/tools/testing/selftests/nolibc/Makefile @@ -174,7 +174,7 @@ sysroot: sysroot/$(ARCH)/include sysroot/$(ARCH)/include: $(Q)rm -rf sysroot/$(ARCH) sysroot/sysroot $(QUIET_MKDIR)mkdir -p sysroot - $(Q)$(MAKE) -C ../../../include/nolibc ARCH=$(ARCH) OUTPUT=$(CURDIR)/sysroot/ headers_standalone + $(Q)$(MAKE) -C $(srctree)/tools/include/nolibc ARCH=$(ARCH) OUTPUT=$(CURDIR)/sysroot/ headers_standalone $(Q)mv sysroot/sysroot sysroot/$(ARCH) ifneq ($(NOLIBC_SYSROOT),0) @@ -184,7 +184,7 @@ nolibc-test: nolibc-test.c nolibc-test-linkage.c sysroot/$(ARCH)/include else nolibc-test: nolibc-test.c nolibc-test-linkage.c $(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ \ - -nostdlib -static -include ../../../include/nolibc/nolibc.h nolibc-test.c nolibc-test-linkage.c -lgcc + -nostdlib -static -include $(srctree)/tools/include/nolibc/nolibc.h nolibc-test.c nolibc-test-linkage.c -lgcc endif libc-test: nolibc-test.c nolibc-test-linkage.c From patchwork Tue Oct 31 20:37:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 160327 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:6359:d23:b0:164:83eb:24d7 with SMTP id gp35csp594933rwb; Tue, 31 Oct 2023 13:37:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHzlSZyvL8fx6eqvH6GdcIqVFbL+8VHTEZufeU/2dpdOydNQlojIWLhvi6gwYdYjf0i+/zm X-Received: by 2002:a17:90a:34c3:b0:280:215e:7ae2 with SMTP id m3-20020a17090a34c300b00280215e7ae2mr9908412pjf.2.1698784651691; Tue, 31 Oct 2023 13:37:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698784651; cv=none; d=google.com; s=arc-20160816; b=UrxD8ruanbiE36mr4oppreM7mBmacdjMxutuA4MVeGDkj9939CmmeHcFKgko/Z5WvX w/Y9WLXE00j1lkN10sdk2z53eXXRA5k72fHDaOWIqCWrW7N3dVoH1mtdMdw52tUbWwfk JxLiu7VRp+wURSVkoH7WsymUhI5j2eXrdOfDOrSFRkSfRgq9tB9E5gRKws8H6AsUWx// 18+b2lJYWoVWeAoAkhTfnPgNo35TLUnoT6MCr90TzI6uf+xtGntMeaoc/ybMXt3aiKkz lIVVUym4VJhoT1pYSNI7pYGAHo2GTYL6DWnbMxDj1fLbZKhjoCDfO6TmyomAMB20eznX UEfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=wc+bk23mT1/OefwfY2iSiExUbRV94pkUKcKnnHNt0+k=; fh=MEusuZMnxhrNAu45ysRmC1MHGnmniUkTNzVzpsulgt4=; b=0FmmaH2a48M6OjdvHuZkloIp2Xg1hOkFELHz2PLEda2bec8kUYWU0HNKJb6GFEMJc/ OoZOBtmd6vdS41RpNGdcxCncEDyeglcpHsXNSWQ9EbSs22y+8hoO87WdbEKskIpu0bsz YvkJQMugYEJC5dk/FN+IFLhiMBZV5ST4pQDefCtdszkXWHuDNocbPcs0YnbWvux4VEKo Ac57dktT4YCkkbVNPmidxUdOBhv/N4Oxp9JpPKEmbFh3uzZbAvT6Y/NnAQhdbB+46FQL Dwseh6HG1avPMmuxwWjMjkRqlSuYm9mpS5o3E14ExPyv02D6rJ/gKjAyiA+BOpt+MMQv uFsA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=GHEQO9eb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id co15-20020a17090afe8f00b00277382d4803si1399355pjb.173.2023.10.31.13.37.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Oct 2023 13:37:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=GHEQO9eb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 782918053FBE; Tue, 31 Oct 2023 13:37:25 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234025AbjJaUhK (ORCPT + 33 others); Tue, 31 Oct 2023 16:37:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33582 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230406AbjJaUhG (ORCPT ); Tue, 31 Oct 2023 16:37:06 -0400 Received: from todd.t-8ch.de (todd.t-8ch.de [IPv6:2a01:4f8:c010:41de::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 62480F9; Tue, 31 Oct 2023 13:37:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1698784621; bh=LNx+nj4jlE223VhzZ9GFi7fWQ5Fyb/XHvEpIBKCFyVM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=GHEQO9ebq4PLKKuavypuPdsKYAWA8jQ3FdQE572za9KmzKD/5aHkznU/oKFr+nvAA wHIZQ55uC4ZX8MAZWYAoXOUGqp2p4dNd2h5pWZ59WxUauUdl21qw5+f1Lm0V0nK8o+ unVBlzuKOc3qS32OuEc0ZTDD7jTZN0/RzvBRgrmk= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Tue, 31 Oct 2023 21:37:00 +0100 Subject: [PATCH 3/3] selftests/nolibc: support out-of-tree builds MIME-Version: 1.0 Message-Id: <20231031-nolibc-out-of-tree-v1-3-47c92f73590a@weissschuh.net> References: <20231031-nolibc-out-of-tree-v1-0-47c92f73590a@weissschuh.net> In-Reply-To: <20231031-nolibc-out-of-tree-v1-0-47c92f73590a@weissschuh.net> To: Willy Tarreau , =?utf-8?q?Thomas_Wei=C3=9Fschuh?= , Shuah Khan Cc: Zhangjin Wu , linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.12.4 X-Developer-Signature: v=1; a=ed25519-sha256; t=1698784620; l=4087; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=LNx+nj4jlE223VhzZ9GFi7fWQ5Fyb/XHvEpIBKCFyVM=; b=TyJDLtPEizhFex+t38T4ccb988q2/Hc4CqgbIfibOz8zcilrEO/oxpLY4PuAYAfPLiZ9Q5QzK /633oAtcuJ/AQUmBFWa6JJqhBE+U6Fxh8nQtdlKHFMuYgBkK4ZOqrdX X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Tue, 31 Oct 2023 13:37:25 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781304814957118982 X-GMAIL-MSGID: 1781304814957118982 Out of tree builds are much more convenient when building for multiple architectures or configurations in parallel. Only absolute O= parameters are supported as Makefile.include will always resolve relative paths in relation to $(srctree) instead of the current directory. Add a call to "make outputmakefile" to verify that the sourcetree is clean. This is based on Zhangjins out-of-tree patch. It extends that work for get_init_cpio support and also drops relative O= specifications explicitly. Link: https://lore.kernel.org/lkml/06d96bd81fe812a9718098a383678ad3beba98b1.1691215074.git.falcon@tinylab.org/ Co-developed-by: Zhangjin Wu Signed-off-by: Zhangjin Wu Acked-by: Willy Tarreau Signed-off-by: Thomas Weißschuh --- tools/testing/selftests/nolibc/Makefile | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile index b1129be98376..c5df1617cbc3 100644 --- a/tools/testing/selftests/nolibc/Makefile +++ b/tools/testing/selftests/nolibc/Makefile @@ -1,9 +1,16 @@ # SPDX-License-Identifier: GPL-2.0 # Makefile for nolibc tests include ../../../scripts/Makefile.include +include ../../../scripts/utilities.mak # We need this for the "cc-option" macro. include ../../../build/Build.include +ifneq ($(O),) +ifneq ($(call is-absolute,$(O)),y) +$(error Only absolute O= parameters are supported) +endif +endif + # we're in ".../tools/testing/selftests/nolibc" ifeq ($(srctree),) srctree := $(patsubst %/tools/testing/selftests/,%,$(dir $(CURDIR))) @@ -14,6 +21,8 @@ include $(srctree)/scripts/subarch.include ARCH = $(SUBARCH) endif +objtree ?= $(srctree) + # XARCH extends the kernel's ARCH with a few variants of the same # architecture that only differ by the configuration, the toolchain # and the Qemu program used. It is copied as-is into ARCH except for @@ -52,7 +61,7 @@ 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 -IMAGE = $(IMAGE_$(XARCH)) +IMAGE = $(objtree)/$(IMAGE_$(XARCH)) IMAGE_NAME = $(notdir $(IMAGE)) # default kernel configurations that appear to be usable @@ -174,6 +183,7 @@ sysroot: sysroot/$(ARCH)/include sysroot/$(ARCH)/include: $(Q)rm -rf sysroot/$(ARCH) sysroot/sysroot $(QUIET_MKDIR)mkdir -p sysroot + $(Q)$(MAKE) -C $(srctree) outputmakefile $(Q)$(MAKE) -C $(srctree)/tools/include/nolibc ARCH=$(ARCH) OUTPUT=$(CURDIR)/sysroot/ headers_standalone $(Q)mv sysroot/sysroot sysroot/$(ARCH) @@ -206,7 +216,7 @@ run-user: nolibc-test $(Q)$(REPORT) $(CURDIR)/run.out initramfs.cpio: kernel nolibc-test - $(QUIET_GEN)echo 'file /init nolibc-test 755 0 0' | $(srctree)/usr/gen_init_cpio - > initramfs.cpio + $(QUIET_GEN)echo 'file /init nolibc-test 755 0 0' | $(objtree)/usr/gen_init_cpio - > initramfs.cpio initramfs: nolibc-test $(QUIET_MKDIR)mkdir -p initramfs @@ -224,12 +234,12 @@ kernel-standalone: initramfs # run the tests after building the kernel run: kernel initramfs.cpio - $(Q)qemu-system-$(QEMU_ARCH) -display none -no-reboot -kernel "$(srctree)/$(IMAGE)" -initrd initramfs.cpio -serial stdio $(QEMU_ARGS) > "$(CURDIR)/run.out" + $(Q)qemu-system-$(QEMU_ARCH) -display none -no-reboot -kernel "$(IMAGE)" -initrd initramfs.cpio -serial stdio $(QEMU_ARGS) > "$(CURDIR)/run.out" $(Q)$(REPORT) $(CURDIR)/run.out # re-run the tests from an existing kernel rerun: - $(Q)qemu-system-$(QEMU_ARCH) -display none -no-reboot -kernel "$(srctree)/$(IMAGE)" -initrd initramfs.cpio -serial stdio $(QEMU_ARGS) > "$(CURDIR)/run.out" + $(Q)qemu-system-$(QEMU_ARCH) -display none -no-reboot -kernel "$(IMAGE)" -initrd initramfs.cpio -serial stdio $(QEMU_ARGS) > "$(CURDIR)/run.out" $(Q)$(REPORT) $(CURDIR)/run.out # report with existing test log