From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Peter Rosin <peda@axentia.se>
Cc: "'linux-arm-kernel@lists.infradead.org'"
<linux-arm-kernel@lists.infradead.org>,
"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: Domain faults when CONFIG_CPU_SW_DOMAIN_PAN is enabled
Date: Thu, 3 Dec 2015 11:00:41 +0000 [thread overview]
Message-ID: <20151203110041.GK8644@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <1267b061b66c4d1fa8af1955825bc97a@EMAIL.axentia.se>
On Thu, Dec 03, 2015 at 08:33:13AM +0000, Peter Rosin wrote:
> I wrote:
> > If I enable CONFIG_CPU_SW_DOMAIN_PAN, I sometimes (but not always) get the
> > following (or very similar) on boot.
>
> I should have said "if I don't disable", as the option is "default y".
>
> Also, if it survives on boot, below is an example of later trouble (after
> 30+ minutes on this occasion).
Please apply this patch so we (might) get a slightly better oops dump,
and then try to reproduce.
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index 7a7c4ce..92789ce 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -95,6 +95,22 @@ void __show_regs(struct pt_regs *regs)
{
unsigned long flags;
char buf[64];
+#ifndef CONFIG_CPU_V7M
+ unsigned int domain;
+#ifdef CONFIG_CPU_SW_DOMAIN_PAN
+ /*
+ * Get the domain register for the parent context. In user
+ * mode, we don't save the DACR, so lets use what it should
+ * be. For other modes, we place it after the pt_regs struct.
+ */
+ if (user_mode(regs))
+ domain = DACR_UACCESS_ENABLE;
+ else
+ domain = *(unsigned int *)(regs + 1);
+#else
+ domain = get_domain();
+#endif
+#endif
show_regs_print_info(KERN_DEFAULT);
@@ -123,21 +139,8 @@ void __show_regs(struct pt_regs *regs)
#ifndef CONFIG_CPU_V7M
{
- unsigned int domain = get_domain();
const char *segment;
-#ifdef CONFIG_CPU_SW_DOMAIN_PAN
- /*
- * Get the domain register for the parent context. In user
- * mode, we don't save the DACR, so lets use what it should
- * be. For other modes, we place it after the pt_regs struct.
- */
- if (user_mode(regs))
- domain = DACR_UACCESS_ENABLE;
- else
- domain = *(unsigned int *)(regs + 1);
-#endif
-
if ((domain & domain_mask(DOMAIN_USER)) ==
domain_val(DOMAIN_USER, DOMAIN_NOACCESS))
segment = "none";
@@ -163,11 +166,11 @@ void __show_regs(struct pt_regs *regs)
buf[0] = '\0';
#ifdef CONFIG_CPU_CP15_MMU
{
- unsigned int transbase, dac = get_domain();
+ unsigned int transbase;
asm("mrc p15, 0, %0, c2, c0\n\t"
: "=r" (transbase));
snprintf(buf, sizeof(buf), " Table: %08x DAC: %08x",
- transbase, dac);
+ transbase, domain);
}
#endif
asm("mrc p15, 0, %0, c1, c0\n" : "=r" (ctrl));
--
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
next prev parent reply other threads:[~2015-12-03 11:00 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-03 8:33 Peter Rosin
2015-12-03 11:00 ` Russell King - ARM Linux [this message]
2015-12-03 11:38 ` Peter Rosin
2015-12-03 11:51 ` Russell King - ARM Linux
2015-12-03 12:08 ` Peter Rosin
2015-12-03 13:37 ` Russell King - ARM Linux
2015-12-03 16:12 ` Peter Rosin
2015-12-03 16:41 ` Russell King - ARM Linux
2015-12-03 17:27 ` Russell King - ARM Linux
2015-12-03 18:28 ` Nicolas Pitre
2015-12-05 13:41 ` Russell King - ARM Linux
2015-12-03 21:37 ` Peter Rosin
2015-12-10 0:22 ` Russell King - ARM Linux
2015-12-10 15:29 ` Peter Rosin
2015-12-10 16:20 ` Russell King - ARM Linux
2015-12-10 18:32 ` Peter Rosin
2015-12-30 16:51 ` Peter Rosin
2015-12-30 16:57 ` Peter Rosin
-- strict thread matches above, loose matches on Subject: below --
2015-12-03 7:43 Peter Rosin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151203110041.GK8644@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peda@axentia.se \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®