|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] x86-64's contig_initmem_init
On 30 Aug 2005, at 14:53, Jan Beulich wrote:
Hmm, interesting. If that change was done along with the one to
contig_initmem_init, it would have saved me well over a day of
debugging...
It needed to be debugged here too. I can't foresee all bugs
unfortunately. :-)
Anyway, I can't see where the respective freeing is done on i386, and I
still can't see how the tail part of the initial mapping is being made
use of on either 32- or 64bits.
For i386, it is freed to the bootmem allocator in
register_bootmem_low_pages(), which walks a fake e820 table that is
created by machine_specific_memory_setup() in
include/asm-xen/asm-i386/mach-xen/setup_arch_post.h.
The tail part of the initial mapping has no special handling on i386
nor on x86_64. It just gets freed up when we free from 0 up to max_pfn,
and it never gets reserved (the reserved region precisely covers kernel
text/data and initial page tables).
Actually, that could be another bug on x86/64 -- I may need to truncate
the initial mapping, or we may be ending up with spurious extra
writable mappings to some pages... I'll take a look and see if this is
the case.
-- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|