hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/include/asm-generic/compat.h
....@@ -1,3 +1,33 @@
11 /* SPDX-License-Identifier: GPL-2.0 */
2
+#ifndef __ASM_GENERIC_COMPAT_H
3
+#define __ASM_GENERIC_COMPAT_H
24
3
-/* This is an empty stub for 32-bit-only architectures */
5
+/* These types are common across all compat ABIs */
6
+typedef u32 compat_size_t;
7
+typedef s32 compat_ssize_t;
8
+typedef s32 compat_clock_t;
9
+typedef s32 compat_pid_t;
10
+typedef u32 compat_ino_t;
11
+typedef s32 compat_off_t;
12
+typedef s64 compat_loff_t;
13
+typedef s32 compat_daddr_t;
14
+typedef s32 compat_timer_t;
15
+typedef s32 compat_key_t;
16
+typedef s16 compat_short_t;
17
+typedef s32 compat_int_t;
18
+typedef s32 compat_long_t;
19
+typedef u16 compat_ushort_t;
20
+typedef u32 compat_uint_t;
21
+typedef u32 compat_ulong_t;
22
+typedef u32 compat_uptr_t;
23
+typedef u32 compat_aio_context_t;
24
+
25
+#ifdef CONFIG_COMPAT_FOR_U64_ALIGNMENT
26
+typedef s64 __attribute__((aligned(4))) compat_s64;
27
+typedef u64 __attribute__((aligned(4))) compat_u64;
28
+#else
29
+typedef s64 compat_s64;
30
+typedef u64 compat_u64;
31
+#endif
32
+
33
+#endif