.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-or-later */ |
---|
1 | 2 | #ifndef _VDSO_DATAPAGE_H |
---|
2 | 3 | #define _VDSO_DATAPAGE_H |
---|
3 | 4 | #ifdef __KERNEL__ |
---|
.. | .. |
---|
6 | 7 | * Copyright (C) 2002 Peter Bergner <bergner@vnet.ibm.com>, IBM |
---|
7 | 8 | * Copyright (C) 2005 Benjamin Herrenschmidy <benh@kernel.crashing.org>, |
---|
8 | 9 | * IBM Corp. |
---|
9 | | - * |
---|
10 | | - * This program is free software; you can redistribute it and/or |
---|
11 | | - * modify it under the terms of the GNU General Public License |
---|
12 | | - * as published by the Free Software Foundation; either version |
---|
13 | | - * 2 of the License, or (at your option) any later version. |
---|
14 | 10 | */ |
---|
15 | 11 | |
---|
16 | 12 | |
---|
.. | .. |
---|
85 | 81 | __u32 stamp_sec_fraction; /* fractional seconds of stamp_xtime */ |
---|
86 | 82 | __s32 wtom_clock_nsec; /* Wall to monotonic clock nsec */ |
---|
87 | 83 | __s64 wtom_clock_sec; /* Wall to monotonic clock sec */ |
---|
88 | | - struct timespec stamp_xtime; /* xtime as at tb_orig_stamp */ |
---|
| 84 | + __s64 stamp_xtime_sec; /* xtime secs as at tb_orig_stamp */ |
---|
| 85 | + __s64 stamp_xtime_nsec; /* xtime nsecs as at tb_orig_stamp */ |
---|
89 | 86 | __u32 hrtimer_res; /* hrtimer resolution */ |
---|
90 | 87 | __u32 syscall_map_64[SYSCALL_MAP_SIZE]; /* map of syscalls */ |
---|
91 | 88 | __u32 syscall_map_32[SYSCALL_MAP_SIZE]; /* map of syscalls */ |
---|
.. | .. |
---|
106 | 103 | __u32 tz_dsttime; /* Type of dst correction 0x5C */ |
---|
107 | 104 | __s32 wtom_clock_sec; /* Wall to monotonic clock */ |
---|
108 | 105 | __s32 wtom_clock_nsec; |
---|
109 | | - struct timespec stamp_xtime; /* xtime as at tb_orig_stamp */ |
---|
| 106 | + __s32 stamp_xtime_sec; /* xtime seconds as at tb_orig_stamp */ |
---|
| 107 | + __s32 stamp_xtime_nsec; /* xtime nsecs as at tb_orig_stamp */ |
---|
110 | 108 | __u32 stamp_sec_fraction; /* fractional seconds of stamp_xtime */ |
---|
111 | 109 | __u32 hrtimer_res; /* hrtimer resolution */ |
---|
112 | 110 | __u32 syscall_map_32[SYSCALL_MAP_SIZE]; /* map of syscalls */ |
---|
113 | | - __u32 dcache_block_size; /* L1 d-cache block size */ |
---|
114 | | - __u32 icache_block_size; /* L1 i-cache block size */ |
---|
115 | | - __u32 dcache_log_block_size; /* L1 d-cache log block size */ |
---|
116 | | - __u32 icache_log_block_size; /* L1 i-cache log block size */ |
---|
117 | 111 | }; |
---|
118 | 112 | |
---|
119 | 113 | #endif /* CONFIG_PPC64 */ |
---|
120 | 114 | |
---|
121 | 115 | extern struct vdso_data *vdso_data; |
---|
122 | 116 | |
---|
| 117 | +#else /* __ASSEMBLY__ */ |
---|
| 118 | + |
---|
| 119 | +.macro get_datapage ptr, tmp |
---|
| 120 | + bcl 20, 31, .+4 |
---|
| 121 | + mflr \ptr |
---|
| 122 | + addi \ptr, \ptr, (__kernel_datapage_offset - (.-4))@l |
---|
| 123 | + lwz \tmp, 0(\ptr) |
---|
| 124 | + add \ptr, \tmp, \ptr |
---|
| 125 | +.endm |
---|
| 126 | + |
---|
123 | 127 | #endif /* __ASSEMBLY__ */ |
---|
124 | 128 | |
---|
125 | 129 | #endif /* __KERNEL__ */ |
---|