From patchwork Wed Mar 13 14:53:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carlos Maiolino X-Patchwork-Id: 1911745 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=th9nfMf/; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=NOEO6UxZ; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4TvtnM3v2Dz1yWy for ; Thu, 14 Mar 2024 01:53:59 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Ce9j1x+xQOFE71/Rh73UQTbXge+38OL6SruTYwDe0Q0=; b=th9nfMf/yKvN9F N59a5uWDRCPrPxJbqMhgxbU7lU/W6k0tD5g1miYu1RXP8wbtmW5PTtQtrvdQPdI3M8Rq0vDFaMxN3 fxU2ZEtj80lg5x28X8vSjKQ3rzbXCZfk+TxagyZp2eGkPwjYcv4711dgGUG0IToM9QncF1CTAJrqg tyO70K7tcoiAEWKll12D4dLvZCt9VJJoHq5Pgl6z5wkt+kC6XpdXaoamlFo6HBq9Lx4xLTxrSRH9P qLLhkiXSWgZFj+knUEr3tHcE8wwGPelxyLO3NC4MfWkdE2yKc2xjI4LlRCxuNva4CVlZbxQt7fuB8 gx3ak8M8UQHIIYooummg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkPzS-0000000AV7d-0eyr; Wed, 13 Mar 2024 14:53:58 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkPzL-0000000AV5i-1dQf for kvm-riscv@lists.infradead.org; Wed, 13 Mar 2024 14:53:53 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 873DC61481; Wed, 13 Mar 2024 14:53:50 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 55794C433F1; Wed, 13 Mar 2024 14:53:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710341630; bh=QYYGUlH2Ah0fjL3v/SoGM9E7TJx7DWm6qz/Q22GRYTM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NOEO6UxZHRtTt+8zy8MgT68vtXsGMPAf+kzXeddOzGWTlb2xUdzAdVHQ1i8StoIW4 uyUsFsezftNbQN3OD5WM6TI9nvwZpCb5DXsXFLeAifik4DlnoY3hIHmE6FGLVvtX7R FgNFuwHNI70LTknKYK/YYpCoBb9L0Z4arBAsGB7x8MjtFDJdDcIE8bjCX78D8sx9Dz HRFLOSQV1JIDHSfnGZi/npUeGPBdLY0pWmemp2FhBENVDJIRfOev02LG3s7SOauWZj 8JOk3PWe1Rw74eLD9O/JFyuCzJL1stqtcc956ld+KOoZm0VOcM9R8Z06UWNPpQo7mM m9mbdeWFVpUag== From: cem@kernel.org To: kvm-riscv@lists.infradead.org Cc: ajones@ventanamicro.com Subject: [PATCH 3/6] riscv: Factor out environment variable check and report generation Date: Wed, 13 Mar 2024 15:53:26 +0100 Message-ID: <20240313145336.311611-4-cem@kernel.org> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240313145336.311611-1-cem@kernel.org> References: <20240313145336.311611-1-cem@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240313_075352_193884_8970AA8B X-CRM114-Status: UNSURE ( 8.78 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -6.2 (------) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: From: Carlos Maiolino We do check Environment variables and generate reports all the time, so use a couple of helpers for that Signed-off-by: Carlos Maiolino --- V3: - Adapt to use __base_sbi_ecall() Content analysis details: (-6.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at https://www.dnswl.org/, high trust [139.178.84.217 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.0 T_SCC_BODY_TEXT_LINE No description available. -1.0 DKIMWL_WL_HIGH DKIMwl.org - High trust sender X-BeenThere: kvm-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "kvm-riscv" Errors-To: kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org From: Carlos Maiolino We do check Environment variables and generate reports all the time, so use a couple of helpers for that Signed-off-by: Carlos Maiolino Reviewed-by: Andrew Jones --- V3: - Adapt to use __base_sbi_ecall() riscv/sbi.c | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/riscv/sbi.c b/riscv/sbi.c index 55bfcd42..ce0be84f 100644 --- a/riscv/sbi.c +++ b/riscv/sbi.c @@ -19,6 +19,23 @@ static struct sbiret __base_sbi_ecall(int fid, unsigned long arg0) return sbi_ecall(SBI_EXT_BASE, fid, arg0, 0, 0, 0, 0, 0); } +static bool env_or_skip(const char *env) +{ + + if (!getenv(env)) { + report_skip("missing %s environment variable", env); + return false; + } + + return true; +} + +static void gen_report(struct sbiret *ret, long expected) +{ + report(!ret->error, "no sbi.error"); + report(ret->value == expected, "expected sbi.value"); +} + static void check_base(void) { struct sbiret ret; @@ -26,27 +43,18 @@ static void check_base(void) report_prefix_push("base"); - if (!getenv("MVENDORID")) { - report_skip("mvendorid: missing MVENDORID environment variable"); - return; - } - report_prefix_push("mvendorid"); - expected = strtol(getenv("MVENDORID"), NULL, 0); - - ret = __base_sbi_ecall(SBI_EXT_BASE_GET_MVENDORID, 0); - - report(!ret.error, "no sbi.error"); - report(ret.value == expected, "expected sbi.value"); + if (env_or_skip("MVENDORID")) { + expected = strtol(getenv("MVENDORID"), NULL, 0); + ret = __base_sbi_ecall(SBI_EXT_BASE_GET_MVENDORID, 0); + gen_report(&ret, expected); + } report_prefix_pop(); report_prefix_push("probe_ext"); expected = getenv("PROBE_EXT") ? strtol(getenv("PROBE_EXT"), NULL, 0) : 1; - ret = __base_sbi_ecall(SBI_EXT_BASE_PROBE_EXT, 0); - - report(!ret.error, "no sbi.error"); - report(ret.value == expected, "expected sbi.value"); + gen_report(&ret, expected); report_prefix_pop(); report_prefix_pop();