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

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.