cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

shmbuf.h (1937B)


      1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
      2#ifndef _ASM_SHMBUF_H
      3#define _ASM_SHMBUF_H
      4
      5#include <asm/ipcbuf.h>
      6#include <asm/posix_types.h>
      7
      8/*
      9 * The shmid64_ds structure for the MIPS architecture.
     10 * Note extra padding because this structure is passed back and forth
     11 * between kernel and user space.
     12 *
     13 * As MIPS was lacking proper padding after shm_?time, we use 48 bits
     14 * of the padding at the end to store a few additional bits of the time.
     15 * libc implementations need to take care to convert this into a proper
     16 * data structure when moving to 64-bit time_t.
     17 */
     18
     19#ifdef __mips64
     20struct shmid64_ds {
     21	struct ipc64_perm	shm_perm;	/* operation perms */
     22	__kernel_size_t		shm_segsz;	/* size of segment (bytes) */
     23	long			shm_atime;	/* last attach time */
     24	long			shm_dtime;	/* last detach time */
     25	long			shm_ctime;	/* last change time */
     26	__kernel_pid_t		shm_cpid;	/* pid of creator */
     27	__kernel_pid_t		shm_lpid;	/* pid of last operator */
     28	unsigned long		shm_nattch;	/* no. of current attaches */
     29	unsigned long		__unused1;
     30	unsigned long		__unused2;
     31};
     32#else
     33struct shmid64_ds {
     34	struct ipc64_perm	shm_perm;	/* operation perms */
     35	__kernel_size_t		shm_segsz;	/* size of segment (bytes) */
     36	unsigned long		shm_atime;	/* last attach time */
     37	unsigned long		shm_dtime;	/* last detach time */
     38	unsigned long		shm_ctime;	/* last change time */
     39	__kernel_pid_t		shm_cpid;	/* pid of creator */
     40	__kernel_pid_t		shm_lpid;	/* pid of last operator */
     41	unsigned long		shm_nattch;	/* no. of current attaches */
     42	unsigned short		shm_atime_high;
     43	unsigned short		shm_dtime_high;
     44	unsigned short		shm_ctime_high;
     45	unsigned short		__unused1;
     46};
     47#endif
     48
     49struct shminfo64 {
     50	unsigned long	shmmax;
     51	unsigned long	shmmin;
     52	unsigned long	shmmni;
     53	unsigned long	shmseg;
     54	unsigned long	shmall;
     55	unsigned long	__unused1;
     56	unsigned long	__unused2;
     57	unsigned long	__unused3;
     58	unsigned long	__unused4;
     59};
     60
     61#endif /* _ASM_SHMBUF_H */