summaryrefslogtreecommitdiffstats
path: root/kernel/tests/include/lapi/sembuf.h
diff options
context:
space:
mode:
authorManuel Bentele2020-10-23 15:18:01 +0200
committerManuel Bentele2020-10-23 15:18:01 +0200
commitdbb41ce2b7f309d394054a6bd1e33afd578798a5 (patch)
tree6a31092063d9f2fb5ac5720ec6759040e793c3d5 /kernel/tests/include/lapi/sembuf.h
parentSet Linux kernel version to unknown if it is not detectable (diff)
downloadxloop-dbb41ce2b7f309d394054a6bd1e33afd578798a5.tar.gz
xloop-dbb41ce2b7f309d394054a6bd1e33afd578798a5.tar.xz
xloop-dbb41ce2b7f309d394054a6bd1e33afd578798a5.zip
Move the source code of all xloop components to the common 'src' directory
Diffstat (limited to 'kernel/tests/include/lapi/sembuf.h')
-rw-r--r--kernel/tests/include/lapi/sembuf.h234
1 files changed, 0 insertions, 234 deletions
diff --git a/kernel/tests/include/lapi/sembuf.h b/kernel/tests/include/lapi/sembuf.h
deleted file mode 100644
index 4ef0483..0000000
--- a/kernel/tests/include/lapi/sembuf.h
+++ /dev/null
@@ -1,234 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-/*
- * Copyright (c) 2020 Linaro Limited. All rights reserved.
- * Author: Viresh Kumar <viresh.kumar@linaro.org>
- */
-
-#ifndef IPC_SEMBUF_H
-#define IPC_SEMBUF_H
-
-#include "lapi/posix_types.h"
-#include <sys/sem.h>
-#include "tst_timer.h"
-#include "ipcbuf.h"
-
-#ifndef HAVE_SEMID64_DS
-
-#if defined(__mips__)
-#define HAVE_SEMID64_DS
-/*
- * The semid64_ds structure for the MIPS architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * Pad space is left for 2 miscellaneous 64-bit values on mips64,
- * but used for the upper 32 bit of the time values on mips32.
- */
-#if defined(__arch64__)
-struct semid64_ds {
- struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
- long sem_otime; /* last semop time */
- long sem_ctime; /* last change time */
- unsigned long sem_nsems; /* no. of semaphores in array */
- unsigned long __unused1;
- unsigned long __unused2;
-};
-#else
-#define HAVE_SEMID64_DS_TIME_HIGH
-struct semid64_ds {
- struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
- unsigned long sem_otime; /* last semop time */
- unsigned long sem_ctime; /* last change time */
- unsigned long sem_nsems; /* no. of semaphores in array */
- unsigned long sem_otime_high;
- unsigned long sem_ctime_high;
-};
-#endif
-#endif /* __mips__ */
-
-#if defined(__hppa__)
-#define HAVE_SEMID64_DS
-/*
- * The semid64_ds structure for parisc architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * Pad space is left for:
- * - 2 miscellaneous 32-bit values
- */
-struct semid64_ds {
- struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
-#if __BITS_PER_LONG == 64
- long sem_otime; /* last semop time */
- long sem_ctime; /* last change time */
-#else
-#define HAVE_SEMID64_DS_TIME_HIGH
- unsigned long sem_otime_high;
- unsigned long sem_otime; /* last semop time */
- unsigned long sem_ctime_high;
- unsigned long sem_ctime; /* last change time */
-#endif
- unsigned long sem_nsems; /* no. of semaphores in array */
- unsigned long __unused1;
- unsigned long __unused2;
-};
-#endif /* __hppa__ */
-
-#if defined(__powerpc__) || defined(__powerpc64__)
-#define HAVE_SEMID64_DS
-/*
- * The semid64_ds structure for PPC architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * Pad space is left for:
- * - 2 miscellaneous 32/64-bit values
- */
-
-struct semid64_ds {
- struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
-#ifndef __powerpc64__
-#define HAVE_SEMID64_DS_TIME_HIGH
- unsigned long sem_otime_high;
- unsigned long sem_otime; /* last semop time */
- unsigned long sem_ctime_high;
- unsigned long sem_ctime; /* last change time */
-#else
- long sem_otime; /* last semop time */
- long sem_ctime; /* last change time */
-#endif
- unsigned long sem_nsems; /* no. of semaphores in array */
- unsigned long __unused3;
- unsigned long __unused4;
-};
-#endif /* defined(__powerpc__) || defined(__powerpc64__) */
-
-#if defined(__sparc__)
-#define HAVE_SEMID64_DS
-/*
- * The semid64_ds structure for sparc architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * Pad space is left for:
- * - 2 miscellaneous 32-bit values
- */
-
-struct semid64_ds {
- struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
-#if defined(__arch64__)
- long sem_otime; /* last semop time */
- long sem_ctime; /* last change time */
-#else
-#define HAVE_SEMID64_DS_TIME_HIGH
- unsigned long sem_otime_high;
- unsigned long sem_otime; /* last semop time */
- unsigned long sem_ctime_high;
- unsigned long sem_ctime; /* last change time */
-#endif
- unsigned long sem_nsems; /* no. of semaphores in array */
- unsigned long __unused1;
- unsigned long __unused2;
-};
-#endif /* __sparc__ */
-
-#if defined(__x86_64__)
-#define HAVE_SEMID64_DS
-/*
- * The semid64_ds structure for x86 architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * Pad space is left for:
- * - 2 miscellaneous 32-bit values
- *
- * x86_64 and x32 incorrectly added padding here, so the structures
- * are still incompatible with the padding on x86.
- */
-struct semid64_ds {
- struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
-#ifdef __i386__
-#define HAVE_SEMID64_DS_TIME_HIGH
- unsigned long sem_otime; /* last semop time */
- unsigned long sem_otime_high;
- unsigned long sem_ctime; /* last change time */
- unsigned long sem_ctime_high;
-#else
- __kernel_long_t sem_otime; /* last semop time */
- __kernel_ulong_t __unused1;
- __kernel_long_t sem_ctime; /* last change time */
- __kernel_ulong_t __unused2;
-#endif
- __kernel_ulong_t sem_nsems; /* no. of semaphores in array */
- __kernel_ulong_t __unused3;
- __kernel_ulong_t __unused4;
-};
-#endif /* defined(__x86_64__) */
-
-#if defined(__xtensa__)
-#define HAVE_SEMID64_DS
-#define HAVE_SEMID64_DS_TIME_HIGH
-
-struct semid64_ds {
- struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
-#ifdef __XTENSA_EL__
- unsigned long sem_otime; /* last semop time */
- unsigned long sem_otime_high;
- unsigned long sem_ctime; /* last change time */
- unsigned long sem_ctime_high;
-#else
- unsigned long sem_otime_high;
- unsigned long sem_otime; /* last semop time */
- unsigned long sem_ctime_high;
- unsigned long sem_ctime; /* last change time */
-#endif
- unsigned long sem_nsems; /* no. of semaphores in array */
- unsigned long __unused3;
- unsigned long __unused4;
-};
-
-#endif /* __xtensa__ */
-
-#ifndef HAVE_SEMID64_DS
-/*
- * The semid64_ds structure for most architectures (though it came
- * from x86_32 originally). Note extra padding because this structure
- * is passed back and forth between kernel and user space.
- *
- * semid64_ds was originally meant to be architecture specific, but
- * everyone just ended up making identical copies without specific
- * optimizations, so we may just as well all use the same one.
- *
- * 64 bit architectures use a 64-bit long time field here, while
- * 32 bit architectures have a pair of unsigned long values.
- *
- * On big-endian systems, the padding is in the wrong place for
- * historic reasons, so user space has to reconstruct a time_t
- * value using
- *
- * user_semid_ds.sem_otime = kernel_semid64_ds.sem_otime +
- * ((long long)kernel_semid64_ds.sem_otime_high << 32)
- *
- * Pad space is left for 2 miscellaneous 32-bit values
- */
-struct semid64_ds {
- struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
-#if __BITS_PER_LONG == 64
- long sem_otime; /* last semop time */
- long sem_ctime; /* last change time */
-#else
-#define HAVE_SEMID64_DS_TIME_HIGH
- unsigned long sem_otime; /* last semop time */
- unsigned long sem_otime_high;
- unsigned long sem_ctime; /* last change time */
- unsigned long sem_ctime_high;
-#endif
- unsigned long sem_nsems; /* no. of semaphores in array */
- unsigned long __unused3;
- unsigned long __unused4;
-};
-#endif /* semid64_ds */
-
-#endif /* HAVE_SEMID64_DS */
-
-#endif /* IPC_SEMBUF_H */