{"id":808887,"url":"http://patchwork.ozlabs.org/api/1.2/patches/808887/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-arc/patch/1504289162-25977-1-git-send-email-vgupta@synopsys.com/","project":{"id":48,"url":"http://patchwork.ozlabs.org/api/1.2/projects/48/?format=json","name":"Linux ARC development","link_name":"linux-arc","list_id":"linux-snps-arc.lists.infradead.org","list_email":"linux-snps-arc@lists.infradead.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<1504289162-25977-1-git-send-email-vgupta@synopsys.com>","list_archive_url":null,"date":"2017-09-01T18:06:02","name":"ARC: Machine Check Exception: enable MMU in single place","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"d4090402fa3e5a7fdd9ccd58ec4f029356f657eb","submitter":{"id":26707,"url":"http://patchwork.ozlabs.org/api/1.2/people/26707/?format=json","name":"Vineet Gupta","email":"Vineet.Gupta1@synopsys.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-arc/patch/1504289162-25977-1-git-send-email-vgupta@synopsys.com/mbox/","series":[{"id":1091,"url":"http://patchwork.ozlabs.org/api/1.2/series/1091/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-arc/list/?series=1091","date":"2017-09-01T18:06:02","name":"ARC: Machine Check Exception: enable MMU in single place","version":1,"mbox":"http://patchwork.ozlabs.org/series/1091/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/808887/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/808887/checks/","tags":{},"related":[],"headers":{"Return-Path":"<linux-snps-arc-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org; spf=none (mailfrom)\n\tsmtp.mailfrom=lists.infradead.org (client-ip=65.50.211.133;\n\thelo=bombadil.infradead.org;\n\tenvelope-from=linux-snps-arc-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"YDrOnO+6\"; \n\tdkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xkRyZ0Kngz9t3F\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat,  2 Sep 2017 04:06:45 +1000 (AEST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dnqL6-0001Nf-EG; Fri, 01 Sep 2017 18:06:44 +0000","from us01smtprelay-2.synopsys.com ([198.182.47.9]\n\thelo=smtprelay.synopsys.com)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dnqL3-0001LC-6r for linux-snps-arc@lists.infradead.org;\n\tFri, 01 Sep 2017 18:06:42 +0000","from mailhost.synopsys.com (mailhost3.synopsys.com [10.12.238.238])\n\tby smtprelay.synopsys.com (Postfix) with ESMTP id 16C5424E0C8A;\n\tFri,  1 Sep 2017 11:06:20 -0700 (PDT)","from mailhost.synopsys.com (localhost [127.0.0.1])\n\tby mailhost.synopsys.com (Postfix) with ESMTP id F130CE7E;\n\tFri,  1 Sep 2017 11:06:19 -0700 (PDT)","from US01WEHTC3.internal.synopsys.com\n\t(us01wehtc3.internal.synopsys.com [10.15.84.232])\n\tby mailhost.synopsys.com (Postfix) with ESMTP id DB27CE74;\n\tFri,  1 Sep 2017 11:06:19 -0700 (PDT)","from IN01WEHTCB.internal.synopsys.com (10.144.199.106) by\n\tUS01WEHTC3.internal.synopsys.com (10.15.84.232) with Microsoft SMTP\n\tServer (TLS) id 14.3.266.1; Fri, 1 Sep 2017 11:06:18 -0700","from IN01WEHTCA.internal.synopsys.com (10.144.199.104) by\n\tIN01WEHTCB.internal.synopsys.com (10.144.199.105) with Microsoft SMTP\n\tServer (TLS) id 14.3.266.1; Fri, 1 Sep 2017 23:36:16 +0530","from vineetg-Latitude-E7450.internal.synopsys.com (10.12.196.101)\n\tby IN01WEHTCA.internal.synopsys.com (10.144.199.243) with Microsoft\n\tSMTP Server (TLS) id 14.3.266.1; Fri, 1 Sep 2017 23:36:15 +0530"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:\n\tMessage-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=lTzpy7kgLbSI+keqZdGr9iFrdWEdZ/HszlxXfhh7sL8=;\n\tb=YDrOnO+6WDG5kR\n\tHJgrVsa8/AvVWaY4MEs74VjTVVgiipSugLC28xoIAucUWtCc+B++BsQXdG9qKyo/85Vi2jYZE1pq4\n\t897QUL4wAgXQ9OnF0K60Vr26qnWebjkeCHm4Sxte6+rNxOJmDuEoVsnhz0CgAo+zjJ/skhdxY4atU\n\tumLyWlMjd9n5WcLOJrG05QIEdkZlTH8ZIB9aZZBj/K7sfhQVSo6C4bRsrKppvIteCzh2LGf76oLyt\n\tdZx5JtdhnBVQbJWwWLiyI/ef+DraMibG7VU6tBeGZqgOwCrWKmy+pZW7YD5UBou+MWxvCz1pnH8hC\n\t05HTdmV5kxAGISCzjr+w==;","From":"Vineet Gupta <Vineet.Gupta1@synopsys.com>","To":"<linux-snps-arc@lists.infradead.org>","Subject":"[PATCH] ARC: Machine Check Exception: enable MMU in single place","Date":"Fri, 1 Sep 2017 11:06:02 -0700","Message-ID":"<1504289162-25977-1-git-send-email-vgupta@synopsys.com>","X-Mailer":"git-send-email 2.7.4","In-Reply-To":"<d0f55ba3b94de5c1bb7c93cbadb9829fa6889fed.1504281896.git.joabreu@synopsys.com>","References":"<d0f55ba3b94de5c1bb7c93cbadb9829fa6889fed.1504281896.git.joabreu@synopsys.com>","MIME-Version":"1.0","X-Originating-IP":"[10.12.196.101]","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20170901_110641_269639_6B7D9CF0 ","X-CRM114-Status":"UNSURE (   7.96  )","X-CRM114-Notice":"Please train this message.","X-Spam-Score":"-1.9 (-)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-1.9 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/,\n\tno trust [198.182.47.9 listed in list.dnswl.org]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-snps-arc@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"Linux on Synopsys ARC Processors\n\t<linux-snps-arc.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-snps-arc>, \n\t<mailto:linux-snps-arc-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-snps-arc/>","List-Post":"<mailto:linux-snps-arc@lists.infradead.org>","List-Help":"<mailto:linux-snps-arc-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-snps-arc>, \n\t<mailto:linux-snps-arc-request@lists.infradead.org?subject=subscribe>","Cc":"Jose.Abreu@synopsys.com, Vineet Gupta <Vineet.Gupta1@synopsys.com>,\n\tlinux-kernel@vger.kernel.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-snps-arc\" <linux-snps-arc-bounces@lists.infradead.org>","Errors-To":"linux-snps-arc-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"},"content":"Machine check Exception is handled in distinc ways depending on cause\n - Duplicate TLB Entry (relevent mostly for ARC700)\n - everything else\n\nCurrently we re-enable MMU seperately for each of these cases, which can\nbe consolidated by dign this before we fork off the handling in low\nlevel handler.\n\nSigned-off-by: Vineet Gupta <vgupta@synopsys.com>\n---\n arch/arc/kernel/entry.S | 6 ++++++\n arch/arc/kernel/traps.c | 6 ------\n arch/arc/mm/tlb.c       | 3 ---\n 3 files changed, 6 insertions(+), 9 deletions(-)","diff":"diff --git a/arch/arc/kernel/entry.S b/arch/arc/kernel/entry.S\nindex 1eea99beecc3..85d9ea4a0acc 100644\n--- a/arch/arc/kernel/entry.S\n+++ b/arch/arc/kernel/entry.S\n@@ -92,6 +92,12 @@ ENTRY(EV_MachineCheck)\n \tlr  r0, [efa]\n \tmov r1, sp\n \n+\t; hardware auto-disables MMU, re-enable it to allow kernel vaddr\n+\t; access for say stack unwinding of modules for crash dumps\n+\tlr\tr3, [ARC_REG_PID]\n+\tor\tr3, r3, MMU_ENABLE\n+\tsr\tr3, [ARC_REG_PID]\n+\n \tlsr  \tr3, r2, 8\n \tbmsk \tr3, r3, 7\n \tbrne    r3, ECR_C_MCHK_DUP_TLB, 1f\ndiff --git a/arch/arc/kernel/traps.c b/arch/arc/kernel/traps.c\nindex b636dfe8ee9e..b03daa7a9a2b 100644\n--- a/arch/arc/kernel/traps.c\n+++ b/arch/arc/kernel/traps.c\n@@ -105,12 +105,6 @@ int do_misaligned_access(unsigned long address, struct pt_regs *regs,\n  */\n void do_machine_check_fault(unsigned long address, struct pt_regs *regs)\n {\n-\t/*\n-\t * Hardware auto-disables MMU upon this exception hence re-enabled\n-\t * for ksym lookup in modules to work (in kernel vaddr space)\n-\t */\n-\twrite_aux_reg(ARC_REG_PID, MMU_ENABLE | read_aux_reg(ARC_REG_PID));\n-\n \tdie(\"Unhandled Machine Check Exception\", regs, address);\n }\n \ndiff --git a/arch/arc/mm/tlb.c b/arch/arc/mm/tlb.c\nindex edc59a0a9c9b..8ceefbf72fb0 100644\n--- a/arch/arc/mm/tlb.c\n+++ b/arch/arc/mm/tlb.c\n@@ -908,9 +908,6 @@ void do_tlb_overlap_fault(unsigned long cause, unsigned long address,\n \n \tlocal_irq_save(flags);\n \n-\t/* re-enable the MMU */\n-\twrite_aux_reg(ARC_REG_PID, MMU_ENABLE | read_aux_reg(ARC_REG_PID));\n-\n \t/* loop thru all sets of TLB */\n \tfor (set = 0; set < mmu->sets; set++) {\n \n","prefixes":[]}