** Reply to message from Alan Cox <[EMAIL PROTECTED]> 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 - [EMAIL PROTECTED]
Interactive Silicon - http://www.interactivesi.com

When 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 [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to