From mboxrd@z Thu Jan 1 00:00:00 1970 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 55AA9ECAAA1 for ; Fri, 9 Sep 2022 19:42:08 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=7fk8C28cuAIo5T56AkqOV84H/tQXX9o2nL5Cz6ddOsg=; b=o/dKBJMRjDpwKT bSbbBn4zAl4LXcAriqOGH4Gzrr3bLvA73rHkjQfozRmZnJrrX/soVhOGFM4tStE1OXrueVYp3eoDk nb6NOrI+XqgXScveBj+o1shFXp5R6ZXcM4xKvn7IlvDKtyuhwYKng0jh9nyHHmcsSglZrmWA28mLX uC/4j9DUxahspmTNoHpKyexoTDUuY9B7q06c7MIzCJuw+AU7RxRryaYKyO4CzaWs3XzL9OzTZ9F2o EMTJ/Mti35Kp9Jm/Eyr5t6cnN6Knu1koUt6IvBpo8DC4fG6AKyh9tu4KnxA5rDIfSrgrH1/8RBSpT X7HW91ptn2T9YRTc9/Yw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oWjsA-0025V9-1x; Fri, 09 Sep 2022 19:41:06 +0000 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oWjs6-0025SJ-3E for linux-arm-kernel@lists.infradead.org; Fri, 09 Sep 2022 19:41:03 +0000 Received: by mail-pl1-x62b.google.com with SMTP id p18so2710358plr.8 for ; Fri, 09 Sep 2022 12:40:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date; bh=nFqa2TjcyXtG5LfkjrFfIDjlrSVISY6DMyya0dLw/08=; b=INWicGDVCHNjRChYQUf3p6ERzcoQzdyQwpLY9F5k31ibyYFWjpYoQkviCN8kRqCiJF u6ODVKBTjggi2n2vPWGFEfNgu8Me3at6plEEbvoFbeyyTnrvDa4a5I0zEpqsReX5u6nF z2CjcoMh4/7N23U+MFTYfrQta/jU8nffJE6zcIbKiyatnkYPk+Y6MQKi2F0cJPOQV/pn Nky6ZkNsVBnQwJKIMgc6PDfvbjoe6KfQ58n6kfSJNHlR2U6TtvvIJrcE1EhvsM5n/Vlv HinORdE4AdN/QvWtxw1ZnsX81lVnPY/xdKtJX30OkNiAt4U8AWpiBhZrzC/tgaNaVH0D Cdzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date; bh=nFqa2TjcyXtG5LfkjrFfIDjlrSVISY6DMyya0dLw/08=; b=Orbeqa/9kTGkRwaPH7OcLs6tLV+TQvDlIbYERuP/bjchgybUVPydATSg0fdBhBU8AM iRgJSu7S56E5mzS9NWxIjfQLArzx+kp4w3CTpkHiDk9Nh8MDQ6HO9qr9wol9tygtVsob r5gebsIpUsabmjZHBeUa+avlQekUw8EStAyyJGsxnj8Ijds2dkk1Xu3KEdUNimtzLaaG nPd8tmH9fFipoDg4QKNLWoXzYhBumjrJb8ijcLRrOpHBSV00WFgdf5BsuWGm5zb2GB26 xC+dUoa8qBvEQhWerY/Dru7oaY5lxHBzL7qnJUBOs8oyQkqAmpsNxR7xzPH0jnGIlj8i YLKg== X-Gm-Message-State: ACgBeo1GQAxzqap+WbLzycXrCRK28iSf47V3HTazH82flzj90O8UvpIc PdlKqccDNyAbdTEuxbmO473I2g== X-Google-Smtp-Source: AA6agR5cccff42JYvlvNY5vl7unif/7zJ0ajNvKLi6sFiggxdBJLSQi0kZ5wx764yB3OEn8O+Aad/w== X-Received: by 2002:a17:902:f683:b0:176:cc02:ce83 with SMTP id l3-20020a170902f68300b00176cc02ce83mr14899100plg.88.1662752456991; Fri, 09 Sep 2022 12:40:56 -0700 (PDT) Received: from google.com (220.181.82.34.bc.googleusercontent.com. [34.82.181.220]) by smtp.gmail.com with ESMTPSA id l125-20020a622583000000b0053659f296a0sm126783pfl.8.2022.09.09.12.40.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Sep 2022 12:40:56 -0700 (PDT) Date: Fri, 9 Sep 2022 12:40:52 -0700 From: Ricardo Koller To: Reiji Watanabe Cc: Marc Zyngier , kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, James Morse , Alexandru Elisei , Suzuki K Poulose , Paolo Bonzini , Andrew Jones , Oliver Upton , Jing Zhang , Raghavendra Rao Anata Subject: Re: [PATCH 2/9] KVM: arm64: selftests: Add write_dbg{b,w}{c,v}r helpers in debug-exceptions Message-ID: References: <20220825050846.3418868-1-reijiw@google.com> <20220825050846.3418868-3-reijiw@google.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20220825050846.3418868-3-reijiw@google.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220909_124102_166065_B1374AE1 X-CRM114-Status: GOOD ( 17.77 ) 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: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Wed, Aug 24, 2022 at 10:08:39PM -0700, Reiji Watanabe wrote: > Introduce helpers in the debug-exceptions test to write to > dbg{b,w}{c,v}r registers. Those helpers will be useful for > test cases that will be added to the test in subsequent patches. > Reviewed-by: Ricardo Koller > Signed-off-by: Reiji Watanabe > --- > .../selftests/kvm/aarch64/debug-exceptions.c | 72 +++++++++++++++++-- > 1 file changed, 68 insertions(+), 4 deletions(-) > > diff --git a/tools/testing/selftests/kvm/aarch64/debug-exceptions.c b/tools/testing/selftests/kvm/aarch64/debug-exceptions.c > index 2ee35cf9801e..51047e6b8db3 100644 > --- a/tools/testing/selftests/kvm/aarch64/debug-exceptions.c > +++ b/tools/testing/selftests/kvm/aarch64/debug-exceptions.c > @@ -28,6 +28,69 @@ static volatile uint64_t svc_addr; > static volatile uint64_t ss_addr[4], ss_idx; > #define PC(v) ((uint64_t)&(v)) > > +#define GEN_DEBUG_WRITE_REG(reg_name) \ > +static void write_##reg_name(int num, uint64_t val) \ > +{ \ > + switch (num) { \ > + case 0: \ > + write_sysreg(val, reg_name##0_el1); \ > + break; \ > + case 1: \ > + write_sysreg(val, reg_name##1_el1); \ > + break; \ > + case 2: \ > + write_sysreg(val, reg_name##2_el1); \ > + break; \ > + case 3: \ > + write_sysreg(val, reg_name##3_el1); \ > + break; \ > + case 4: \ > + write_sysreg(val, reg_name##4_el1); \ > + break; \ > + case 5: \ > + write_sysreg(val, reg_name##5_el1); \ > + break; \ > + case 6: \ > + write_sysreg(val, reg_name##6_el1); \ > + break; \ > + case 7: \ > + write_sysreg(val, reg_name##7_el1); \ > + break; \ > + case 8: \ > + write_sysreg(val, reg_name##8_el1); \ > + break; \ > + case 9: \ > + write_sysreg(val, reg_name##9_el1); \ > + break; \ > + case 10: \ > + write_sysreg(val, reg_name##10_el1); \ > + break; \ > + case 11: \ > + write_sysreg(val, reg_name##11_el1); \ > + break; \ > + case 12: \ > + write_sysreg(val, reg_name##12_el1); \ > + break; \ > + case 13: \ > + write_sysreg(val, reg_name##13_el1); \ > + break; \ > + case 14: \ > + write_sysreg(val, reg_name##14_el1); \ > + break; \ > + case 15: \ > + write_sysreg(val, reg_name##15_el1); \ > + break; \ > + default: \ > + GUEST_ASSERT(0); \ > + } \ > +} > + > +/* Define write_dbgbcr()/write_dbgbvr()/write_dbgwcr()/write_dbgwvr() */ > +GEN_DEBUG_WRITE_REG(dbgbcr) > +GEN_DEBUG_WRITE_REG(dbgbvr) > +GEN_DEBUG_WRITE_REG(dbgwcr) > +GEN_DEBUG_WRITE_REG(dbgwvr) > + > static void reset_debug_state(void) > { > asm volatile("msr daifset, #8"); > @@ -59,8 +122,9 @@ static void install_wp(uint64_t addr) > uint32_t mdscr; > > wcr = DBGWCR_LEN8 | DBGWCR_RD | DBGWCR_WR | DBGWCR_EL1 | DBGWCR_E; > - write_sysreg(wcr, dbgwcr0_el1); > - write_sysreg(addr, dbgwvr0_el1); > + write_dbgwcr(0, wcr); > + write_dbgwvr(0, addr); > + > isb(); > > asm volatile("msr daifclr, #8"); > @@ -76,8 +140,8 @@ static void install_hw_bp(uint64_t addr) > uint32_t mdscr; > > bcr = DBGBCR_LEN8 | DBGBCR_EXEC | DBGBCR_EL1 | DBGBCR_E; > - write_sysreg(bcr, dbgbcr0_el1); > - write_sysreg(addr, dbgbvr0_el1); > + write_dbgbcr(0, bcr); > + write_dbgbvr(0, addr); > isb(); > > asm volatile("msr daifclr, #8"); > -- > 2.37.1.595.g718a3a8f04-goog > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel