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