From patchwork Thu Jun 22 01:39:32 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ram Pai X-Patchwork-Id: 779280 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3wtRmX1d0Bz9rxl for ; Thu, 22 Jun 2017 13:25:32 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="cxGqZtj3"; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3wtRmX0MtpzDvg6 for ; Thu, 22 Jun 2017 13:25:32 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="cxGqZtj3"; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from mail-qt0-x243.google.com (mail-qt0-x243.google.com [IPv6:2607:f8b0:400d:c0d::243]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3wtPRN22B7zDr06 for ; Thu, 22 Jun 2017 11:40:32 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="cxGqZtj3"; dkim-atps=neutral Received: by mail-qt0-x243.google.com with SMTP id x58so350452qtc.2 for ; Wed, 21 Jun 2017 18:40:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=rJVNh8+LjowKvWsu36UjanViyRAhX3vQBRhutqxE9ss=; b=cxGqZtj3l8axeXXWVD13fwS+8NRHL1SYU3GZzBkMPIzSdkKFjVz18cX62pdp4gS8T8 3Pq39GXHL+MsEK0ea1mKrYmjMc2OQ1apeOB6YtWvWXbY/HwU9ffXbPuZv07FGeZwMPiC /FGvtjPQgs/LKCmWPZPFLyKQ0UpjmhkLveaz+Whn9PNe0UA4KE+tnHzkCd3TWSxhi8Fr 6i5Qw5rNvjqboh99bCbPNYYSF9oUPBaRmJFuFS18cnNz1VDbVpldj8OS9ceBWtMC7+Ch Qg/iMSySXDvCKCt81fTbUh1kzfEqjBC4+HM6VQ+CBbN/OQayN6uxJQUFEHFGETLAd5Z4 XlUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=rJVNh8+LjowKvWsu36UjanViyRAhX3vQBRhutqxE9ss=; b=nAGQC9SjXTq5l0BuvNDUZi41kXUAwWf3N0ZoaOEWjRpuUK7V0mcXnNR65B6xo3/SVS k9HjMfudA9SyP1pG5Scmsiemjcj+nWuN3NfN6ofCOnYpiWU+UK7BMwKqZL3cs5ZRj2t0 1iai53b4OxRbgst1s5k5e9au+A2CXgyN5IAmwcOL9jHmK1gVVVx8oSjnfszh9ka+YBpz f/B95/wuSm8CJgrva3kY6k33TJppmAhGeO2QvPL98wE0rrpdrjlZV0X9a3QraNCLgDqa PR+wARzzsWnqVMmUCLQZ3gaPPCCT7zbm3aoYExnTzkVJwcUWtJcG5dACJBKLF0NBtSSE Ea4A== X-Gm-Message-State: AKS2vOyPipa0W2CT081dH7YZDtRJkr/jelYi05guGAjqOtdcrygg8XmM X4T7D4zKhFPmVnlXnTU= X-Received: by 10.237.34.148 with SMTP id p20mr134142qtc.90.1498095630265; Wed, 21 Jun 2017 18:40:30 -0700 (PDT) Received: from localhost.localdomain (50-39-103-96.bvtn.or.frontiernet.net. [50.39.103.96]) by smtp.gmail.com with ESMTPSA id 45sm70785qtu.14.2017.06.21.18.40.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Jun 2017 18:40:29 -0700 (PDT) From: Ram Pai To: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: [RFC v3 16/23] powerpc: Macro the mask used for checking DSI exception Date: Wed, 21 Jun 2017 18:39:32 -0700 Message-Id: <1498095579-6790-17-git-send-email-linuxram@us.ibm.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1498095579-6790-1-git-send-email-linuxram@us.ibm.com> References: <1498095579-6790-1-git-send-email-linuxram@us.ibm.com> X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: arnd@arndb.de, corbet@lwn.net, linuxram@us.ibm.com, dave.hansen@intel.com, mingo@redhat.com, paulus@samba.org, aneesh.kumar@linux.vnet.ibm.com, akpm@linux-foundation.org, khandual@linux.vnet.ibm.com Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Replace the magic number used to check for DSI exception with a meaningful value. Signed-off-by: Ram Pai --- arch/powerpc/include/asm/reg.h | 7 ++++++- arch/powerpc/kernel/exceptions-64s.S | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h index 7e50e47..ba110dd 100644 --- a/arch/powerpc/include/asm/reg.h +++ b/arch/powerpc/include/asm/reg.h @@ -272,16 +272,21 @@ #define SPRN_DAR 0x013 /* Data Address Register */ #define SPRN_DBCR 0x136 /* e300 Data Breakpoint Control Reg */ #define SPRN_DSISR 0x012 /* Data Storage Interrupt Status Register */ +#define DSISR_BIT32 0x80000000 /* not defined */ #define DSISR_NOHPTE 0x40000000 /* no translation found */ +#define DSISR_PAGEATTR_CONFLT 0x20000000 /* page attribute conflict */ +#define DSISR_BIT35 0x10000000 /* not defined */ #define DSISR_PROTFAULT 0x08000000 /* protection fault */ #define DSISR_BADACCESS 0x04000000 /* bad access to CI or G */ #define DSISR_ISSTORE 0x02000000 /* access was a store */ #define DSISR_DABRMATCH 0x00400000 /* hit data breakpoint */ -#define DSISR_NOSEGMENT 0x00200000 /* SLB miss */ #define DSISR_KEYFAULT 0x00200000 /* Key fault */ +#define DSISR_BIT43 0x00100000 /* not defined */ #define DSISR_UNSUPP_MMU 0x00080000 /* Unsupported MMU config */ #define DSISR_SET_RC 0x00040000 /* Failed setting of R/C bits */ #define DSISR_PGDIRFAULT 0x00020000 /* Fault on page directory */ +#define DSISR_PAGE_FAULT_MASK (DSISR_BIT32 | DSISR_PAGEATTR_CONFLT | \ + DSISR_BADACCESS | DSISR_BIT43) #define SPRN_TBRL 0x10C /* Time Base Read Lower Register (user, R/O) */ #define SPRN_TBRU 0x10D /* Time Base Read Upper Register (user, R/O) */ #define SPRN_CIR 0x11B /* Chip Information Register (hyper, R/0) */ diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S index ae418b8..3fd0528 100644 --- a/arch/powerpc/kernel/exceptions-64s.S +++ b/arch/powerpc/kernel/exceptions-64s.S @@ -1411,7 +1411,7 @@ USE_TEXT_SECTION() .balign IFETCH_ALIGN_BYTES do_hash_page: #ifdef CONFIG_PPC_STD_MMU_64 - andis. r0,r4,0xa410 /* weird error? */ + andis. r0,r4,DSISR_PAGE_FAULT_MASK@h bne- handle_page_fault /* if not, try to insert a HPTE */ andis. r0,r4,DSISR_DABRMATCH@h bne- handle_dabr_fault