root/arch/x86/include/asm/ia32.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef _ASM_X86_IA32_H
   3 #define _ASM_X86_IA32_H
   4 
   5 
   6 #ifdef CONFIG_IA32_EMULATION
   7 
   8 #include <linux/compat.h>
   9 
  10 /*
  11  * 32 bit structures for IA32 support.
  12  */
  13 
  14 #include <uapi/asm/sigcontext.h>
  15 
  16 /* signal.h */
  17 
  18 struct ucontext_ia32 {
  19         unsigned int      uc_flags;
  20         unsigned int      uc_link;
  21         compat_stack_t    uc_stack;
  22         struct sigcontext_32 uc_mcontext;
  23         compat_sigset_t   uc_sigmask;   /* mask last for extensibility */
  24 };
  25 
  26 /* This matches struct stat64 in glibc2.2, hence the absolutely
  27  * insane amounts of padding around dev_t's.
  28  */
  29 struct stat64 {
  30         unsigned long long      st_dev;
  31         unsigned char           __pad0[4];
  32 
  33 #define STAT64_HAS_BROKEN_ST_INO        1
  34         unsigned int            __st_ino;
  35 
  36         unsigned int            st_mode;
  37         unsigned int            st_nlink;
  38 
  39         unsigned int            st_uid;
  40         unsigned int            st_gid;
  41 
  42         unsigned long long      st_rdev;
  43         unsigned char           __pad3[4];
  44 
  45         long long               st_size;
  46         unsigned int            st_blksize;
  47 
  48         long long               st_blocks;/* Number 512-byte blocks allocated */
  49 
  50         unsigned                st_atime;
  51         unsigned                st_atime_nsec;
  52         unsigned                st_mtime;
  53         unsigned                st_mtime_nsec;
  54         unsigned                st_ctime;
  55         unsigned                st_ctime_nsec;
  56 
  57         unsigned long long      st_ino;
  58 } __attribute__((packed));
  59 
  60 #define IA32_STACK_TOP IA32_PAGE_OFFSET
  61 
  62 #ifdef __KERNEL__
  63 struct linux_binprm;
  64 extern int ia32_setup_arg_pages(struct linux_binprm *bprm,
  65                                 unsigned long stack_top, int exec_stack);
  66 struct mm_struct;
  67 extern void ia32_pick_mmap_layout(struct mm_struct *mm);
  68 
  69 #endif
  70 
  71 #endif /* !CONFIG_IA32_SUPPORT */
  72 
  73 #endif /* _ASM_X86_IA32_H */

/* [<][>][^][v][top][bottom][index][help] */