From: Tony Lindgren <tony@atomide.com>
To: Matthijs van Duin <matthijsvanduin@gmail.com>
Cc: "Pali Rohár" <pali.rohar@gmail.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"Sebastian Reichel" <sre@ring0.de>,
linux-omap <linux-omap@vger.kernel.org>,
"Aaro Koskinen" <aaro.koskinen@iki.fi>,
"Pavel Machek" <pavel@ucw.cz>,
lkml <linux-kernel@vger.kernel.org>, "Nishanth Menon" <nm@ti.com>
Subject: Re: runtime check for omap-aes bus access permission (was: Re: 3.13-rc3 (commit 7ce93f3) breaks Nokia N900 DT boot)
Date: Mon, 1 Jun 2015 13:52:18 -0700 [thread overview]
Message-ID: <20150601205217.GD30984@atomide.com> (raw)
In-Reply-To: <CAALWOA8swU+wRrg8NnFDoKMEEsfKAE=u7ZiQE3X5BvRKLOjNmg@mail.gmail.com>
* Matthijs van Duin <matthijsvanduin@gmail.com> [150601 13:34]:
> On 1 June 2015 at 19:58, Tony Lindgren <tony@atomide.com> wrote:
> > I think these kernels are missing the configuration for l3-noc
> > driver?
>
> Yup. Since I'm pretty sure I have all the necessary info I was hoping
> look into that... somewhere in my copious spare time...
>
> > I tried it on omap4 that has l3-noc configured, and it first produces
> > "Unhandled fault: external abort on non-linefetch (0x1818) at 0xb6fd7000",
>
> (Though making a patch to fix that annoyingly wrong and useless
> message is higher on my list of priorities)
>
> > and the L3 interrupt only after that. So yeah, you're right, we can't
> > use the interrupts here. I somehow remembered we'd get only the L3
> > interrupt if configured.
>
> The bus error is not influenced by L3 error reporting config afaik,
> and it will always win from the irq: even though the irq is almost
> certainly asserted first, it can't be taken until the load/store
> instruction completes, and then the fault will take precedence.
>
> While implementing L3 error reporting in my forth system I ran into a
> tricky scenario though: it turns out that if an irq occurs while the
> cpu is waiting for instruction fetch, it does allow the irq to be
> taken. The interrupted fetch is abandoned and any bus error it may
> have produced is ignored since exception entry/exit is an implicit
> instruction sync barrier. On return it is simply refetched...
>
> Hence, the result from attempting to execute code from an invalid address:
> fetching from [invalid]
> irq entry (LR=[invalid])
> L3 error displayed
> irq exit
> fetching from [invalid]
> irq entry (LR=[invalid])
> L3 error displayed
> irq exit
> fetching from [invalid]
> ...
> (repeat until watchdog expires)
OK that must be the case I've seen then. Probably that happens
when a device is not clocked.
> Anyhow, so we still have the puzzling fact that apparently neither of
> us was expecting device memory to use a strongly-ordered mapping,
> getting a bus error on a write (outside MPUSS itself) shows that it
> does.
Hmm well it should be just MT_DEVICE for anything Linux ioremaps..
Care to verify that from a device driver that does ioremap on it
first?
> I've tried to read arch/arm/mm/mmu.c to find out why, but so far I'm
> feeling hopelessly lost there... (the multitude of ARM architecture
> versions/flavors supported aren't helping.)
Heh yeah too much hardware churn going on :)
Regards,
Tony
WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: runtime check for omap-aes bus access permission (was: Re: 3.13-rc3 (commit 7ce93f3) breaks Nokia N900 DT boot)
Date: Mon, 1 Jun 2015 13:52:18 -0700 [thread overview]
Message-ID: <20150601205217.GD30984@atomide.com> (raw)
In-Reply-To: <CAALWOA8swU+wRrg8NnFDoKMEEsfKAE=u7ZiQE3X5BvRKLOjNmg@mail.gmail.com>
* Matthijs van Duin <matthijsvanduin@gmail.com> [150601 13:34]:
> On 1 June 2015 at 19:58, Tony Lindgren <tony@atomide.com> wrote:
> > I think these kernels are missing the configuration for l3-noc
> > driver?
>
> Yup. Since I'm pretty sure I have all the necessary info I was hoping
> look into that... somewhere in my copious spare time...
>
> > I tried it on omap4 that has l3-noc configured, and it first produces
> > "Unhandled fault: external abort on non-linefetch (0x1818) at 0xb6fd7000",
>
> (Though making a patch to fix that annoyingly wrong and useless
> message is higher on my list of priorities)
>
> > and the L3 interrupt only after that. So yeah, you're right, we can't
> > use the interrupts here. I somehow remembered we'd get only the L3
> > interrupt if configured.
>
> The bus error is not influenced by L3 error reporting config afaik,
> and it will always win from the irq: even though the irq is almost
> certainly asserted first, it can't be taken until the load/store
> instruction completes, and then the fault will take precedence.
>
> While implementing L3 error reporting in my forth system I ran into a
> tricky scenario though: it turns out that if an irq occurs while the
> cpu is waiting for instruction fetch, it does allow the irq to be
> taken. The interrupted fetch is abandoned and any bus error it may
> have produced is ignored since exception entry/exit is an implicit
> instruction sync barrier. On return it is simply refetched...
>
> Hence, the result from attempting to execute code from an invalid address:
> fetching from [invalid]
> irq entry (LR=[invalid])
> L3 error displayed
> irq exit
> fetching from [invalid]
> irq entry (LR=[invalid])
> L3 error displayed
> irq exit
> fetching from [invalid]
> ...
> (repeat until watchdog expires)
OK that must be the case I've seen then. Probably that happens
when a device is not clocked.
> Anyhow, so we still have the puzzling fact that apparently neither of
> us was expecting device memory to use a strongly-ordered mapping,
> getting a bus error on a write (outside MPUSS itself) shows that it
> does.
Hmm well it should be just MT_DEVICE for anything Linux ioremaps..
Care to verify that from a device driver that does ioremap on it
first?
> I've tried to read arch/arm/mm/mmu.c to find out why, but so far I'm
> feeling hopelessly lost there... (the multitude of ARM architecture
> versions/flavors supported aren't helping.)
Heh yeah too much hardware churn going on :)
Regards,
Tony
next prev parent reply other threads:[~2015-06-01 20:52 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-06 21:36 3.13-rc3 (commit 7ce93f3) breaks Nokia N900 DT boot Sebastian Reichel
2013-12-06 22:27 ` Tony Lindgren
2013-12-07 0:00 ` Sebastian Reichel
2013-12-07 0:38 ` Tony Lindgren
2013-12-07 8:18 ` Pali Rohár
2013-12-07 13:48 ` Sebastian Reichel
2013-12-07 13:57 ` Pali Rohár
2013-12-07 16:51 ` Tony Lindgren
2013-12-07 17:53 ` Tony Lindgren
2013-12-07 18:49 ` runtime check for omap-aes bus access permission (was: Re: 3.13-rc3 (commit 7ce93f3) breaks Nokia N900 DT boot) Sebastian Reichel
2013-12-07 21:11 ` Tony Lindgren
2013-12-07 23:03 ` Sebastian Reichel
2013-12-07 23:22 ` Tony Lindgren
2014-09-08 23:45 ` Pali Rohár
2014-11-25 21:08 ` Pali Rohár
2014-11-25 21:31 ` Pali Rohár
2014-11-26 17:54 ` Tony Lindgren
2015-01-17 9:18 ` Pali Rohár
2015-01-17 17:04 ` Tony Lindgren
2015-01-17 17:29 ` Pali Rohár
2015-01-17 17:41 ` Tony Lindgren
2015-01-31 11:34 ` Pali Rohár
2015-01-31 15:13 ` Matthijs van Duin
2015-01-31 19:06 ` Pali Rohár
2015-02-11 12:39 ` Pali Rohár
2015-02-11 15:22 ` Matthijs van Duin
2015-02-11 20:28 ` Pali Rohár
2015-02-11 20:33 ` Tony Lindgren
2015-02-11 20:40 ` Nishanth Menon
2015-02-11 20:40 ` Nishanth Menon
2015-02-18 21:14 ` Pali Rohár
2015-02-18 21:14 ` Pali Rohár
2015-05-28 7:37 ` Pali Rohár
2015-05-28 7:37 ` Pali Rohár
2015-05-28 7:37 ` Pali Rohár
2015-05-28 16:01 ` Tony Lindgren
2015-05-28 16:01 ` Tony Lindgren
2015-05-28 16:01 ` Tony Lindgren
2015-05-28 20:26 ` Matthijs van Duin
2015-05-28 20:26 ` Matthijs van Duin
2015-05-28 22:24 ` Tony Lindgren
2015-05-28 22:24 ` Tony Lindgren
2015-05-28 22:27 ` Pali Rohár
2015-05-28 22:27 ` Pali Rohár
2015-05-29 0:15 ` Tony Lindgren
2015-05-29 0:15 ` Tony Lindgren
2015-05-29 0:15 ` Tony Lindgren
2015-05-29 0:58 ` Matthijs van Duin
2015-05-29 0:58 ` Matthijs van Duin
2015-05-29 1:35 ` Matthijs van Duin
2015-05-29 1:35 ` Matthijs van Duin
2015-05-29 15:50 ` Tony Lindgren
2015-05-29 15:50 ` Tony Lindgren
2015-05-29 18:16 ` Tony Lindgren
2015-05-29 18:16 ` Tony Lindgren
2015-05-30 15:22 ` Matthijs van Duin
2015-05-30 15:22 ` Matthijs van Duin
2015-06-01 17:58 ` Tony Lindgren
2015-06-01 17:58 ` Tony Lindgren
2015-06-01 20:32 ` Matthijs van Duin
2015-06-01 20:32 ` Matthijs van Duin
2015-06-01 20:52 ` Tony Lindgren [this message]
2015-06-01 20:52 ` Tony Lindgren
2015-06-02 4:21 ` Matthijs van Duin
2015-06-02 4:21 ` Matthijs van Duin
2015-02-19 18:20 ` Pali Rohár
2015-02-19 18:20 ` Pali Rohár
2015-02-19 20:25 ` Matthijs van Duin
2015-02-19 20:25 ` Matthijs van Duin
2015-02-19 21:10 ` Aaro Koskinen
2015-02-19 21:10 ` Aaro Koskinen
2015-01-24 10:40 ` Pali Rohár
2015-01-31 14:38 ` Matthijs van Duin
2015-01-31 19:09 ` Pali Rohár
2015-02-01 1:36 ` Matthijs van Duin
2015-02-01 8:56 ` Pali Rohár
2015-02-11 20:43 ` Pavel Machek
2015-02-11 21:14 ` Pali Rohár
2015-02-09 11:55 ` 3.13-rc3 (commit 7ce93f3) breaks Nokia N900 DT boot Pali Rohár
2013-12-08 14:13 ` Aaro Koskinen
2013-12-08 16:40 ` Tony Lindgren
2013-12-08 17:10 ` Sebastian Reichel
2013-12-08 17:43 ` Tony Lindgren
2013-12-08 17:59 ` Aaro Koskinen
2013-12-08 18:09 ` Sebastian Reichel
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=20150601205217.GD30984@atomide.com \
--to=tony@atomide.com \
--cc=aaro.koskinen@iki.fi \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=matthijsvanduin@gmail.com \
--cc=nm@ti.com \
--cc=pali.rohar@gmail.com \
--cc=pavel@ucw.cz \
--cc=sre@ring0.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.