X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-i386%2Fmach-xen%2Fasm%2Ffixmap.h;h=8acc86c64ca88c2d83cf462f582d75ef0898d64d;hb=refs%2Fheads%2Fvserver;hp=82a0122d02f0146421df6f1e034431deece44102;hpb=1db395853d4f30d6120458bd279ede1f882a8525;p=linux-2.6.git diff --git a/include/asm-i386/mach-xen/asm/fixmap.h b/include/asm-i386/mach-xen/asm/fixmap.h index 82a0122d0..8acc86c64 100644 --- a/include/asm-i386/mach-xen/asm/fixmap.h +++ b/include/asm-i386/mach-xen/asm/fixmap.h @@ -13,14 +13,19 @@ #ifndef _ASM_FIXMAP_H #define _ASM_FIXMAP_H -#include /* used by vmalloc.c, vsyscall.lds.S. * * Leave one empty page between vmalloc'ed areas and * the start of the fixmap. */ +#ifndef CONFIG_COMPAT_VDSO extern unsigned long __FIXADDR_TOP; +#else +#define __FIXADDR_TOP 0xfffff000 +#define FIXADDR_USER_START __fix_to_virt(FIX_VDSO) +#define FIXADDR_USER_END __fix_to_virt(FIX_VDSO - 1) +#endif #ifndef __ASSEMBLY__ #include @@ -53,7 +58,7 @@ extern unsigned long __FIXADDR_TOP; */ enum fixed_addresses { FIX_HOLE, - FIX_VSYSCALL, + FIX_VDSO, #ifdef CONFIG_X86_LOCAL_APIC FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */ #endif @@ -100,6 +105,7 @@ enum fixed_addresses { extern void __set_fixmap(enum fixed_addresses idx, maddr_t phys, pgprot_t flags); +extern void reserve_top_address(unsigned long reserve); extern void set_fixaddr_top(unsigned long top); #define set_fixmap(idx, phys) \ @@ -123,14 +129,6 @@ extern void set_fixaddr_top(unsigned long top); #define __fix_to_virt(x) (FIXADDR_TOP - ((x) << PAGE_SHIFT)) #define __virt_to_fix(x) ((FIXADDR_TOP - ((x)&PAGE_MASK)) >> PAGE_SHIFT) -/* - * This is the range that is readable by user mode, and things - * acting like user mode such as get_user_pages. - */ -#define FIXADDR_USER_START (__fix_to_virt(FIX_VSYSCALL)) -#define FIXADDR_USER_END (FIXADDR_USER_START + PAGE_SIZE) - - extern void __this_fixmap_does_not_exist(void); /*