Re: [PATCH 5/5] Create a hole in high linear address space

From: Zachary Amsden
Date: Wed Aug 24 2005 - 16:19:09 EST


Chris Wright wrote:

* Zachary Amsden (zach@xxxxxxxxxx) wrote:


Allow compile time creation of a hole at the high end of linear address space.
This makes accomodating a hypervisor a much more tractable problem by giving
it ample playground to live in. Currently, the hole size is fixed at config
time; I have experimented with dynamically sized holes, and have a later
patch that developes this potential, but it becomes much more useful once
the exact negotiation of linear address space with the hypervisor is defined.

The fixed compile time solution is sufficient for now.



Xen moves __FIXADDR_TOP like this:

#ifdef CONFIG_X86_PAE
# define HYPERVISOR_VIRT_START (0xF5800000UL)
#else
# define HYPERVISOR_VIRT_START (0xFC000000UL)
#endif

and

#define __FIXADDR_TOP (HYPERVISOR_VIRT_START - 2 * PAGE_SIZE)

and also adds bits to fixmap.

So this proposed mechanism isn't quite good enough.



Hmm. I was thinking it would be compile time variable with defaults -- like

config MEMORY_HOLE
int "Create hole at top of memory (0-512 MB)"
range 0 512
default "0"
default 168 if (CONFIG_X86_PAE && CONFIG_X86_HYPERVISOR)
default 64 if (!CONFIG_X86_PAE && CONFIG_X86_HYPERVISOR)
help
Useful for creating a hole in the top of memory when running
inside of a virtual machine monitor.

Adding things to the fixmap is a separate concept, thus a separate patch ;)

Zach
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/