From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexey.Brodkin@synopsys.com (Alexey Brodkin) Date: Fri, 1 Sep 2017 12:42:08 +0000 Subject: [PATCH] arc: Re-enable MMU upon die() In-Reply-To: References: <1504266488.15144.3.camel@synopsys.com> List-ID: Message-ID: <1504269727.15144.6.camel@synopsys.com> To: linux-snps-arc@lists.infradead.org Hi Jose, On Fri, 2017-09-01@13:33 +0100, Jose Abreu wrote: > Hi Alexey, > > On 01-09-2017 12:48, Alexey Brodkin wrote: > > > > Hi Jose, > > > > On Fri, 2017-09-01@12:39 +0100, Jose Abreu wrote: > > > > > > I recently came upon a scenario where I would get a double fault > > > after a machine check error. It turns out that for Ksymbol lookup > > > to work with modules we need to have MMU enabled because module > > > address is mapped in the cached space. > > > > > > This patch re-enables the MMU before start printing the stacktrace > > > making stacktracing of modules work upon a fatal exception. > > I'm wondering how do we end up with MMU disabled? > > From ARC700 databook I cannot find any condition on which MMU could be > > silently disabled by hardware and IIRC there's no code in Linux kernel > > that disables MMU. > > According to ARC 700 databook a machine check exception causes > Global TLB enable to be cleared. (See ARC 700 databook, page 687). Thanks for pointing to that. I didn't expect to see that note far below "Global TLB enable" bit description. So then your change makes perfect sense. Reviwed-by: Alexey Brodkin