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 X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00C37C433ED for ; Tue, 20 Apr 2021 03:15:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BFD336101C for ; Tue, 20 Apr 2021 03:15:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233841AbhDTDPx (ORCPT ); Mon, 19 Apr 2021 23:15:53 -0400 Received: from mail-oo1-f42.google.com ([209.85.161.42]:34575 "EHLO mail-oo1-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229581AbhDTDPq (ORCPT ); Mon, 19 Apr 2021 23:15:46 -0400 Received: by mail-oo1-f42.google.com with SMTP id m25-20020a4abc990000b02901ed4500e31dso1216480oop.1 for ; Mon, 19 Apr 2021 20:15:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=atv698prrzRKobGKWx+VS0Z9kUa/dGuy8qNtepCjWQk=; b=egU/dpHKRh360XltovufluZhevt6vI1XphRrC2Ht52rj6kkak/kx5hkcikduP2qlYn XgyCKyIMVAoodfjF4QBIP43jX+fkXZyQl8musIkxLrwCMEiAEIfpfNtbe2PdhdNQ0N3W uTV9rZ/kdKGw16ufwG8ZDT4FUEo+ZrTGFrMqko9pWpLj9pTj4zrC2rDFqgGwjuO2EZjX S0dwXVhQe8v8ZL5eGp33ClwsV5syFJO269TmvkZHsf556ry8nCXNvHntH7tLR8LoH0tS BZJunORR53H61i4IP8Ucs31Ep0b065ryth33K3/z80Ib47edUVUrSCHh3qsfA0WsZXkf kPdA== X-Gm-Message-State: AOAM530vs9HdAIkcKl9n/1c5oOxT7SuVRbqeBG4zDXENeAcmOJAW1ydn LYDf/ZdXCLUMqKCBopqzAw== X-Google-Smtp-Source: ABdhPJxPsn5ty5wJnfRDFyFSuBfPSklEyWGXQ6m5lEUWAlmHo9u5vYIOYHMgboaKIHzAS8DxPyk+Xg== X-Received: by 2002:a4a:8e18:: with SMTP id q24mr7680291ook.66.1618888515838; Mon, 19 Apr 2021 20:15:15 -0700 (PDT) Received: from xps15.herring.priv (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.googlemail.com with ESMTPSA id g16sm2347896oof.43.2021.04.19.20.15.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Apr 2021 20:15:14 -0700 (PDT) From: Rob Herring To: Will Deacon , Catalin Marinas , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Jiri Olsa , Mark Rutland Cc: Alexander Shishkin , honnappa.nagarahalli@arm.com, Zachary.Leaf@arm.com, Raphael Gault , Jonathan Cameron , Namhyung Kim , Itaru Kitayama , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 1/9] arm64: Restrict undef hook for cpufeature registers Date: Mon, 19 Apr 2021 22:15:03 -0500 Message-Id: <20210420031511.2348977-2-robh@kernel.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210420031511.2348977-1-robh@kernel.org> References: <20210420031511.2348977-1-robh@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Raphael Gault This commit modifies the mask of the mrs_hook declared in arch/arm64/kernel/cpufeatures.c which emulates only feature register access. This is necessary because this hook's mask was too large and thus masking any mrs instruction, even if not related to the emulated registers which made the pmu emulation inefficient. Signed-off-by: Raphael Gault Signed-off-by: Rob Herring --- v7: - Split off from Raphael's original undef hook patch as this change stands on its own. --- arch/arm64/kernel/cpufeature.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c index 066030717a4c..aa0777690ab1 100644 --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c @@ -2888,8 +2888,8 @@ static int emulate_mrs(struct pt_regs *regs, u32 insn) } static struct undef_hook mrs_hook = { - .instr_mask = 0xfff00000, - .instr_val = 0xd5300000, + .instr_mask = 0xffff0000, + .instr_val = 0xd5380000, .pstate_mask = PSR_AA32_MODE_MASK, .pstate_val = PSR_MODE_EL0t, .fn = emulate_mrs, -- 2.27.0 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 X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DFC50C433ED for ; Tue, 20 Apr 2021 03:17:35 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5F45F61221 for ; Tue, 20 Apr 2021 03:17:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5F45F61221 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; 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=hhkU1MzFtrpmGisjcVjsdY6fe9INkMxrt1gmlh3DnoY=; b=gEFk/6KJqgESV5RprucZTJmqK NYvCsQANZuaqK3bNDnCl5L7oUysS7klgDyroAG00RoEoLjTTGpu5jOKIC0QQsArGS9W08X4Lkzvpx fVebTjGKj/e/u8MZaCcyq9Jkr+XuGkXuzfc7qtNT6IBOYzMR0gxljtIzcsQ8ujqbsBfxqLG2XXXQy R3PYYz6VmMImhAF8WExBtCDFT2aBvceuRMCSTyROurc4XVlhREP84Nxy6pk/l3pHge9SwFH8TwZih v7FKa3uSPawI/XKDEfXIfis1p2RJIFteYsasvvC66s37a2qwOzX0sn6h6tO0rtbwfpzNT73rGUeZ6 nXeLerQ0g==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lYgrN-00B38I-Jk; Tue, 20 Apr 2021 03:15:34 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lYgrD-00B376-AG for linux-arm-kernel@desiato.infradead.org; Tue, 20 Apr 2021 03:15:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=atv698prrzRKobGKWx+VS0Z9kUa/dGuy8qNtepCjWQk=; b=Do+9XmYiNb23t9YEee9pMwNvp3 fLMKi+wyV4ZEu5bJ7i5Xa958sgcGwg6WcdDXqkxmx5yDHiZmoGGWfJKifgWSTMrvOjqp1AY3LGbMr nj0yjbiqnuyvNOXtZGeicSgVD0/+Ci3NZfZqQZ1wDaMLboHo2xjf4m3r1irP3v7diFdExuZhtsbcj RYYYq2DMxbAn09viUNopVtWuMl7MobYVIi+vNY1Wdr2qFTw9Bv57HasXgRynY63cGdDqYW5tLezx1 1fxnvQHGutv7aDJQgBekQoSefeYyEAfctU0U6iAYnSWx7wp+UZhMNU2HhFbfBnFRqwRS9/a7xAsqS WdO7Gu7Q==; Received: from mail-oo1-f44.google.com ([209.85.161.44]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lYgr7-00Bmh4-P6 for linux-arm-kernel@lists.infradead.org; Tue, 20 Apr 2021 03:15:22 +0000 Received: by mail-oo1-f44.google.com with SMTP id e12-20020a056820060cb02901e94efc049dso3271540oow.9 for ; Mon, 19 Apr 2021 20:15:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=atv698prrzRKobGKWx+VS0Z9kUa/dGuy8qNtepCjWQk=; b=C4qTHTv1nEFyWfjHzrPNFBT1msd+htlavpreW8SCSXaDSerLY4hjBqouwb/ewux3xN 3VYbD4WD9whHOy2kO3dsOhW13NKr7nRQ6IWmNBM7aiYapbGytyptmGox6bhakUj9/icJ Q0EhvuAZXulx1A14kneOlgZDXE1OKdYGo3JuCDHW579obZE5BJNRcRZIHMN9LQkZ4a5S dYcte24j2bOpI6dU4xh5XfRKuPimML7vmsfIOdUcuYISuPI9QAUUE+FVJk+Sw8ppb2/Y g+taP2aJQWTJmuYwjB7DNvswaGyTyEIC74eFeFtTx6FuT8JNCwD1GpPD2Hw+w4iojcyU qilQ== X-Gm-Message-State: AOAM531fwvNqz7Ygr4c47oOUq23ub/SMnVzDSpgRJD3xtHK65QpfBUQu 6NWlO4RS5hX/es4eukKLiA== X-Google-Smtp-Source: ABdhPJxPsn5ty5wJnfRDFyFSuBfPSklEyWGXQ6m5lEUWAlmHo9u5vYIOYHMgboaKIHzAS8DxPyk+Xg== X-Received: by 2002:a4a:8e18:: with SMTP id q24mr7680291ook.66.1618888515838; Mon, 19 Apr 2021 20:15:15 -0700 (PDT) Received: from xps15.herring.priv (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.googlemail.com with ESMTPSA id g16sm2347896oof.43.2021.04.19.20.15.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Apr 2021 20:15:14 -0700 (PDT) From: Rob Herring To: Will Deacon , Catalin Marinas , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Jiri Olsa , Mark Rutland Cc: Alexander Shishkin , honnappa.nagarahalli@arm.com, Zachary.Leaf@arm.com, Raphael Gault , Jonathan Cameron , Namhyung Kim , Itaru Kitayama , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 1/9] arm64: Restrict undef hook for cpufeature registers Date: Mon, 19 Apr 2021 22:15:03 -0500 Message-Id: <20210420031511.2348977-2-robh@kernel.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210420031511.2348977-1-robh@kernel.org> References: <20210420031511.2348977-1-robh@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210419_201517_839924_1FF56B02 X-CRM114-Status: GOOD ( 14.89 ) 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 From: Raphael Gault This commit modifies the mask of the mrs_hook declared in arch/arm64/kernel/cpufeatures.c which emulates only feature register access. This is necessary because this hook's mask was too large and thus masking any mrs instruction, even if not related to the emulated registers which made the pmu emulation inefficient. Signed-off-by: Raphael Gault Signed-off-by: Rob Herring --- v7: - Split off from Raphael's original undef hook patch as this change stands on its own. --- arch/arm64/kernel/cpufeature.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c index 066030717a4c..aa0777690ab1 100644 --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c @@ -2888,8 +2888,8 @@ static int emulate_mrs(struct pt_regs *regs, u32 insn) } static struct undef_hook mrs_hook = { - .instr_mask = 0xfff00000, - .instr_val = 0xd5300000, + .instr_mask = 0xffff0000, + .instr_val = 0xd5380000, .pstate_mask = PSR_AA32_MODE_MASK, .pstate_val = PSR_MODE_EL0t, .fn = emulate_mrs, -- 2.27.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel