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