** Reply to message from Alan Cox <alan@lxorguk.ukuu.org.uk> on Mon, 2 Oct 2000
17:18:59 +0100 (BST)
> > Anyway, my original question has not yet been answered: why is it that I can
> > ioremap() any physical page by simply setting one bit, but I cannot always
> > iounmap() it? Why can't iounmap() simply undo what ioremap() did?
>
> The fact you can doesn't mean you should. You need to be sole owner of that
> page before you can fiddle with the reserved bit. You were not sole owner
Ok, is there a way around this? After all, mapping a page I don't own doesn't
really mean anything in the kernel, because all pages, whether or not I own
them, are already mapped! phys_to_virt works on any physical address. What I
want to do is use iounmap_nocache() to access the memory in an uncached manner,
and that's what I do.
Would it be possible to reassign the ioremap()'d memory to some other physical
page that I _do_ own, and then call iounmap? I have no problem doing all of
this stuff in Windows 2000, so I'm surprised that it's so difficult in Linux.
-- Timur Tabi - ttabi@interactivesi.com Interactive Silicon - http://www.interactivesi.comWhen replying to a mailing-list message, please don't cc: me, because then I'll just get two copies of the same message. - 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/
This archive was generated by hypermail 2b29 : Sat Oct 07 2000 - 21:00:10 EST