diff options
author | Andy Lutomirski <luto@amacapital.net> | 2014-05-05 15:19:36 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2014-05-05 16:19:01 -0400 |
commit | f40c330091c7aa9956ab66f97a3abc8a68b67240 (patch) | |
tree | b0c03dce9bf67eb15c98980a7323ca35122d10df /arch/x86/include/asm/fixmap.h | |
parent | 18d0a6fd227177fd243993179c90e454d0638b06 (diff) |
x86, vdso: Move the vvar and hpet mappings next to the 64-bit vDSO
This makes the 64-bit and x32 vdsos use the same mechanism as the
32-bit vdso. Most of the churn is deleting all the old fixmap code.
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Link: http://lkml.kernel.org/r/8af87023f57f6bb96ec8d17fce3f88018195b49b.1399317206.git.luto@amacapital.net
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/include/asm/fixmap.h')
-rw-r--r-- | arch/x86/include/asm/fixmap.h | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/arch/x86/include/asm/fixmap.h b/arch/x86/include/asm/fixmap.h index 43f482a0db37..b0910f97a3ea 100644 --- a/arch/x86/include/asm/fixmap.h +++ b/arch/x86/include/asm/fixmap.h | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <linux/threads.h> | 24 | #include <linux/threads.h> |
25 | #include <asm/kmap_types.h> | 25 | #include <asm/kmap_types.h> |
26 | #else | 26 | #else |
27 | #include <asm/vsyscall.h> | 27 | #include <uapi/asm/vsyscall.h> |
28 | #endif | 28 | #endif |
29 | 29 | ||
30 | /* | 30 | /* |
@@ -41,7 +41,8 @@ | |||
41 | extern unsigned long __FIXADDR_TOP; | 41 | extern unsigned long __FIXADDR_TOP; |
42 | #define FIXADDR_TOP ((unsigned long)__FIXADDR_TOP) | 42 | #define FIXADDR_TOP ((unsigned long)__FIXADDR_TOP) |
43 | #else | 43 | #else |
44 | #define FIXADDR_TOP (VSYSCALL_END-PAGE_SIZE) | 44 | #define FIXADDR_TOP (round_up(VSYSCALL_ADDR + PAGE_SIZE, 1<<PMD_SHIFT) - \ |
45 | PAGE_SIZE) | ||
45 | #endif | 46 | #endif |
46 | 47 | ||
47 | 48 | ||
@@ -68,11 +69,7 @@ enum fixed_addresses { | |||
68 | #ifdef CONFIG_X86_32 | 69 | #ifdef CONFIG_X86_32 |
69 | FIX_HOLE, | 70 | FIX_HOLE, |
70 | #else | 71 | #else |
71 | VSYSCALL_LAST_PAGE, | 72 | VSYSCALL_PAGE = (FIXADDR_TOP - VSYSCALL_ADDR) >> PAGE_SHIFT, |
72 | VSYSCALL_FIRST_PAGE = VSYSCALL_LAST_PAGE | ||
73 | + ((VSYSCALL_END-VSYSCALL_START) >> PAGE_SHIFT) - 1, | ||
74 | VVAR_PAGE, | ||
75 | VSYSCALL_HPET, | ||
76 | #ifdef CONFIG_PARAVIRT_CLOCK | 73 | #ifdef CONFIG_PARAVIRT_CLOCK |
77 | PVCLOCK_FIXMAP_BEGIN, | 74 | PVCLOCK_FIXMAP_BEGIN, |
78 | PVCLOCK_FIXMAP_END = PVCLOCK_FIXMAP_BEGIN+PVCLOCK_VSYSCALL_NR_PAGES-1, | 75 | PVCLOCK_FIXMAP_END = PVCLOCK_FIXMAP_BEGIN+PVCLOCK_VSYSCALL_NR_PAGES-1, |