The attached contains cleanups and bug fixes to
linux-2.6.11-xen-sparse/arch/xen/x86_64/mm/init.c when allocating pages
for direct mapping. Basically it exends the initial translation done by
Xen to map more memory pages required for the page tables that provides
direct mapping (i.e. 1:1 mapping from virtual to physical memory), and
it also ensures that they be not used for other translation.