From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: ACJfBosYLu3wZY72QKJ1QXasoeiyXLNHGrgDg2T1HLzwZ+A9UklikfRAGzqAF7VmhniJVLyAvmcR ARC-Seal: i=1; a=rsa-sha256; t=1516326753; cv=none; d=google.com; s=arc-20160816; b=q0u1pAAA3sfoVNrluB98/wmC4xS19MDAflDHUQxNnSMkxMWAp2/7q/G/fUA9mFaaBE /wTsDFZohpyMdQL4eMEo4M7/aef5t0wrybY0bgj58pLqf8EWvucW5tb9aAVFzQ23B89j yzkakrlILHi40XayctyZYwcbOSSrTGbwQs4Ye1UMkGpMScT0BpfYMzl+QDkcMuUfdxde Ttztsx2q/D9yCU4RHMRlm/aNDBf326FQCBdWaREi5apGMAom4Eer5n68wD0ltL9fUN/5 WQG357KESqt6mpYox0+7jf2lV5ZuuUiaut8G/BnhG/ND7ZE6U7VgNY9hmYxys4gIMJan f5BQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=BI8jH2Nd0u6OBsPYDsQUmSXUxyRzkIJA+2jeo39JdH8=; b=jtzdFTDHUCYLOf1sf5itD+yvE5u3AsBObT8UNk8E8hE04z5z1EeefMYNumqo3jW+q/ /aXLOovfvCF6BxPr2X3FX1f5snlgNmZlQqo1iewIegwVbjKD7rdtAi2dW/DOOyZ8vIme LOa23iRmGMaUcuPvz98qVII/UPz6sA33tCMR8rCrGItMRwRmQN48PolcuTzfvfWs8WrO mZMIpY5+sL+Pgt6glomIh4ZMJ3iDIM0NjRjDU+QpYdfYkJw4jr18CufhjT6WriIlL0s+ 0j1jwMMQJBueTd0KguAQGzr8WRwz55GpxZWsd0EMNb7UU2cR3OH8wY4Uwizanp/nxPAN Mp8w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=YS/0RcTa; spf=pass (google.com: best guess record for domain of linux-kselftest-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kselftest-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=YS/0RcTa; spf=pass (google.com: best guess record for domain of linux-kselftest-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kselftest-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755675AbeASBwa (ORCPT ); Thu, 18 Jan 2018 20:52:30 -0500 Received: from mail-qt0-f194.google.com ([209.85.216.194]:37172 "EHLO mail-qt0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755465AbeASBvz (ORCPT ); Thu, 18 Jan 2018 20:51:55 -0500 From: Ram Pai To: mpe@ellerman.id.au, mingo@redhat.com, akpm@linux-foundation.org, corbet@lwn.net, arnd@arndb.de Cc: linuxppc-dev@lists.ozlabs.org, linux-mm@kvack.org, x86@kernel.org, linux-arch@vger.kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, dave.hansen@intel.com, benh@kernel.crashing.org, paulus@samba.org, khandual@linux.vnet.ibm.com, aneesh.kumar@linux.vnet.ibm.com, bsingharora@gmail.com, hbabu@us.ibm.com, mhocko@kernel.org, bauerman@linux.vnet.ibm.com, ebiederm@xmission.com, linuxram@us.ibm.com Subject: [PATCH v10 05/27] powerpc: helper function to read,write AMR,IAMR,UAMOR registers Date: Thu, 18 Jan 2018 17:50:26 -0800 Message-Id: <1516326648-22775-6-git-send-email-linuxram@us.ibm.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1516326648-22775-1-git-send-email-linuxram@us.ibm.com> References: <1516326648-22775-1-git-send-email-linuxram@us.ibm.com> Sender: linux-kselftest-owner@vger.kernel.org X-Mailing-List: linux-kselftest@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1589983841526817862?= X-GMAIL-MSGID: =?utf-8?q?1589983841526817862?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: Implements helper functions to read and write the key related registers; AMR, IAMR, UAMOR. AMR register tracks the read,write permission of a key IAMR register tracks the execute permission of a key UAMOR register enables and disables a key Acked-by: Balbir Singh Reviewed-by: Thiago Jung Bauermann Signed-off-by: Ram Pai --- arch/powerpc/mm/pkeys.c | 36 ++++++++++++++++++++++++++++++++++++ 1 files changed, 36 insertions(+), 0 deletions(-) diff --git a/arch/powerpc/mm/pkeys.c b/arch/powerpc/mm/pkeys.c index e2f3992..6e8df6e 100644 --- a/arch/powerpc/mm/pkeys.c +++ b/arch/powerpc/mm/pkeys.c @@ -71,3 +71,39 @@ void pkey_mm_init(struct mm_struct *mm) return; mm_pkey_allocation_map(mm) = initial_allocation_mask; } + +static inline u64 read_amr(void) +{ + return mfspr(SPRN_AMR); +} + +static inline void write_amr(u64 value) +{ + mtspr(SPRN_AMR, value); +} + +static inline u64 read_iamr(void) +{ + if (!likely(pkey_execute_disable_supported)) + return 0x0UL; + + return mfspr(SPRN_IAMR); +} + +static inline void write_iamr(u64 value) +{ + if (!likely(pkey_execute_disable_supported)) + return; + + mtspr(SPRN_IAMR, value); +} + +static inline u64 read_uamor(void) +{ + return mfspr(SPRN_UAMOR); +} + +static inline void write_uamor(u64 value) +{ + mtspr(SPRN_UAMOR, value); +} -- 1.7.1