xref: /linux/arch/powerpc/include/asm/vdso/arch_data.h (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
1*223970dfSThomas Weißschuh /* SPDX-License-Identifier: GPL-2.0 */
2*223970dfSThomas Weißschuh /*
3*223970dfSThomas Weißschuh  * Copyright (C) 2002 Peter Bergner <bergner@vnet.ibm.com>, IBM
4*223970dfSThomas Weißschuh  * Copyright (C) 2005 Benjamin Herrenschmidy <benh@kernel.crashing.org>,
5*223970dfSThomas Weißschuh  * 		      IBM Corp.
6*223970dfSThomas Weißschuh  */
7*223970dfSThomas Weißschuh #ifndef _ASM_POWERPC_VDSO_ARCH_DATA_H
8*223970dfSThomas Weißschuh #define _ASM_POWERPC_VDSO_ARCH_DATA_H
9*223970dfSThomas Weißschuh 
10*223970dfSThomas Weißschuh #include <linux/unistd.h>
11*223970dfSThomas Weißschuh #include <linux/types.h>
12*223970dfSThomas Weißschuh 
13*223970dfSThomas Weißschuh #define SYSCALL_MAP_SIZE      ((NR_syscalls + 31) / 32)
14*223970dfSThomas Weißschuh 
15*223970dfSThomas Weißschuh #ifdef CONFIG_PPC64
16*223970dfSThomas Weißschuh 
17*223970dfSThomas Weißschuh struct vdso_arch_data {
18*223970dfSThomas Weißschuh 	__u64 tb_ticks_per_sec;			/* Timebase tics / sec */
19*223970dfSThomas Weißschuh 	__u32 dcache_block_size;		/* L1 d-cache block size     */
20*223970dfSThomas Weißschuh 	__u32 icache_block_size;		/* L1 i-cache block size     */
21*223970dfSThomas Weißschuh 	__u32 dcache_log_block_size;		/* L1 d-cache log block size */
22*223970dfSThomas Weißschuh 	__u32 icache_log_block_size;		/* L1 i-cache log block size */
23*223970dfSThomas Weißschuh 	__u32 syscall_map[SYSCALL_MAP_SIZE];	/* Map of syscalls  */
24*223970dfSThomas Weißschuh 	__u32 compat_syscall_map[SYSCALL_MAP_SIZE];	/* Map of compat syscalls */
25*223970dfSThomas Weißschuh };
26*223970dfSThomas Weißschuh 
27*223970dfSThomas Weißschuh #else /* CONFIG_PPC64 */
28*223970dfSThomas Weißschuh 
29*223970dfSThomas Weißschuh struct vdso_arch_data {
30*223970dfSThomas Weißschuh 	__u64 tb_ticks_per_sec;		/* Timebase tics / sec */
31*223970dfSThomas Weißschuh 	__u32 syscall_map[SYSCALL_MAP_SIZE]; /* Map of syscalls */
32*223970dfSThomas Weißschuh 	__u32 compat_syscall_map[0];	/* No compat syscalls on PPC32 */
33*223970dfSThomas Weißschuh };
34*223970dfSThomas Weißschuh 
35*223970dfSThomas Weißschuh #endif /* CONFIG_PPC64 */
36*223970dfSThomas Weißschuh 
37*223970dfSThomas Weißschuh #endif /* _ASM_POWERPC_VDSO_ARCH_DATA_H */
38