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

[Xen-devel] page tables location



A few simple questions:

1. page tables: Could please someone lighten me up on where the page tables tree physically resides on a 64 bits machine? Are they contiguous and are they constrained some address space? which one?
Where (function) are these tables extended, when necessary?

2. alloc_bitmap: the variable alloc_bitmap that contains the flags to check if a page is allocated or not is initialised like this:

...
xenheap_phys_start = init_boot_allocator(_pa(&_end));
...

unsigned long init_boot_allocator(unsigned long bitmap_start)
{
 bitmap_start = round_pgup(bitmap_start);

 /* Allocate space for the allocation bitmap. */
 bitmap_size = max_page / 8;
 bitmap_size = round_pgup(bitmap_size);
 alloc_bitmap = (unsigned long *)phys_to_virt(bitmap_start);
 /* All allocated by default. */
 memset(alloc_bitmap, ~0, bitmap_size);
 return bitmap_start + bitmap_size;
}

so, alloc_bitmap is apparently put somewhere in virtual memory (a little after 0xFFFF830000100000 according to xen.lds.S). However, it seems that its 36K are physically allocated between 0x00000000004b0000 and 0x00000000004b9000. This is a reserved mem area, so how is alloc_bitmap placed at this
location?

3. Is there any physical memory map, explaining what objects are located in low mem at fixed addresses?
something that refines the one printed at boot time.

thanks
Armand






_______________________________________________
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®.