From patchwork Tue Oct 10 01:10:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oliver Upton X-Patchwork-Id: 13414720 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B38CCCD68E0 for ; Tue, 10 Oct 2023 01:11:18 +0000 (UTC) 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: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:In-Reply-To:References: List-Owner; bh=uV2ruDS4WRRAmsDal3cSAuYRz0Ccj05T7pX4QhmcGLI=; b=ON3McKoNSCxrNF PpoUFXOkyc+GqrP8nN188Vwype6XvsFeikJblUjlxVsW8ly4Zmeqqv0taJBPZ8SU9hVrfRK5QKvME Bfm6BS62QXpXHDBErI+f5SdJnnuJepGbuZvZ3HYgmgf/nAVWn8QGStOahaLbSCaCqZEdetyGGg45K o4BkJpmc8QO6Gwz9M6VJaN4vThvHFbIa2EWBMq8tfDxzDreCSxKS283oxgfkNncqMR7Q7l05Z1rLI 0LvglJnAM38axanDnM6v33Dc42TIzy+99w4Nk1l1yB93XsyUpOy7WeIz2EStZw5Q0qlt63MFLHDh6 laXfSi5sFd8Yktbs+k2w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qq1Gs-00Bwxi-0D; Tue, 10 Oct 2023 01:10:50 +0000 Received: from out-197.mta0.migadu.com ([91.218.175.197]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qq1Gn-00Bwv7-30 for linux-arm-kernel@lists.infradead.org; Tue, 10 Oct 2023 01:10:47 +0000 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1696900236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=D/xsxQ4LzVYx+XDjI68Ddpsftd1w0hm4aUvT0mmXdYk=; b=ckLnks3QhRSxElVrGiCinLuaRwEuJ3x9I2FBTMqkTBsIB27CyGC1BHU0eZZvF8HTd1lQqn 25hYAYMR/wVSfyCOyaiGwU10B0x44Qmw39JlHb45/CfBLGKpEtb1UB+b7wwokNrDKrM//Q 7K0Wjr3hIZVqc2sZn+BtTEe6/xyUumw= From: Oliver Upton To: kvm@vger.kernel.org Cc: kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, Mark Brown , Jing Zhang , Zenghui Yu , Suzuki K Poulose , James Morse , Marc Zyngier , Paolo Bonzini , Adrian Hunter , Ian Rogers , Namhyung Kim , Jiri Olsa , Alexander Shishkin , Mark Rutland , Arnaldo Carvalho de Melo , Ingo Molnar , Peter Zijlstra , Oliver Upton Subject: [PATCH v2 0/5] KVM: selftests: Add ID reg test, update headers Date: Tue, 10 Oct 2023 01:10:17 +0000 Message-ID: <20231010011023.2497088-1-oliver.upton@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231009_181046_135307_30C4CD7F X-CRM114-Status: GOOD ( 11.07 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The writable ID register test depends on the latest system register definitions, which cannot be trivially added to tools. In order to keep a single copy of sysreg gunk in tools all users (KVM selftests, perf) need to be updated to generate headers at build time. Tested arm64 and x86 builds of both KVM selftests and perf tool. v1 -> v2: - Use the sysreg definition generation script instead of copying the output (broonie) - Use a common Makefile for both KVM selftests as well as perf - Include the KVM selftest responsible for the change v1: https://lore.kernel.org/kvmarm/20231005180325.525236-1-oliver.upton@linux.dev/ Jing Zhang (2): tools headers arm64: Update sysreg.h with kernel sources KVM: arm64: selftests: Test for setting ID register from usersapce Oliver Upton (3): tools headers arm64: Copy sysreg-defs generation from kernel source perf build: Generate arm64's sysreg-defs.h and add to include path KVM: selftests: Generate sysreg-defs.h and add to include path tools/arch/arm64/include/.gitignore | 1 + tools/arch/arm64/include/asm/gpr-num.h | 26 + tools/arch/arm64/include/asm/sysreg.h | 839 ++---- tools/arch/arm64/tools/Makefile | 38 + tools/arch/arm64/tools/gen-sysreg.awk | 336 +++ tools/arch/arm64/tools/sysreg | 2497 +++++++++++++++++ tools/perf/Makefile.perf | 15 +- tools/perf/check-headers.sh | 4 + tools/perf/util/Build | 2 +- tools/testing/selftests/kvm/Makefile | 24 +- .../selftests/kvm/aarch64/aarch32_id_regs.c | 4 +- .../selftests/kvm/aarch64/debug-exceptions.c | 12 +- .../selftests/kvm/aarch64/page_fault_test.c | 6 +- .../selftests/kvm/aarch64/set_id_regs.c | 479 ++++ .../selftests/kvm/lib/aarch64/processor.c | 6 +- 15 files changed, 3622 insertions(+), 667 deletions(-) create mode 100644 tools/arch/arm64/include/.gitignore create mode 100644 tools/arch/arm64/include/asm/gpr-num.h create mode 100644 tools/arch/arm64/tools/Makefile create mode 100755 tools/arch/arm64/tools/gen-sysreg.awk create mode 100644 tools/arch/arm64/tools/sysreg create mode 100644 tools/testing/selftests/kvm/aarch64/set_id_regs.c base-commit: dafa493dd01d5992f1cb70b08d1741c3ab99e04a