Chris Wright wrote: > Move the definition of __FIXADDR_TOP into a subarch include file so > that it can be overridden for subarch xen -- the hypervisor needs > about 64MB at the top of the address space. > I think this is more generally useful if it's actually a CONFIG option (as it was in the VMI patches) instead of subarch specific. Qemu has had a "fast" patch for a while that pretty much just increases the size of the memory hole and changes ___PAGE_OFFSET to be lower in memory. There are a number of interesting things one can do once there's an adequately sized hole too (assuming you're doing full-virtualization). Regards, Anthony Liguori > Signed-off-by: Ian Pratt <ian.pratt@xxxxxxxxxxxxx> > Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx> > Signed-off-by: Chris Wright <chrisw@xxxxxxxxxxxx> > --- > include/asm-i386/fixmap.h | 8 +------- > include/asm-i386/mach-default/mach_fixmap.h | 11 +++++++++++ > include/asm-i386/mach-xen/mach_fixmap.h | 11 +++++++++++ > 3 files changed, 23 insertions(+), 7 deletions(-) > > --- xen-subarch-2.6.orig/include/asm-i386/fixmap.h > +++ xen-subarch-2.6/include/asm-i386/fixmap.h > @@ -14,13 +14,7 @@ > #define _ASM_FIXMAP_H > > #include <linux/config.h> > - > -/* used by vmalloc.c, vsyscall.lds.S. > - * > - * Leave one empty page between vmalloc'ed areas and > - * the start of the fixmap. > - */ > -#define __FIXADDR_TOP 0xfffff000 > +#include <mach_fixmap.h> > > #ifndef __ASSEMBLY__ > #include <linux/kernel.h> > --- /dev/null > +++ xen-subarch-2.6/include/asm-i386/mach-default/mach_fixmap.h > @@ -0,0 +1,11 @@ > +#ifndef __ASM_MACH_FIXMAP_H > +#define __ASM_MACH_FIXMAP_H > + > +/* used by vmalloc.c, vsyscall.lds.S. > + * > + * Leave one empty page between vmalloc'ed areas and > + * the start of the fixmap. > + */ > +#define __FIXADDR_TOP 0xfffff000 > + > +#endif /* __ASM_MACH_FIXMAP_H */ > --- /dev/null > +++ xen-subarch-2.6/include/asm-i386/mach-xen/mach_fixmap.h > @@ -0,0 +1,11 @@ > +#ifndef __ASM_MACH_FIXMAP_H > +#define __ASM_MACH_FIXMAP_H > + > +/* used by vmalloc.c, vsyscall.lds.S. > + * > + * Leave one empty page between vmalloc'ed areas and > + * the start of the fixmap. > + */ > +#define __FIXADDR_TOP (HYPERVISOR_VIRT_START - 2 * PAGE_SIZE) > + > +#endif /* __ASM_MACH_FIXMAP_H */ > > -- > > ------------------------------------------------------------------------ > > _______________________________________________ > Virtualization mailing list > Virtualization@xxxxxxxxxxxxxx > https://lists.osdl.org/mailman/listinfo/virtualization >