From: l.stach@pengutronix.de (Lucas Stach)
To: linux-arm-kernel@lists.infradead.org
Subject: arm64 ioremap question
Date: Tue, 15 Oct 2013 18:14:12 +0200 [thread overview]
Message-ID: <1381853652.4093.10.camel@weser.hi.pengutronix.de> (raw)
In-Reply-To: <20131015155216.GD25034@n2100.arm.linux.org.uk>
Am Dienstag, den 15.10.2013, 16:52 +0100 schrieb Russell King - ARM
Linux:
> On Tue, Oct 15, 2013 at 11:20:04AM -0400, Mark Salter wrote:
> > ioremap() has a test to prevent RAM from being remapped:
> >
> > /*
> > * Don't allow RAM to be mapped.
> > */
> > if (WARN_ON(pfn_valid(__phys_to_pfn(phys_addr))))
> > return NULL;
> >
> >
> > Is this really necessary even for reserved pages which are not being
> > used for anything else?
>
> It helps to stop the abuse of using ioremap() on normal memory, which has
> happened soo much in Aarch32 for years. Unfortuantely, bad habbits die
> hard.
>
> "Reserved pages not being used for anything else" are still mapped, and
> still subject to speculative fetches.
Only slightly related to the issue here, but I'm really wondering if the
speculative fill can happen on real implementations.
I'm well aware that there is nothing in the arch preventing a
speculative fill on a cached alias, but at least for the A9
implementation the ARM infocenter claims that the prefetcher will not
cross a 4KB boundary [1].
So as long as we are talking about full pages, having a conflicting
mapping should not cause any issues as long as you don't touch the
memory region explicitly through the cached mapping.
I know that we generally aim to avoid basing any kernel infrastructure
on such vague guarantees, but I'm really wondering if my analysis is
correct or is there anything I'm overlooking here?
Regards,
Lucas
[1]
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0388i/CBBIAAAA.html
--
Pengutronix e.K. | Lucas Stach |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-5076 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
next prev parent reply other threads:[~2013-10-15 16:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-15 15:20 arm64 ioremap question Mark Salter
2013-10-15 15:52 ` Russell King - ARM Linux
2013-10-15 15:55 ` Catalin Marinas
2013-10-15 16:14 ` Lucas Stach [this message]
2013-10-15 16:53 ` Russell King - ARM Linux
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=1381853652.4093.10.camel@weser.hi.pengutronix.de \
--to=l.stach@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
/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;
as well as URLs for NNTP newsgroup(s).