diff options
author | john stultz <johnstul@us.ibm.com> | 2007-02-16 04:28:21 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-16 11:14:00 -0500 |
commit | 7460ed2844ffad7141e30271c0c3da8336e66014 (patch) | |
tree | 4ae7f2ebf09b59f214d243d0f886fb2c4e7915e8 /arch/x86_64/kernel/vmlinux.lds.S | |
parent | 1489939f0ab64b96998e04068c516c39afe29654 (diff) |
[PATCH] time: x86_64: re-enable vsyscall support for x86_64
Cleanup and re-enable vsyscall gettimeofday using the generic clocksource
infrastructure.
[akpm@osdl.org: cleanup]
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Andi Kleen <ak@muc.de>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86_64/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/x86_64/kernel/vmlinux.lds.S | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S index c360c4225244..b73212c0a550 100644 --- a/arch/x86_64/kernel/vmlinux.lds.S +++ b/arch/x86_64/kernel/vmlinux.lds.S | |||
@@ -88,31 +88,25 @@ SECTIONS | |||
88 | __vsyscall_0 = VSYSCALL_VIRT_ADDR; | 88 | __vsyscall_0 = VSYSCALL_VIRT_ADDR; |
89 | 89 | ||
90 | . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); | 90 | . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); |
91 | .xtime_lock : AT(VLOAD(.xtime_lock)) { *(.xtime_lock) } | 91 | .vsyscall_fn : AT(VLOAD(.vsyscall_fn)) { *(.vsyscall_fn) } |
92 | xtime_lock = VVIRT(.xtime_lock); | 92 | . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); |
93 | 93 | .vsyscall_gtod_data : AT(VLOAD(.vsyscall_gtod_data)) | |
94 | .vxtime : AT(VLOAD(.vxtime)) { *(.vxtime) } | 94 | { *(.vsyscall_gtod_data) } |
95 | vxtime = VVIRT(.vxtime); | 95 | vsyscall_gtod_data = VVIRT(.vsyscall_gtod_data); |
96 | 96 | ||
97 | .vgetcpu_mode : AT(VLOAD(.vgetcpu_mode)) { *(.vgetcpu_mode) } | 97 | .vgetcpu_mode : AT(VLOAD(.vgetcpu_mode)) { *(.vgetcpu_mode) } |
98 | vgetcpu_mode = VVIRT(.vgetcpu_mode); | 98 | vgetcpu_mode = VVIRT(.vgetcpu_mode); |
99 | 99 | ||
100 | .sys_tz : AT(VLOAD(.sys_tz)) { *(.sys_tz) } | ||
101 | sys_tz = VVIRT(.sys_tz); | ||
102 | |||
103 | .sysctl_vsyscall : AT(VLOAD(.sysctl_vsyscall)) { *(.sysctl_vsyscall) } | ||
104 | sysctl_vsyscall = VVIRT(.sysctl_vsyscall); | ||
105 | |||
106 | .xtime : AT(VLOAD(.xtime)) { *(.xtime) } | ||
107 | xtime = VVIRT(.xtime); | ||
108 | |||
109 | . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); | 100 | . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); |
110 | .jiffies : AT(VLOAD(.jiffies)) { *(.jiffies) } | 101 | .jiffies : AT(VLOAD(.jiffies)) { *(.jiffies) } |
111 | jiffies = VVIRT(.jiffies); | 102 | jiffies = VVIRT(.jiffies); |
112 | 103 | ||
113 | .vsyscall_1 ADDR(.vsyscall_0) + 1024: AT(VLOAD(.vsyscall_1)) { *(.vsyscall_1) } | 104 | .vsyscall_1 ADDR(.vsyscall_0) + 1024: AT(VLOAD(.vsyscall_1)) |
114 | .vsyscall_2 ADDR(.vsyscall_0) + 2048: AT(VLOAD(.vsyscall_2)) { *(.vsyscall_2) } | 105 | { *(.vsyscall_1) } |
115 | .vsyscall_3 ADDR(.vsyscall_0) + 3072: AT(VLOAD(.vsyscall_3)) { *(.vsyscall_3) } | 106 | .vsyscall_2 ADDR(.vsyscall_0) + 2048: AT(VLOAD(.vsyscall_2)) |
107 | { *(.vsyscall_2) } | ||
108 | .vsyscall_3 ADDR(.vsyscall_0) + 3072: AT(VLOAD(.vsyscall_3)) | ||
109 | { *(.vsyscall_3) } | ||
116 | 110 | ||
117 | . = VSYSCALL_VIRT_ADDR + 4096; | 111 | . = VSYSCALL_VIRT_ADDR + 4096; |
118 | 112 | ||