From: "Randy.Dunlap" <rddunlap@osdl.org>
To: Keir Fraser <Keir.Fraser@cl.cam.ac.uk>
Cc: linux-kernel@vger.kernel.org, akpm@osdl.org, riel@redhat.com,
kurt@garloff.de, Ian.Pratt@cl.cam.ac.uk,
Christian.Limpach@cl.cam.ac.uk
Subject: Re: [PATCH] Xen/i386 cleanups - io_remap_pfn_range
Date: Wed, 16 Mar 2005 20:41:09 -0800 [thread overview]
Message-ID: <42390A65.7090501@osdl.org> (raw)
In-Reply-To: <E1DBX27-0000te-00@mta1.cl.cam.ac.uk>
Keir Fraser wrote:
> This patch introduces a new interface function for mapping bus/device
> memory: io_remap_pfn_range. This accepts the same parameters as
> remap_pfn_range (indeed, by default it is implemented by this existing
> function) but should be used in any situation where the caller is not
> simply remapping ordinary RAM. For example, when mapping device
> registers the new function should be used.
>
> The distinction between remapping device memory and ordinary RAM is
> critical for the Xen hypervisor. This may also serve as a starting
> point for cleaning up remaining users of io_remap_page_range (in
> particular, the several sparc-specific sections in various drivers
> that use a special form of io_remap_page_range).
>
> I have audited the drivers/ and sound/ directories. Most uses of
> remap_pfn_range are okay, but there are a small handful that are
> remapping device memory (mostly AGP and DRM drivers).
>
> Of particular driver is the HPET driver, whose mmap function is broken
> even for native (non-Xen) builds. If nothing else, vmalloc_to_phys
> should be used instead of __pa to convert an ioremapped virtual
> address to a valid physical address. The fix in this patch is to
> remember the original bus address as probed at boot time and to pass
> this to io_remap_pfn_range.
>
> Signed-off-by: Keir Fraser <keir@xensource.com>
Hi-
Our io_remap_pfn_range() patches don't contain many collisions.
My first patch [adding io_remap_pfn_range() to all arches]
<http://marc.theaimsgroup.com/?l=linux-mm&m=111049473410099&w=2>
does go a little further than yours in that regard.
Also, I was under the impression (only, so this is a question)
that this type of construct (from your patch):
+#ifndef io_remap_pfn_range
+#define io_remap_pfn_range remap_pfn_range
+#endif
only works for #defines (macros), while in some arches
io_remap_page_range() (and presumably io_remap_pfn_range)
is a function [sparc32/64] or inline function [mips].
My first patch referenced a future patch to convert
all callers of io_remap_page_range() to io_remap_pfn_range(),
which I have now done and built succesfully on 8 arches.
I'll post it now.
--
~Randy
next prev parent reply other threads:[~2005-03-17 4:41 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-16 11:49 [PATCH] Xen/i386 cleanups - io_remap_pfn_range Keir Fraser
2005-03-16 16:48 ` Randy.Dunlap
2005-03-17 4:41 ` Randy.Dunlap [this message]
2005-03-17 9:00 ` Keir Fraser
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=42390A65.7090501@osdl.org \
--to=rddunlap@osdl.org \
--cc=Christian.Limpach@cl.cam.ac.uk \
--cc=Ian.Pratt@cl.cam.ac.uk \
--cc=Keir.Fraser@cl.cam.ac.uk \
--cc=akpm@osdl.org \
--cc=kurt@garloff.de \
--cc=linux-kernel@vger.kernel.org \
--cc=riel@redhat.com \
/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.