public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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: <3A6D5D28.C132D416@sangate.com> <20010123165117Z131182-221+34@kanga.kvack.org>  <20010123165117Z131182-221+34@kanga.kvack.org> ; from ttabi@interactivesi.com on Tue, Jan 23, 2001 at 10:53:51AM -0600 <20010125155345Z131181-221+38@kanga.kvack.org>  <20010125165001Z132264-460+11@vger.kernel.org> <E14LpvQ-0008Pw-00@mail.valinux.com> <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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

  reply	other threads:[~2001-01-25 18:14 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-23 10:30 ioremap_nocache problem? Mark Mokryn
2001-01-23 16:53 ` Timur Tabi
2001-01-23 18:12 ` Roman Zippel
2001-01-24  0:50   ` 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
2001-01-23 18:38 ` Timur Tabi
2001-01-24  1:01   ` David Wragg
     [not found] ` <20010123165117Z131182-221+34@kanga.kvack.org>
2001-01-25 15:16   ` Stephen C. Tweedie
     [not found]     ` <200101251556.f0PFuPd01743@mail.redhat.com>
2001-01-26 10:37       ` Stephen C. Tweedie
2001-01-25 15:56   ` Timur Tabi
     [not found]   ` <20010125155345Z131181-221+38@kanga.kvack.org>
2001-01-25 16:44     ` Roman Zippel
     [not found]       ` <20010125164707Z131181-222+39@kanga.kvack.org>
2001-01-26 10:39         ` Stephen C. Tweedie
2001-01-25 16:49     ` Timur Tabi
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
     [not found]           ` <20010125175027Z131219-222+40@kanga.kvack.org>
2001-01-26 10:43             ` Stephen C. Tweedie
2001-01-25 17:53         ` Timur Tabi
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

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