[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] early, early ioremap



> Because of some braindead hardware engineers, we need to map in some
> high memory areas just to find out how much memory we have, and where it
> is. (the e820 table doesn't cut it on this hardware)
> 
> I can't think of a good name for this.  It's earlier than bt_ioremap()
> and super_mega_bt_ioremap() doesn't have much of a ring to it.
> 
> This is only intended for remapping while the boot-time pagetables are
> still in use.  It was a pain to get the 2-level pgtable.h functions, so
> I just undef'd CONFIG_X86_PAE for my file.  It looks awfully hackish,
> but it works well.
> 
> Some of my colleagues prefer to steal ptes from some random source, then
> replace them when the remapping is done, but I don't really like this
> approach.  I prefer to know exactly where I'm stealing them from, which
> is where boot_ioremap_area[] comes in.

OK, rather than "some random source", how about we designate the window
from 7Mb - 8Mb as the early vmalloc space (akin to __VMALLOC_RESERVE),
and use that for early kmap / set_fixmap / whatever. I think that's
better than the array allocated from kernel data segment.

Either a per-page bitmap of used areas, a fixmap-type array, or simply
making the user keep track of it would be fine ...

Opinions?

M.

--
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-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>