From: Jeff Hartmann <jhartmann@valinux.com>
To: Timur Tabi <ttabi@interactivesi.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: ioremap_nocache problem?
Date: Thu, 25 Jan 2001 11:13:35 -0700 [thread overview]
Message-ID: <3A706CCF.8010400@valinux.com> (raw)
In-Reply-To: <20010125175308Z130507-460+45@vger.kernel.org>
Timur Tabi wrote:
> ** Reply to message from Jeff Hartmann <jhartmann@valinux.com> on Thu, 25 Jan
> 2001 10:47:13 -0700
>
>
>
>> As in an MMIO aperture? If its MMIO on the bus you should be able to
>> just call ioremap with the bus address. By nature of it being outside
>> of real ram, it should automatically be uncached (unless you've set an
>> MTRR over that region saying otherwise).
>
>
> It's not outside of real RAM. The device is inside real RAM (it sits on the
> DIMM itself), but I need to poke through the entire 4GB range to see how it
> responds.
>
>
>> Look at the functions agp_generic_free_gatt_table and
>> agp_generic_create_gatt_table in agpgart_be.c (drivers/char/agp). They
>> do the ioremap_nocache on real ram for the GATT/GART table.
>
>
> Unfortunately, the memory they remap is allocated:
>
> table = (char *) __get_free_pages(GFP_KERNEL, page_order);
>
> ...
>
> CACHE_FLUSH();
> agp_bridge.gatt_table = ioremap_nocache(virt_to_phys(table), (PAGE_SIZE * (1 <<
> page_order)));
> CACHE_FLUSH();
>
> I've searched high and low for examples of code that does what I do, and I
> can't find any.
You need to have your driver in the early bootup process then. When
memory is being detected (but before the free lists are created.), you
can set your page as being reserved. Then the kernel will leave it
alone when it creates its free lists. This does mean that this driver
can not be a module and that it must run at least part of itself in the
early bootup process. I don't remember exactly where you need to do
this, you might try looking at arch/i386/mm/init.c (Just an educated guess.)
-Jeff
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
next prev parent reply other threads:[~2001-01-25 18:13 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-01-23 10:30 Mark Mokryn
2001-01-23 16:53 ` Timur Tabi
2001-01-25 15:16 ` Stephen C. Tweedie
2001-01-25 15:56 ` Timur Tabi
2001-01-25 16:44 ` Roman Zippel
2001-01-25 16:49 ` Timur Tabi
2001-01-26 10:39 ` Stephen C. Tweedie
[not found] ` <20010125165001Z132264-460+11@vger.kernel.org>
2001-01-25 17:04 ` Jeff Hartmann
2001-01-25 17:11 ` Timur Tabi
[not found] ` <E14LpvQ-0008Pw-00@mail.valinux.com>
2001-01-25 17:47 ` Jeff Hartmann
2001-01-25 17:53 ` Timur Tabi
2001-01-26 10:43 ` Stephen C. Tweedie
2001-01-26 16:32 ` Eric W. Biederman
2001-01-26 19:22 ` Timur Tabi
[not found] ` <20010125175308Z130507-460+45@vger.kernel.org>
2001-01-25 18:13 ` Jeff Hartmann [this message]
2001-01-25 18:18 ` Timur Tabi
[not found] ` <E14Lqyt-0003z6-00@mail.valinux.com>
2001-01-25 18:46 ` Jeff Hartmann
[not found] ` <200101251556.f0PFuPd01743@mail.redhat.com>
2001-01-26 10:37 ` Stephen C. Tweedie
2001-01-23 18:12 ` Roman Zippel
2001-01-23 18:38 ` Timur Tabi
2001-01-24 0:50 ` David Wragg, David Wragg
2001-01-24 15:14 ` Timur Tabi
[not found] ` <E14LRce-0008FU-00@diver.doc.ic.ac.uk>
2001-01-24 15:39 ` David Wragg
[not found] ` <20010123183847Z131216-18594+636@vger.kernel.org>
2001-01-24 1:01 ` David Wragg
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=3A706CCF.8010400@valinux.com \
--to=jhartmann@valinux.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ttabi@interactivesi.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox