Re: Cache incoherencies [example code]

Benjamin Herrenschmidt (bh40@calva.net)
Mon, 30 Aug 1999 14:05:35 +0200


I have implemeted vmalloc_uncached, using Russel example, and defining
PAGE_UNCACHED to be

#define PAGE_UNCACHED __pgprot(_L_PTE_DEFAULT | L_PTE_DIRTY | L_PTE_WRITE)

However, this doesn't work. I have done several tests, and it appears
that when I use memory from vmalloc in general instead of kmalloc, the
datas are not correctly read by the chip, so I beleive this is because
virt_to_bus doesn't work with vmalloc addresses, am I wrong ?

So how can I get uncachable memory _and_ get the physical address ? I
don't care about pages not beeing contiguous since I page is really
plenty enough for what I need. I beleive I'll have to somewhat walk the
page tables... I don't really like this and I would need some quick
explanation about how to acheive this.

Any clues ?

Thanks in advance,

Benjamin.

-- 
           Perso. e-mail: <mailto:bh40@calva.net>
           Work   e-mail: <mailto:benh@mipsys.com>
BenH.      Web   : <http://calvaweb.calvacom.fr/bh40/>

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/