1112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 2112711afefcfcd43680c7c4aa8d38ef180e8811esewardj/*--------------------------------------------------------------------*/ 3112711afefcfcd43680c7c4aa8d38ef180e8811esewardj/*--- TILEGX/Linux-specific kernel interface. vki-tilegx-linux.h ---*/ 4112711afefcfcd43680c7c4aa8d38ef180e8811esewardj/*--------------------------------------------------------------------*/ 5112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 6112711afefcfcd43680c7c4aa8d38ef180e8811esewardj/* 7112711afefcfcd43680c7c4aa8d38ef180e8811esewardj This file is part of Valgrind, a dynamic binary instrumentation 8112711afefcfcd43680c7c4aa8d38ef180e8811esewardj framework. 9112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 10b3a1e4bffbdbbf38304f216af405009868f43628sewardj Copyright (C) 2010-2015 Tilera Corp. 11112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 12112711afefcfcd43680c7c4aa8d38ef180e8811esewardj This program is free software; you can redistribute it and/or 13112711afefcfcd43680c7c4aa8d38ef180e8811esewardj modify it under the terms of the GNU General Public License as 14112711afefcfcd43680c7c4aa8d38ef180e8811esewardj published by the Free Software Foundation; either version 2 of the 15112711afefcfcd43680c7c4aa8d38ef180e8811esewardj License, or (at your option) any later version. 16112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 17112711afefcfcd43680c7c4aa8d38ef180e8811esewardj This program is distributed in the hope that it will be useful, but 18112711afefcfcd43680c7c4aa8d38ef180e8811esewardj WITHOUT ANY WARRANTY; without even the implied warranty of 19112711afefcfcd43680c7c4aa8d38ef180e8811esewardj MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20112711afefcfcd43680c7c4aa8d38ef180e8811esewardj General Public License for more details. 21112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 22112711afefcfcd43680c7c4aa8d38ef180e8811esewardj You should have received a copy of the GNU General Public License 23112711afefcfcd43680c7c4aa8d38ef180e8811esewardj along with this program; if not, write to the Free Software 24112711afefcfcd43680c7c4aa8d38ef180e8811esewardj Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 25112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 02111-1307, USA. 26112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 27112711afefcfcd43680c7c4aa8d38ef180e8811esewardj The GNU General Public License is contained in the file COPYING. 28112711afefcfcd43680c7c4aa8d38ef180e8811esewardj*/ 29112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 30112711afefcfcd43680c7c4aa8d38ef180e8811esewardj/* Contributed by Zhi-Gang Liu <zliu at tilera dot com> */ 31112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 32112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#ifndef __VKI_TILEGX_LINUX_H 33112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define __VKI_TILEGX_LINUX_H 34112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 35112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// TILEGX is little-endian. 36112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_LITTLE_ENDIAN 1 37112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 38112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 39112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm-generic/types.h 40112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 41112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 42112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef unsigned char __vki_u8; 43112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 44112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef __signed__ short __vki_s16; 45112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef unsigned short __vki_u16; 46112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 47112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef __signed__ int __vki_s32; 48112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef unsigned int __vki_u32; 49112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 50112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef __signed__ long long __vki_s64; 51112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef unsigned long long __vki_u64; 52112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 53112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef unsigned short vki_u16; 54112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 55112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef unsigned int vki_u32; 56112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 57112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 58112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/page.h 59112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 60112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 61112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_PAGE_SHIFT 16 62112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_PAGE_SIZE (1UL << VKI_PAGE_SHIFT) 63112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_MAX_PAGE_SHIFT VKI_PAGE_SHIFT 64112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_MAX_PAGE_SIZE VKI_PAGE_SIZE 65112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 66112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 67112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From linux/include/asm/shmparam.h 68112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 69112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 70112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SHMLBA VKI_PAGE_SIZE 71112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 72112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 73112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/signal.h 74112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 75112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 76112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_NSIG 64 77112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_NSIG_BPW 64 78112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_NSIG_WORDS (_VKI_NSIG / _VKI_NSIG_BPW) 79112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 80112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef unsigned long vki_old_sigset_t; 81112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 82112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef struct { 83112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long sig[_VKI_NSIG_WORDS]; 84112711afefcfcd43680c7c4aa8d38ef180e8811esewardj} vki_sigset_t; 85112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 86112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGHUP 1 87112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGINT 2 88112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGQUIT 3 89112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGILL 4 90112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGTRAP 5 91112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGABRT 6 92112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGIOT 6 93112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGBUS 7 94112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGFPE 8 95112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGKILL 9 96112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGUSR1 10 97112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGSEGV 11 98112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGUSR2 12 99112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGPIPE 13 100112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGALRM 14 101112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGTERM 15 102112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGSTKFLT 16 103112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGCHLD 17 104112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGCONT 18 105112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGSTOP 19 106112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGTSTP 20 107112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGTTIN 21 108112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGTTOU 22 109112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGURG 23 110112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGXCPU 24 111112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGXFSZ 25 112112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGVTALRM 26 113112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGPROF 27 114112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGWINCH 28 115112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGIO 29 116112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGPOLL 29 117112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGPWR 30 118112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGSYS 31 119112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGUNUSED 31 120112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 121112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGRTMIN 32 122112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIGRTMAX _VKI_NSIG 123112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 124112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SA_NOCLDSTOP 0x00000001 125112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SA_NOCLDWAIT 0x00000002 126112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SA_SIGINFO 0x00000004 127112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SA_ONSTACK 0x08000000 128112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SA_RESTART 0x10000000 129112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SA_NODEFER 0x40000000 130112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SA_RESETHAND 0x80000000 131112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 132112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SA_NOMASK VKI_SA_NODEFER 133112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SA_ONESHOT VKI_SA_RESETHAND 134112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 135112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SA_RESTORER 0x04000000 136112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 137112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SS_ONSTACK 1 138112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SS_DISABLE 2 139112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 140112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_MINSIGSTKSZ 2048 141112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 142112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIG_BLOCK 0 /* for blocking signals */ 143112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIG_UNBLOCK 1 /* for unblocking signals */ 144112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIG_SETMASK 2 /* for setting the signal mask */ 145112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 146112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef void __vki_signalfn_t(int); 147112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef __vki_signalfn_t __user *__vki_sighandler_t; 148112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 149112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef void __vki_restorefn_t(void); 150112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef __vki_restorefn_t __user *__vki_sigrestore_t; 151112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 152112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIG_DFL ((__vki_sighandler_t)0) /* default signal handling */ 153112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIG_IGN ((__vki_sighandler_t)1) /* ignore signal */ 154112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 155112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_sigaction_base { 156112711afefcfcd43680c7c4aa8d38ef180e8811esewardj // [[Nb: a 'k' prefix is added to "sa_handler" because 157112711afefcfcd43680c7c4aa8d38ef180e8811esewardj // bits/sigaction.h (which gets dragged in somehow via signal.h) 158112711afefcfcd43680c7c4aa8d38ef180e8811esewardj // #defines it as something else. Since that is done for glibc's 159112711afefcfcd43680c7c4aa8d38ef180e8811esewardj // purposes, which we don't care about here, we use our own name.]] 160112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_sighandler_t ksa_handler; 161112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long sa_flags; 162112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_sigrestore_t sa_restorer; 163112711afefcfcd43680c7c4aa8d38ef180e8811esewardj vki_sigset_t sa_mask; /* mask last for extensibility */ 164112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 165112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 166112711afefcfcd43680c7c4aa8d38ef180e8811esewardj/* On Linux we use the same type for passing sigactions to 167112711afefcfcd43680c7c4aa8d38ef180e8811esewardj and from the kernel. Hence: */ 168112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef struct vki_sigaction_base vki_sigaction_toK_t; 169112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef struct vki_sigaction_base vki_sigaction_fromK_t; 170112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 171112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 172112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef struct vki_sigaltstack { 173112711afefcfcd43680c7c4aa8d38ef180e8811esewardj void __user *ss_sp; 174112711afefcfcd43680c7c4aa8d38ef180e8811esewardj int ss_flags; 175112711afefcfcd43680c7c4aa8d38ef180e8811esewardj vki_size_t ss_size; 176112711afefcfcd43680c7c4aa8d38ef180e8811esewardj} vki_stack_t; 177112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 178112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 179112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/sigcontext.h 180112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 181112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 182112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// Tilegx has no FP registers. 183112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct _vki_fpstate { 184112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 185112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 186112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 187112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_sigcontext { 188112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long gregs[53]; 189112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long tp; 190112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long sp; 191112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long lr; 192112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long pc; 193112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long ics; 194112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long faultnum; 195112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long pad[5]; 196112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 197112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 198112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 199112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/mman.h 200112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 201112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 202112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_PROT_READ 0x1 /* page can be read */ 203112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_PROT_WRITE 0x2 /* page can be written */ 204112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_PROT_EXEC 0x4 /* page can be executed */ 205112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_PROT_NONE 0x0 /* page can not be accessed */ 206112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to start of growsdown vma */ 207112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end of growsup vma */ 208112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 209112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_MAP_SHARED 0x01 /* Share changes */ 210112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_MAP_PRIVATE 0x02 /* Changes are private */ 211112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_MAP_FIXED 0x10 /* Interpret addr exactly */ 212112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_MAP_ANONYMOUS 0x20 /* don't use a file */ 213112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_MAP_HUGETLB 0x4000 /* Use HUGETLB */ 214112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 215112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 216112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/fcntl.h 217112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 218112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 219112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_O_RDONLY 00 220112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_O_WRONLY 01 221112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_O_RDWR 02 222112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_O_ACCMODE 03 223112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_O_CREAT 0100 /* not fcntl */ 224112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_O_EXCL 0200 /* not fcntl */ 225112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_O_TRUNC 01000 /* not fcntl */ 226112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_O_APPEND 02000 227112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_O_NONBLOCK 04000 228112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_O_LARGEFILE 0100000 229112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 230112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_AT_FDCWD -100 231112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 232112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_DUPFD 0 /* dup */ 233112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_GETFD 1 /* get close_on_exec */ 234112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_SETFD 2 /* set/clear close_on_exec */ 235112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_GETFL 3 /* get file->f_flags */ 236112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_SETFL 4 /* set file->f_flags */ 237112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_GETLK 5 238112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_SETLK 6 239112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_SETLKW 7 240112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 241112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_SETOWN 8 /* for sockets. */ 242112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_GETOWN 9 /* for sockets. */ 243112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_SETSIG 10 /* for sockets. */ 244112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_GETSIG 11 /* for sockets. */ 245112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 246112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_SETOWN_EX 15 247112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_GETOWN_EX 16 248112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_GETLK64 12 249112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_SETLK64 13 250112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_SETLKW64 14 251112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 252112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_OFD_GETLK -1 253112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_OFD_SETLK -2 254112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_OFD_SETLKW -3 255112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 256112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_FD_CLOEXEC 1 /* actually anything with low bit set goes */ 257112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 258112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_F_LINUX_SPECIFIC_BASE 1024 259112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 260112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_f_owner_ex { 261112711afefcfcd43680c7c4aa8d38ef180e8811esewardj int type; 262112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_pid_t pid; 263112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 264112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 265112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 266112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/resource.h 267112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 268112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 269112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_RLIMIT_DATA 2 /* max data size */ 270112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_RLIMIT_STACK 3 /* max stack size */ 271112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_RLIMIT_CORE 4 /* max core file size */ 272112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_RLIMIT_NOFILE 7 /* max number of open files */ 273112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 274112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 275112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/socket.h 276112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 277112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 278112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SOL_SOCKET 1 279112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SO_TYPE 3 280112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SO_ATTACH_FILTER 26 281112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 282112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 283112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/sockios.h 284112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 285112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 286112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIOCSPGRP 0x8902 287112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIOCGPGRP 0x8904 288112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIOCATMARK 0x8905 289112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIOCGSTAMP 0x8906 /* Get stamp (timeval) */ 290112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */ 291112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 292112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 293112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/stat.h 294112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 295112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 296112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_stat { 297112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long st_dev; /* Device. */ 298112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long st_ino; /* File serial number. */ 299112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned int st_mode; /* File mode. */ 300112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned int st_nlink; /* Link count. */ 301112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned int st_uid; /* User ID of the file's owner. */ 302112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned int st_gid; /* Group ID of the file's group. */ 303112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long st_rdev; /* Device number, if device. */ 304112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long __pad1; 305112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long st_size; /* Size of file, in bytes. */ 306112711afefcfcd43680c7c4aa8d38ef180e8811esewardj int st_blksize; /* Optimal block size for I/O. */ 307112711afefcfcd43680c7c4aa8d38ef180e8811esewardj int __pad2; 308112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long st_blocks; /* Number 512-byte blocks allocated. */ 309112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long st_atime; /* Time of last access. */ 310112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long st_atime_nsec; 311112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long st_mtime; /* Time of last modification. */ 312112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long st_mtime_nsec; 313112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long st_ctime; /* Time of last status change. */ 314112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long st_ctime_nsec; 315112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned int __unused4; 316112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned int __unused5; 317112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 318112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 319112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_stat64 { 320112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long st_dev; /* Device. */ 321112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long st_ino; /* File serial number. */ 322112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned int st_mode; /* File mode. */ 323112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned int st_nlink; /* Link count. */ 324112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned int st_uid; /* User ID of the file's owner. */ 325112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned int st_gid; /* Group ID of the file's group. */ 326112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long st_rdev; /* Device number, if device. */ 327112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long __pad1; 328112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long st_size; /* Size of file, in bytes. */ 329112711afefcfcd43680c7c4aa8d38ef180e8811esewardj int st_blksize; /* Optimal block size for I/O. */ 330112711afefcfcd43680c7c4aa8d38ef180e8811esewardj int __pad2; 331112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long st_blocks; /* Number 512-byte blocks allocated. */ 332112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long st_atime; /* Time of last access. */ 333112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long st_atime_nsec; 334112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long st_mtime; /* Time of last modification. */ 335112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long st_mtime_nsec; 336112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long st_ctime; /* Time of last status change. */ 337112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long st_ctime_nsec; 338112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned int __unused4; 339112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned int __unused5; 340112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 341112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 342112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 343112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/statfs.h 344112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 345112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 346112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_statfs { 347112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long f_type; 348112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long f_bsize; 349112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long f_blocks; 350112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long f_bfree; 351112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long f_bavail; 352112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long f_files; 353112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long f_ffree; 354112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_fsid_t f_fsid; 355112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long f_namelen; 356112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long f_frsize; 357112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long f_flags; 358112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long f_spare[4]; 359112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 360112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 361112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 362112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/termios.h 363112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 364112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 365112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_winsize { 366112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned short ws_row; 367112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned short ws_col; 368112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned short ws_xpixel; 369112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned short ws_ypixel; 370112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 371112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 372112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_NCC 8 373112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_termio { 374112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned short c_iflag; /* input mode flags */ 375112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned short c_oflag; /* output mode flags */ 376112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned short c_cflag; /* control mode flags */ 377112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned short c_lflag; /* local mode flags */ 378112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned char c_line; /* line discipline */ 379112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned char c_cc[VKI_NCC]; /* control characters */ 380112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 381112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 382112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 383112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/termbits.h 384112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 385112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 386112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef unsigned char vki_cc_t; 387112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef unsigned int vki_tcflag_t; 388112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 389112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_NCCS 19 390112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_termios { 391112711afefcfcd43680c7c4aa8d38ef180e8811esewardj vki_tcflag_t c_iflag; /* input mode flags */ 392112711afefcfcd43680c7c4aa8d38ef180e8811esewardj vki_tcflag_t c_oflag; /* output mode flags */ 393112711afefcfcd43680c7c4aa8d38ef180e8811esewardj vki_tcflag_t c_cflag; /* control mode flags */ 394112711afefcfcd43680c7c4aa8d38ef180e8811esewardj vki_tcflag_t c_lflag; /* local mode flags */ 395112711afefcfcd43680c7c4aa8d38ef180e8811esewardj vki_cc_t c_line; /* line discipline */ 396112711afefcfcd43680c7c4aa8d38ef180e8811esewardj vki_cc_t c_cc[VKI_NCCS]; /* control characters */ 397112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 398112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 399112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 400112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 401112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/ioctl.h 402112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 403112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 404112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC_NRBITS 8 405112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC_TYPEBITS 8 406112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC_SIZEBITS 14 407112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC_DIRBITS 2 408112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 409112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC_SIZEMASK ((1 << _VKI_IOC_SIZEBITS)-1) 410112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC_DIRMASK ((1 << _VKI_IOC_DIRBITS)-1) 411112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 412112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC_NRSHIFT 0 413112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC_TYPESHIFT (_VKI_IOC_NRSHIFT+_VKI_IOC_NRBITS) 414112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC_SIZESHIFT (_VKI_IOC_TYPESHIFT+_VKI_IOC_TYPEBITS) 415112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC_DIRSHIFT (_VKI_IOC_SIZESHIFT+_VKI_IOC_SIZEBITS) 416112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 417112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC_NONE 0U 418112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC_WRITE 1U 419112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC_READ 2U 420112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 421112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC(dir,type,nr,size) \ 422112711afefcfcd43680c7c4aa8d38ef180e8811esewardj (((dir) << _VKI_IOC_DIRSHIFT) | \ 423112711afefcfcd43680c7c4aa8d38ef180e8811esewardj ((type) << _VKI_IOC_TYPESHIFT) | \ 424112711afefcfcd43680c7c4aa8d38ef180e8811esewardj ((nr) << _VKI_IOC_NRSHIFT) | \ 425112711afefcfcd43680c7c4aa8d38ef180e8811esewardj ((size) << _VKI_IOC_SIZESHIFT)) 426112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 427112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IO(type,nr) _VKI_IOC(_VKI_IOC_NONE,(type),(nr),0) 428112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOR(type,nr,size) _VKI_IOC(_VKI_IOC_READ,(type),(nr),sizeof(size)) 429112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOW(type,nr,size) _VKI_IOC(_VKI_IOC_WRITE,(type),(nr),sizeof(size)) 430112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOWR(type,nr,size) _VKI_IOC(_VKI_IOC_READ|_VKI_IOC_WRITE,(type),(nr),sizeof(size)) 431112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 432112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC_DIR(nr) (((nr) >> _VKI_IOC_DIRSHIFT) & _VKI_IOC_DIRMASK) 433112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define _VKI_IOC_SIZE(nr) (((nr) >> _VKI_IOC_SIZESHIFT) & _VKI_IOC_SIZEMASK) 434112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 435112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 436112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/ioctls.h 437112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 438112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 439112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TCGETS 0x5401 440112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TCSETS 0x5402 441112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TCSETSW 0x5403 442112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TCSETSF 0x5404 443112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TCGETA 0x5405 444112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TCSETA 0x5406 445112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TCSETAW 0x5407 446112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TCSETAF 0x5408 447112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TCSBRK 0x5409 448112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TCXONC 0x540A 449112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TCFLSH 0x540B 450112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCEXCL 0x540C 451112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCNXCL 0x540D 452112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCSCTTY 0x540E 453112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCGPGRP 0x540F 454112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCSPGRP 0x5410 455112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCOUTQ 0x5411 456112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCSTI 0x5412 457112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCGWINSZ 0x5413 458112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCSWINSZ 0x5414 459112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCMGET 0x5415 460112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCMBIS 0x5416 461112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCMBIC 0x5417 462112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCMSET 0x5418 463112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCGSOFTCAR 0x5419 464112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCSSOFTCAR 0x541A 465112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_FIONREAD 0x541B 466112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCINQ VKI_FIONREAD 467112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCLINUX 0x541C 468112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCCONS 0x541D 469112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCGSERIAL 0x541E 470112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCSSERIAL 0x541F 471112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCPKT 0x5420 472112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_FIONBIO 0x5421 473112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCNOTTY 0x5422 474112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCSETD 0x5423 475112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCGETD 0x5424 476112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TCSBRKP 0x5425 477112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCGPTN _VKI_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ 478112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCSPTLCK _VKI_IOW('T',0x31, int) /* Lock/unlock Pty */ 479112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 480112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_FIONCLEX 0x5450 481112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_FIOCLEX 0x5451 482112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_FIOASYNC 0x5452 483112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCSERGETLSR 0x5459 /* Get line status register */ 484112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ 485112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 486112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// X86_64 define above, assume tilegx need no more than that. --FIXME 487112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 488112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCGPTN _VKI_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ 489112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCSPTLCK _VKI_IOW('T',0x31, int) /* Lock/unlock Pty */ 490112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 491112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_FIOASYNC 0x5452 492112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCSERGETLSR 0x5459 /* Get line status register */ 493112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ 494112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 495112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 496112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/poll.h 497112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 498112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 499112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_POLLIN 0x0001 500112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 501112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_pollfd { 502112711afefcfcd43680c7c4aa8d38ef180e8811esewardj int fd; 503112711afefcfcd43680c7c4aa8d38ef180e8811esewardj short events; 504112711afefcfcd43680c7c4aa8d38ef180e8811esewardj short revents; 505112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 506112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 507112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 508112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/user.h 509112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 510112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 511112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 512112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/ucontext.h 513112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 514112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 515112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_ucontext { 516112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long uc_flags; 517112711afefcfcd43680c7c4aa8d38ef180e8811esewardj struct vki_ucontext *uc_link; 518112711afefcfcd43680c7c4aa8d38ef180e8811esewardj vki_stack_t uc_stack; 519112711afefcfcd43680c7c4aa8d38ef180e8811esewardj struct vki_sigcontext uc_mcontext; 520112711afefcfcd43680c7c4aa8d38ef180e8811esewardj vki_sigset_t uc_sigmask; /* mask last for extensibility */ 521112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 522112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 523112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 524112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/segment.h 525112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 526112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// NA 527112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 528112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm-generic/prctl.h 529112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 530112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// NA 531112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 532112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/ldt.h 533112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 534112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 535112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// NA 536112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 537112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 538112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From linux-2.6.11.2/include/asm-x86_64/ipcbuf.h 539112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 540112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 541112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_ipc64_perm 542112711afefcfcd43680c7c4aa8d38ef180e8811esewardj{ 543112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_key_t key; 544112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_uid32_t uid; 545112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_gid32_t gid; 546112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_uid32_t cuid; 547112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_gid32_t cgid; 548112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_mode_t mode; 549112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned char __pad1[4 - sizeof(__vki_kernel_mode_t)]; 550112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned short seq; 551112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned short __pad2; 552112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long __unused1; 553112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long __unused2; 554112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 555112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 556112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 557112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From linux-2.6.11.2/include/asm-x86_64/sembuf.h 558112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 559112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 560112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_semid64_ds { 561112711afefcfcd43680c7c4aa8d38ef180e8811esewardj struct vki_ipc64_perm sem_perm; /* permissions .. see ipc.h */ 562112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_time_t sem_otime; /* last semop time */ 563112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_time_t sem_ctime; /* last change time */ 564112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long sem_nsems; /* no. of semaphores in array */ 565112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long __unused3; 566112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long __unused4; 567112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 568112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 569112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 570112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From linux-2.6.11.2/include/asm-x86_64/msgbuf.h 571112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 572112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 573112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_msqid64_ds { 574112711afefcfcd43680c7c4aa8d38ef180e8811esewardj struct vki_ipc64_perm msg_perm; 575112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_time_t msg_stime; /* last msgsnd time */ 576112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_time_t msg_rtime; /* last msgrcv time */ 577112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_time_t msg_ctime; /* last change time */ 578112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long msg_cbytes; /* current number of bytes on queue */ 579112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long msg_qnum; /* number of messages in queue */ 580112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long msg_qbytes; /* max number of bytes on queue */ 581112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_pid_t msg_lspid; /* pid of last msgsnd */ 582112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_pid_t msg_lrpid; /* last receive pid */ 583112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long __unused4; 584112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long __unused5; 585112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 586112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 587112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 588112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From linux-2.6.11.2/include/asm-x86_64/shmbuf.h 589112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 590112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 591112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_shmid64_ds { 592112711afefcfcd43680c7c4aa8d38ef180e8811esewardj struct vki_ipc64_perm shm_perm; /* operation perms */ 593112711afefcfcd43680c7c4aa8d38ef180e8811esewardj vki_size_t shm_segsz; /* size of segment (bytes) */ 594112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_time_t shm_atime; /* last attach time */ 595112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_time_t shm_dtime; /* last detach time */ 596112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_time_t shm_ctime; /* last change time */ 597112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_pid_t shm_cpid; /* pid of creator */ 598112711afefcfcd43680c7c4aa8d38ef180e8811esewardj __vki_kernel_pid_t shm_lpid; /* pid of last operator */ 599112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long shm_nattch; /* no. of current attaches */ 600112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long __unused4; 601112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long __unused5; 602112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 603112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 604112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_shminfo64 { 605112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long shmmax; 606112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long shmmin; 607112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long shmmni; 608112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long shmseg; 609112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long shmall; 610112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long __unused1; 611112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long __unused2; 612112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long __unused3; 613112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long __unused4; 614112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 615112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 616112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 617112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm-tile/ptrace.h 618112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 619112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 620112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct vki_pt_regs { 621112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 622112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long regs[53]; 623112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long tp; 624112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long sp; 625112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long lr; 626112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long pc; 627112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long ex1; 628112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long faultnum; 629112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long orig_r0; 630112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long flags; 631112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned long pad[3]; 632112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 633112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 634112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#ifndef user_pt_regs 635112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define user_pt_regs vki_pt_regs 636112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#endif 637112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 638112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// Tile has no fp registers. Just make gcc happy. 639112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct tilegx_elf_fpregset {}; 640112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef struct tilegx_elf_fpregset vki_elf_fpregset_t; 641112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 642112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define vki_user_regs_struct vki_pt_regs 643112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 644112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r56 regs[56] 645112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r55 regs[55] 646112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r54 regs[54] 647112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r53 regs[53] 648112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r52 regs[52] 649112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r51 regs[51] 650112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r50 regs[50] 651112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r49 regs[49] 652112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r48 regs[48] 653112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r47 regs[47] 654112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r46 regs[46] 655112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r45 regs[45] 656112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r44 regs[44] 657112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r43 regs[43] 658112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r42 regs[42] 659112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r41 regs[41] 660112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r40 regs[40] 661112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r39 regs[39] 662112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r38 regs[38] 663112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r37 regs[37] 664112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r36 regs[36] 665112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r35 regs[35] 666112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r34 regs[34] 667112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r33 regs[33] 668112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r32 regs[32] 669112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r31 regs[31] 670112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r30 regs[30] 671112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r29 regs[29] 672112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r28 regs[28] 673112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r27 regs[27] 674112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r26 regs[26] 675112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r25 regs[25] 676112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r24 regs[24] 677112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r23 regs[23] 678112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r22 regs[22] 679112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r21 regs[21] 680112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r20 regs[20] 681112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r19 regs[19] 682112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r18 regs[18] 683112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r17 regs[17] 684112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r16 regs[16] 685112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r15 regs[15] 686112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r14 regs[14] 687112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r13 regs[13] 688112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r12 regs[12] 689112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r11 regs[11] 690112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r10 regs[10] 691112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r9 regs[9] 692112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r8 regs[8] 693112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r7 regs[7] 694112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r6 regs[6] 695112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r5 regs[5] 696112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r4 regs[4] 697112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r3 regs[3] 698112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r2 regs[2] 699112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r1 regs[1] 700112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_r0 regs[0] 701112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 702112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_lr TILEGX_r55 703112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_sp TILEGX_r54 704112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_tp TILEGX_r53 705112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define TILEGX_pc TILEGX_r56 706112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 707112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_PTRACE_GETREGS 12 708112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_PTRACE_SETREGS 13 709112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_PTRACE_GETFPREGS 14 710112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_PTRACE_SETFPREGS 15 711112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 712112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 713112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 714112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm_generic/elf.h 715112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 716112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 717112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef unsigned long vki_elf_greg_t; 718112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 719112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_ELF_NGREG (sizeof (struct vki_user_regs_struct) / sizeof(vki_elf_greg_t)) 720112711afefcfcd43680c7c4aa8d38ef180e8811esewardjtypedef vki_elf_greg_t vki_elf_gregset_t[VKI_ELF_NGREG]; 721112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 722112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 723112711afefcfcd43680c7c4aa8d38ef180e8811esewardjstruct tilegx_dirent64 { 724112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long d_ino; 725112711afefcfcd43680c7c4aa8d38ef180e8811esewardj long d_off; 726112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned short d_reclen; 727112711afefcfcd43680c7c4aa8d38ef180e8811esewardj unsigned char d_type; 728112711afefcfcd43680c7c4aa8d38ef180e8811esewardj char d_name[256]; 729112711afefcfcd43680c7c4aa8d38ef180e8811esewardj}; 730112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 731112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 732112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// From tilegx linux/include/asm-generic/errno.h 733112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 734112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 735112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_ENOSYS 38 /* Function not implemented */ 736112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#define VKI_EOVERFLOW 75 /* Value too large for defined data type */ 737112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 738112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 739112711afefcfcd43680c7c4aa8d38ef180e8811esewardj// And that's it! 740112711afefcfcd43680c7c4aa8d38ef180e8811esewardj//---------------------------------------------------------------------- 741112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 742112711afefcfcd43680c7c4aa8d38ef180e8811esewardj#endif // __VKI_TILEGX_LINUX_H 743112711afefcfcd43680c7c4aa8d38ef180e8811esewardj 744112711afefcfcd43680c7c4aa8d38ef180e8811esewardj/*--------------------------------------------------------------------*/ 745112711afefcfcd43680c7c4aa8d38ef180e8811esewardj/*--- end ---*/ 746112711afefcfcd43680c7c4aa8d38ef180e8811esewardj/*--------------------------------------------------------------------*/ 747