Add Linux/hppa port, patch from Richard Hirst

This commit is contained in:
Wichert Akkerman 2001-03-27 12:17:16 +00:00
parent e3bf56a9de
commit c1652e2095
18 changed files with 1489 additions and 12 deletions

View File

@ -41,3 +41,4 @@ porting to new systems:
D.J. Barrow <djbarrow@de.ibm.com>
Topi Miettinen <Topi.Miettinen@nic.fi>
Gaël Roualland <gael.roualland@iname.com>
Richard Hirst <rhirst@linuxcare.com>

2
NEWS
View File

@ -1,6 +1,6 @@
Changes in 4.3
==============
* Linux/ia64 port added
* Linux/ia64 and Linux/hppa ports added
* The usual Linux syscall updates (includes 32bit uid/gid support),
* Linux ioctl list updated
* Support IPv6 scope ids

View File

@ -15,6 +15,9 @@
/* Define for UnixWare systems. */
#undef UNIXWARE
/* Define if this is an hppa architecture */
#undef HPPA
/* Define if this is an i386, i486 or pentium architecture. */
#undef I386

View File

@ -65,6 +65,9 @@ arm)
s390)
arch=s390
;;
hppa*|parisc*)
arch=hppa
;;
*)
AC_MSG_ERROR(this architecture is not yet supported by strace)
;;
@ -73,7 +76,7 @@ AC_MSG_RESULT($arch)
# Autoheader trick. Heh, heh.
arch_list='
@@@syms="$syms I386 IA64 M68K SPARC MIPS ALPHA ARM POWERPC"@@@
@@@syms="$syms I386 IA64 M68K SPARC MIPS ALPHA ARM POWERPC HPPA"@@@
'
osarch="$opsys"

9
defs.h
View File

@ -157,6 +157,13 @@ extern int ptrace();
# define REG_SP 29
# define REG_EPC 64
#endif /* MIPS */
#ifdef HPPA
# define PT_GR20 (20*4)
# define PT_GR26 (26*4)
# define PT_GR28 (28*4)
# define PT_IAOQ0 (106*4)
# define PT_IAOQ1 (107*4)
#endif /* HPPA */
#endif /* LINUX */
#define SUPPORTED_PERSONALITIES 1
@ -277,7 +284,7 @@ struct tcb {
#define TCB_FOLLOWFORK 00400 /* Process should have forks followed */
#define TCB_REPRINT 01000 /* We should reprint this syscall on exit */
#ifdef LINUX
#if defined(ALPHA) || defined(SPARC) || defined(POWERPC)
#if defined(ALPHA) || defined(SPARC) || defined(POWERPC) || defined(HPPA)
#define TCB_WAITEXECVE 02000 /* ignore SIGTRAP after exceve */
#endif /* ALPHA */
#endif /* LINUX */

14
file.c
View File

@ -107,11 +107,17 @@ struct stat {
# define off_t off_t
# define loff_t loff_t
# endif
# ifdef HPPA /* asm-parisc/stat.h defines stat64 */
# undef stat64
# endif
# define stat libc_stat
# define stat64 libc_stat64
# include <sys/stat.h>
# undef stat
# undef stat64
# ifdef HPPA
# define stat64 hpux_stat64
# endif
#else
# include <sys/stat.h>
#endif
@ -883,7 +889,7 @@ long addr;
}
#endif /* HAVE_STAT64 */
#if defined(linux) && !defined(IA64)
#if defined(linux) && !defined(IA64) && !defined(HPPA)
static void
convertoldstat(oldbuf, newbuf)
const struct __old_kernel_stat *oldbuf;
@ -971,7 +977,7 @@ struct tcb *tcp;
}
#ifdef linux
# if !defined(IA64)
# if !defined(IA64) && !defined(HPPA)
int
sys_oldstat(tcp)
struct tcb *tcp;
@ -1018,7 +1024,7 @@ struct tcb *tcp;
}
#ifdef linux
# if !defined(IA64)
# if !defined(IA64) && !defined(HPPA)
int
sys_oldfstat(tcp)
struct tcb *tcp;
@ -1066,7 +1072,7 @@ struct tcb *tcp;
}
#ifdef linux
# if !defined(IA64)
# if !defined(IA64) && !defined(HPPA)
int
sys_oldlstat(tcp)
struct tcb *tcp;

3
linux/hppa/.cvsignore Normal file
View File

@ -0,0 +1,3 @@
Makefile
ioctldefs.h
ioctls.h

57
linux/hppa/Makefile.in Normal file
View File

@ -0,0 +1,57 @@
#
# $Id$
#
srcdir = @srcdir@
VPATH = @srcdir@
CC = @CC@
CPP = @CPP@
SHELL = /bin/sh
DEFS = @DEFS@
LDLIBS = @LIBS@
CFLAGS = -g
LDFLAGS = -g
WARNFLAGS = @WARNFLAGS@
CPPFLAGS =
INCLUDES = -I. -I.. -I$(srcdir)/.. -I../.. -I$(srcdir)
includedir = @includedir@
all: ioctlent.h errnoent.h signalent.h syscallent.h
ioctlent.raw: ioctlent.sh
$(SHELL) $(srcdir)/ioctlent.sh $(includedir) >$@
ioctlent.h: ioctlent.raw ioctlsort
./ioctlsort >$@
ioctlsort: ioctlsort.o
$(CC) $(LDFLAGS) ioctlsort.o -o ioctlsort
ioctlsort.o: ../../ioctlsort.c
$(CC) $(WARNFLAGS) $(DEFS) $(CPPFLAGS) $(INCLUDES) $(CFLAGS) -c $(srcdir)/../../ioctlsort.c
ioctlsort.o: ioctlent.raw
errnoent.h: ../../errnoent.sh $(includedir)/asm/errno.h
$(SHELL) $(srcdir)/../../errnoent.sh $(includedir)/asm/errno.h >$@
signalent.h: ../../signalent.sh $(includedir)/asm/signal.h
$(SHELL) $(srcdir)/../../signalent.sh $(includedir)/asm/signal.h >$@
#syscallent.h: ../../syscallent.sh $(includedir)/sys/syscall.h
syscallent.h:
$(SHELL) $(srcdir)/../../syscallent.sh $(includedir)/sys/syscall.h >$@
clean:
rm -f ioctlent.c *.raw *.tmp *.o ioctlsort
distclean: clean
rm -f Makefile
maintainer-clean: distclean
rm -f ioctlent.h errnoent.h signalent.h

254
linux/hppa/errnoent.h Normal file
View File

@ -0,0 +1,254 @@
"ERRNO_0", /* 0 */
"EPERM", /* 1 */
"ENOENT", /* 2 */
"ESRCH", /* 3 */
"EINTR", /* 4 */
"EIO", /* 5 */
"ENXIO", /* 6 */
"E2BIG", /* 7 */
"ENOEXEC", /* 8 */
"EBADF", /* 9 */
"ECHILD", /* 10 */
"EAGAIN", /* 11 */
"ENOMEM", /* 12 */
"EACCES", /* 13 */
"EFAULT", /* 14 */
"ENOTBLK", /* 15 */
"EBUSY", /* 16 */
"EEXIST", /* 17 */
"EXDEV", /* 18 */
"ENODEV", /* 19 */
"ENOTDIR", /* 20 */
"EISDIR", /* 21 */
"EINVAL", /* 22 */
"ENFILE", /* 23 */
"EMFILE", /* 24 */
"ENOTTY", /* 25 */
"ETXTBSY", /* 26 */
"EFBIG", /* 27 */
"ENOSPC", /* 28 */
"ESPIPE", /* 29 */
"EROFS", /* 30 */
"EMLINK", /* 31 */
"EPIPE", /* 32 */
"EDOM", /* 33 */
"ERANGE", /* 34 */
"ENOMSG", /* 35 */
"EIDRM", /* 36 */
"ECHRNG", /* 37 */
"EL2NSYNC", /* 38 */
"EL3HLT", /* 39 */
"EL3RST", /* 40 */
"ELNRNG", /* 41 */
"EUNATCH", /* 42 */
"ENOCSI", /* 43 */
"EL2HLT", /* 44 */
"EDEADLK", /* 45 */
"ENOLCK", /* 46 */
"EILSEQ", /* 47 */
"ERRNO_48", /* 48 */
"ERRNO_49", /* 49 */
"ENONET", /* 50 */
"ENODATA", /* 51 */
"ETIME", /* 52 */
"ENOSR", /* 53 */
"ENOSTR", /* 54 */
"ENOPKG", /* 55 */
"ERRNO_56", /* 56 */
"ENOLINK", /* 57 */
"EADV", /* 58 */
"ESRMNT", /* 59 */
"ECOMM", /* 60 */
"EPROTO", /* 61 */
"ERRNO_62", /* 62 */
"ERRNO_63", /* 63 */
"EMULTIHOP", /* 64 */
"ERRNO_65", /* 65 */
"EDOTDOT", /* 66 */
"EBADMSG", /* 67 */
"EUSERS", /* 68 */
"EDQUOT", /* 69 */
"ESTALE", /* 70 */
"EREMOTE", /* 71 */
"EOVERFLOW", /* 72 */
"ERRNO_73", /* 73 */
"ERRNO_74", /* 74 */
"ERRNO_75", /* 75 */
"ERRNO_76", /* 76 */
"ERRNO_77", /* 77 */
"ERRNO_78", /* 78 */
"ERRNO_79", /* 79 */
"ERRNO_80", /* 80 */
"ERRNO_81", /* 81 */
"ERRNO_82", /* 82 */
"ERRNO_83", /* 83 */
"ERRNO_84", /* 84 */
"ERRNO_85", /* 85 */
"ERRNO_86", /* 86 */
"ERRNO_87", /* 87 */
"ERRNO_88", /* 88 */
"ERRNO_89", /* 89 */
"ERRNO_90", /* 90 */
"ERRNO_91", /* 91 */
"ERRNO_92", /* 92 */
"ERRNO_93", /* 93 */
"ERRNO_94", /* 94 */
"ERRNO_95", /* 95 */
"ERRNO_96", /* 96 */
"ERRNO_97", /* 97 */
"ERRNO_98", /* 98 */
"ERRNO_99", /* 99 */
"ERRNO_100", /* 100 */
"ERRNO_101", /* 101 */
"ERRNO_102", /* 102 */
"ERRNO_103", /* 103 */
"ERRNO_104", /* 104 */
"ERRNO_105", /* 105 */
"ERRNO_106", /* 106 */
"ERRNO_107", /* 107 */
"ERRNO_108", /* 108 */
"ERRNO_109", /* 109 */
"ERRNO_110", /* 110 */
"ERRNO_111", /* 111 */
"ERRNO_112", /* 112 */
"ERRNO_113", /* 113 */
"ERRNO_114", /* 114 */
"ERRNO_115", /* 115 */
"ERRNO_116", /* 116 */
"ERRNO_117", /* 117 */
"ERRNO_118", /* 118 */
"ERRNO_119", /* 119 */
"ERRNO_120", /* 120 */
"ERRNO_121", /* 121 */
"ERRNO_122", /* 122 */
"ERRNO_123", /* 123 */
"ERRNO_124", /* 124 */
"ERRNO_125", /* 125 */
"ERRNO_126", /* 126 */
"ERRNO_127", /* 127 */
"ERRNO_128", /* 128 */
"ERRNO_129", /* 129 */
"ERRNO_130", /* 130 */
"ERRNO_131", /* 131 */
"ERRNO_132", /* 132 */
"ERRNO_133", /* 133 */
"ERRNO_134", /* 134 */
"ERRNO_135", /* 135 */
"ERRNO_136", /* 136 */
"ERRNO_137", /* 137 */
"ERRNO_138", /* 138 */
"ERRNO_139", /* 139 */
"ERRNO_140", /* 140 */
"ERRNO_141", /* 141 */
"ERRNO_142", /* 142 */
"ERRNO_143", /* 143 */
"ERRNO_144", /* 144 */
"ERRNO_145", /* 145 */
"ERRNO_146", /* 146 */
"ERRNO_147", /* 147 */
"ERRNO_148", /* 148 */
"ERRNO_149", /* 149 */
"ERRNO_150", /* 150 */
"ERRNO_151", /* 151 */
"ERRNO_152", /* 152 */
"ERRNO_153", /* 153 */
"ERRNO_154", /* 154 */
"ERRNO_155", /* 155 */
"ERRNO_156", /* 156 */
"ERRNO_157", /* 157 */
"ERRNO_158", /* 158 */
"ERRNO_159", /* 159 */
"EBADE", /* 160 */
"EBADR", /* 161 */
"EXFULL", /* 162 */
"ENOANO", /* 163 */
"EBADRQC", /* 164 */
"EBADSLT", /* 165 */
"EBFONT", /* 166 */
"ENOTUNIQ", /* 167 */
"EBADFD", /* 168 */
"EREMCHG", /* 169 */
"ELIBACC", /* 170 */
"ELIBBAD", /* 171 */
"ELIBSCN", /* 172 */
"ELIBMAX", /* 173 */
"ELIBEXEC", /* 174 */
"ERESTART", /* 175 */
"ESTRPIPE", /* 176 */
"EUCLEAN", /* 177 */
"ENOTNAM", /* 178 */
"ENAVAIL", /* 179 */
"EISNAM", /* 180 */
"EREMOTEIO", /* 181 */
"ENOMEDIUM", /* 182 */
"EMEDIUMTYPE", /* 183 */
"ERRNO_184", /* 184 */
"ERRNO_185", /* 185 */
"ERRNO_186", /* 186 */
"ERRNO_187", /* 187 */
"ERRNO_188", /* 188 */
"ERRNO_189", /* 189 */
"ERRNO_190", /* 190 */
"ERRNO_191", /* 191 */
"ERRNO_192", /* 192 */
"ERRNO_193", /* 193 */
"ERRNO_194", /* 194 */
"ERRNO_195", /* 195 */
"ERRNO_196", /* 196 */
"ERRNO_197", /* 197 */
"ERRNO_198", /* 198 */
"ERRNO_199", /* 199 */
"ERRNO_200", /* 200 */
"ERRNO_201", /* 201 */
"ERRNO_202", /* 202 */
"ERRNO_203", /* 203 */
"ERRNO_204", /* 204 */
"ERRNO_205", /* 205 */
"ERRNO_206", /* 206 */
"ERRNO_207", /* 207 */
"ERRNO_208", /* 208 */
"ERRNO_209", /* 209 */
"ERRNO_210", /* 210 */
"ERRNO_211", /* 211 */
"ERRNO_212", /* 212 */
"ERRNO_213", /* 213 */
"ERRNO_214", /* 214 */
"ENOSYM", /* 215 */
"ENOTSOCK", /* 216 */
"EDESTADDRREQ", /* 217 */
"EMSGSIZE", /* 218 */
"EPROTOTYPE", /* 219 */
"ENOPROTOOPT", /* 220 */
"EPROTONOSUPPORT", /* 221 */
"ESOCKTNOSUPPORT", /* 222 */
"EOPNOTSUPP", /* 223 */
"EPFNOSUPPORT", /* 224 */
"EAFNOSUPPORT", /* 225 */
"EADDRINUSE", /* 226 */
"EADDRNOTAVAIL", /* 227 */
"ENETDOWN", /* 228 */
"ENETUNREACH", /* 229 */
"ENETRESET", /* 230 */
"ECONNABORTED", /* 231 */
"ECONNRESET", /* 232 */
"ENOBUFS", /* 233 */
"EISCONN", /* 234 */
"ENOTCONN", /* 235 */
"ESHUTDOWN", /* 236 */
"ETOOMANYREFS", /* 237 */
"ETIMEDOUT", /* 238 */
"ECONNREFUSED", /* 239 */
"EREMOTERELEASE", /* 240 */
"EHOSTDOWN", /* 241 */
"EHOSTUNREACH", /* 242 */
"ERRNO_243", /* 243 */
"EALREADY", /* 244 */
"EINPROGRESS", /* 245 */
"EWOULDBLOCK", /* 246 */
"ENOTEMPTY", /* 247 */
"ENAMETOOLONG", /* 248 */
"ELOOP", /* 249 */
"ERRNO_250", /* 250 */
"ENOSYS", /* 251 */
"ENOTSUP", /* 252 */
"ECANCELLED", /* 253 */

600
linux/hppa/ioctlent.h Normal file
View File

@ -0,0 +1,600 @@
{"asm/contregs.h", "AC_M_AFAR", 0x600},
{"asm/contregs.h", "AC_M_SFSR", 0x300},
{"asm/fbio.h", "FBIOGATTR", 0x40584606},
{"asm/fbio.h", "FBIOGCURMAX", 0x4004461c},
{"asm/fbio.h", "FBIOGCURPOS", 0x8004461b},
{"asm/fbio.h", "FBIOGCURSOR", 0xc02c4619},
{"asm/fbio.h", "FBIOGETCMAP", 0x4604},
{"asm/fbio.h", "FBIOGTYPE", 0x40184600},
{"asm/fbio.h", "FBIOGVIDEO", 0x40044608},
{"asm/fbio.h", "FBIOPUTCMAP", 0x4605},
{"asm/fbio.h", "FBIOSATTR", 0x80584605},
{"asm/fbio.h", "FBIOSCURPOS", 0x8004461a},
{"asm/fbio.h", "FBIOSCURSOR", 0x802c4618},
{"asm/fbio.h", "FBIOSVIDEO", 0x80044607},
{"asm/ioctls.h", "FIOASYNC", 0x8004667d},
{"asm/ioctls.h", "FIOCLEX", 0x20006601},
{"asm/ioctls.h", "FIONBIO", 0x8004667e},
{"asm/ioctls.h", "FIONCLEX", 0x20006602},
{"asm/ioctls.h", "FIONREAD", 0x4004667f},
{"asm/ioctls.h", "TCFLSH", 0x00005407},
{"asm/ioctls.h", "TCGETA", 0x40125401},
{"asm/ioctls.h", "TCGETS", 0x40245410},
{"asm/ioctls.h", "TCSBRK", 0x00005405},
{"asm/ioctls.h", "TCSBRKP", 0x5425},
{"asm/ioctls.h", "TCSETA", 0x80125402},
{"asm/ioctls.h", "TCSETAF", 0x80125404},
{"asm/ioctls.h", "TCSETAW", 0x80125403},
{"asm/ioctls.h", "TCSETS", 0x80245411},
{"asm/ioctls.h", "TCSETSF", 0x80245413},
{"asm/ioctls.h", "TCSETSW", 0x80245412},
{"asm/ioctls.h", "TCXONC", 0x00005406},
{"asm/ioctls.h", "TIOCCONS", 0x20007424},
{"asm/ioctls.h", "TIOCEXCL", 0x2000740d},
{"asm/ioctls.h", "TIOCGETD", 0x40047400},
{"asm/ioctls.h", "TIOCGLCKTRMIOS", 0x5456},
{"asm/ioctls.h", "TIOCGPGRP", 0x40047483},
{"asm/ioctls.h", "TIOCGSERIAL", 0x541e},
{"asm/ioctls.h", "TIOCGSOFTCAR", 0x40047464},
{"asm/ioctls.h", "TIOCGWINSZ", 0x40087468},
{"asm/ioctls.h", "TIOCLINUX", 0x541c},
{"asm/ioctls.h", "TIOCMBIC", 0x8004746b},
{"asm/ioctls.h", "TIOCMBIS", 0x8004746c},
{"asm/ioctls.h", "TIOCMGET", 0x4004746a},
{"asm/ioctls.h", "TIOCMSET", 0x8004746d},
{"asm/ioctls.h", "TIOCNOTTY", 0x20007471},
{"asm/ioctls.h", "TIOCNXCL", 0x2000740e},
{"asm/ioctls.h", "TIOCOUTQ", 0x40047473},
{"asm/ioctls.h", "TIOCPKT", 0x80047470},
{"asm/ioctls.h", "TIOCSCTTY", 0x20007484},
{"asm/ioctls.h", "TIOCSERCONFIG", 0x5453},
{"asm/ioctls.h", "TIOCSERGETLSR", 0x5459},
{"asm/ioctls.h", "TIOCSERGETMULTI", 0x545a},
{"asm/ioctls.h", "TIOCSERGSTRUCT", 0x5458},
{"asm/ioctls.h", "TIOCSERGWILD", 0x5454},
{"asm/ioctls.h", "TIOCSERSETMULTI", 0x545b},
{"asm/ioctls.h", "TIOCSERSWILD", 0x5455},
{"asm/ioctls.h", "TIOCSETD", 0x80047401},
{"asm/ioctls.h", "TIOCSLCKTRMIOS", 0x5457},
{"asm/ioctls.h", "TIOCSPGRP", 0x80047482},
{"asm/ioctls.h", "TIOCSSERIAL", 0x541f},
{"asm/ioctls.h", "TIOCSSOFTCAR", 0x80047465},
{"asm/ioctls.h", "TIOCSTI", 0x80017472},
{"asm/ioctls.h", "TIOCSWINSZ", 0x80087467},
{"asm/ioctls.h", "TIOCTTYGSTRUCT", 0x5426},
{"asm/ioctls.h", "__TCGETSTAT", 0x200054c8},
{"asm/ioctls.h", "__TCSETSTAT", 0x200054c9},
{"asm/ioctls.h", "__TIOCCBRK", 0x2000747a},
{"asm/ioctls.h", "__TIOCCDTR", 0x20007478},
{"asm/ioctls.h", "__TIOCFLUSH", 0x80047410},
{"asm/ioctls.h", "__TIOCGETC", 0x40067412},
{"asm/ioctls.h", "__TIOCGETP", 0x40067408},
{"asm/ioctls.h", "__TIOCGETX", 0x40047423},
{"asm/ioctls.h", "__TIOCGLTC", 0x40067474},
{"asm/ioctls.h", "__TIOCGSIZE", 0x40087426},
{"asm/ioctls.h", "__TIOCHPCL", 0x20007402},
{"asm/ioctls.h", "__TIOCISIZE", 0x40047481},
{"asm/ioctls.h", "__TIOCISPACE", 0x40047480},
{"asm/ioctls.h", "__TIOCLBIC", 0x8004747e},
{"asm/ioctls.h", "__TIOCLBIS", 0x8004747f},
{"asm/ioctls.h", "__TIOCLGET", 0x8004747c},
{"asm/ioctls.h", "__TIOCLSET", 0x8004747d},
{"asm/ioctls.h", "__TIOCMODG", 0x40047403},
{"asm/ioctls.h", "__TIOCMODS", 0x80047404},
{"asm/ioctls.h", "__TIOCREMOTE", 0x80047469},
{"asm/ioctls.h", "__TIOCSBRK", 0x2000747b},
{"asm/ioctls.h", "__TIOCSDTR", 0x20007479},
{"asm/ioctls.h", "__TIOCSETC", 0x80067411},
{"asm/ioctls.h", "__TIOCSETN", 0x8006740a},
{"asm/ioctls.h", "__TIOCSETP", 0x80067409},
{"asm/ioctls.h", "__TIOCSETX", 0x80047422},
{"asm/ioctls.h", "__TIOCSIGNAL", 0x80047421},
{"asm/ioctls.h", "__TIOCSLTC", 0x80067475},
{"asm/ioctls.h", "__TIOCSSIZE", 0x80087425},
{"asm/ioctls.h", "__TIOCSTART", 0x2000746e},
{"asm/ioctls.h", "__TIOCSTOP", 0x2000746f},
{"asm/ioctls.h", "__TIOCTCNTL", 0x80047420},
{"asm/ioctls.h", "__TIOCUCNTL", 0x80047466},
{"asm/kbio.h", "KIOCCMD", 0x80046b08},
{"asm/kbio.h", "KIOCGTRANS", 0x40046b05},
{"asm/kbio.h", "KIOCLAYOUT", 0x40046b14},
{"asm/kbio.h", "KIOCSDIRECT", 0x80046b0a},
{"asm/kbio.h", "KIOCTRANS", 0x80046b00},
{"asm/kbio.h", "KIOCTYPE", 0x40046b09},
{"asm/sockios.h", "FIOGETOWN", 0x8903},
{"asm/sockios.h", "FIOSETOWN", 0x8901},
{"asm/sockios.h", "SIOCATMARK", 0x8905},
{"asm/sockios.h", "SIOCGPGRP", 0x8904},
{"asm/sockios.h", "SIOCGSTAMP", 0x8906},
{"asm/sockios.h", "SIOCSPGRP", 0x8902},
{"asm/vuid_event.h", "VUIDGFORMAT", 0x40047602},
{"asm/vuid_event.h", "VUIDSFORMAT", 0x80047601},
{"linux/apm_bios.h", "APM_IOC_STANDBY", 0x20004101},
{"linux/apm_bios.h", "APM_IOC_SUSPEND", 0x20004102},
{"linux/baycom.h", "BAYCOMCTL_CALIBRATE", 0x2000420a},
{"linux/baycom.h", "BAYCOMCTL_DEBUG1", 0x40044212},
{"linux/baycom.h", "BAYCOMCTL_DEBUG2", 0x40044213},
{"linux/baycom.h", "BAYCOMCTL_DEBUG3", 0x40044214},
{"linux/baycom.h", "BAYCOMCTL_GETBITS", 0x40014211},
{"linux/baycom.h", "BAYCOMCTL_GETDCD", 0x40014200},
{"linux/baycom.h", "BAYCOMCTL_GETPARAMS", 0x40244208},
{"linux/baycom.h", "BAYCOMCTL_GETPTT", 0x40014201},
{"linux/baycom.h", "BAYCOMCTL_GETSAMPLES", 0x40014210},
{"linux/baycom.h", "BAYCOMCTL_GETSTAT", 0x40144207},
{"linux/baycom.h", "BAYCOMCTL_PARAM_FULLDUP", 0x20004206},
{"linux/baycom.h", "BAYCOMCTL_PARAM_PPERSIST", 0x20004203},
{"linux/baycom.h", "BAYCOMCTL_PARAM_SLOTTIME", 0x20004204},
{"linux/baycom.h", "BAYCOMCTL_PARAM_TXDELAY", 0x20004202},
{"linux/baycom.h", "BAYCOMCTL_PARAM_TXTAIL", 0x20004205},
{"linux/baycom.h", "BAYCOMCTL_SETPARAMS", 0x40244209},
{"linux/cdk.h", "STL_BINTR", 0x20007314},
{"linux/cdk.h", "STL_BRESET", 0x20007317},
{"linux/cdk.h", "STL_BSTART", 0x20007315},
{"linux/cdk.h", "STL_BSTOP", 0x20007316},
{"linux/cdk.h", "STL_GETPFLAG", 0x20007350},
{"linux/cdk.h", "STL_SETPFLAG", 0x20007351},
{"linux/cdrom.h", "CDROMCLOSETRAY", 0x5319},
{"linux/cdrom.h", "CDROMEJECT", 0x5309},
{"linux/cdrom.h", "CDROMEJECT_SW", 0x530f},
{"linux/cdrom.h", "CDROMLOADFROMSLOT", 0x531a},
{"linux/cdrom.h", "CDROMMULTISESSION", 0x5310},
{"linux/cdrom.h", "CDROMPAUSE", 0x5301},
{"linux/cdrom.h", "CDROMPLAYBLK", 0x5317},
{"linux/cdrom.h", "CDROMPLAYMSF", 0x5303},
{"linux/cdrom.h", "CDROMPLAYTRKIND", 0x5304},
{"linux/cdrom.h", "CDROMREADALL", 0x5318},
{"linux/cdrom.h", "CDROMREADAUDIO", 0x530e},
{"linux/cdrom.h", "CDROMREADCOOKED", 0x5315},
{"linux/cdrom.h", "CDROMREADMODE1", 0x530d},
{"linux/cdrom.h", "CDROMREADMODE2", 0x530c},
{"linux/cdrom.h", "CDROMREADRAW", 0x5314},
{"linux/cdrom.h", "CDROMREADTOCENTRY", 0x5306},
{"linux/cdrom.h", "CDROMREADTOCHDR", 0x5305},
{"linux/cdrom.h", "CDROMRESET", 0x5312},
{"linux/cdrom.h", "CDROMRESUME", 0x5302},
{"linux/cdrom.h", "CDROMSEEK", 0x5316},
{"linux/cdrom.h", "CDROMSTART", 0x5308},
{"linux/cdrom.h", "CDROMSTOP", 0x5307},
{"linux/cdrom.h", "CDROMSUBCHNL", 0x530b},
{"linux/cdrom.h", "CDROMVOLCTRL", 0x530a},
{"linux/cdrom.h", "CDROMVOLREAD", 0x5313},
{"linux/cdrom.h", "CDROM_GET_UPC", 0x5311},
{"linux/cm206.h", "CDROMRESET", 0x5312},
{"linux/cm206.h", "CDROM_GET_UPC", 0x5311},
{"linux/cm206.h", "CM206CTL_GET_LAST_STAT", 0x20002001},
{"linux/cm206.h", "CM206CTL_GET_STAT", 0x20002000},
{"linux/comstats.h", "COM_CLRPORTSTATS", 0x2000631f},
{"linux/comstats.h", "COM_GETBRDSTATS", 0x20006320},
{"linux/comstats.h", "COM_GETPORTSTATS", 0x2000631e},
{"linux/comstats.h", "COM_READBOARD", 0x20006329},
{"linux/comstats.h", "COM_READPANEL", 0x2000632a},
{"linux/comstats.h", "COM_READPORT", 0x20006328},
{"linux/cyclades.h", "CYGETDEFTHRESH", 0x435904},
{"linux/cyclades.h", "CYGETDEFTIMEOUT", 0x435908},
{"linux/cyclades.h", "CYGETMON", 0x435901},
{"linux/cyclades.h", "CYGETTHRESH", 0x435902},
{"linux/cyclades.h", "CYGETTIMEOUT", 0x435906},
{"linux/cyclades.h", "CYSETDEFTHRESH", 0x435905},
{"linux/cyclades.h", "CYSETDEFTIMEOUT", 0x435909},
{"linux/cyclades.h", "CYSETTHRESH", 0x435903},
{"linux/cyclades.h", "CYSETTIMEOUT", 0x435907},
{"linux/ext2_fs.h", "EXT2_IOC_GETFLAGS", 0x40046601},
{"linux/ext2_fs.h", "EXT2_IOC_GETVERSION", 0x40047601},
{"linux/ext2_fs.h", "EXT2_IOC_SETFLAGS", 0x80046602},
{"linux/ext2_fs.h", "EXT2_IOC_SETVERSION", 0x80047602},
{"linux/fb.h", "FBCMD_DRAWLINE", 0x4621},
{"linux/fb.h", "FBCMD_MOVE", 0x4622},
{"linux/fb.h", "FBIOGETCMAP", 0x4604},
{"linux/fb.h", "FBIOGET_CURSORSTATE", 0x460a},
{"linux/fb.h", "FBIOGET_FCURSORINFO", 0x4607},
{"linux/fb.h", "FBIOGET_FSCREENINFO", 0x4602},
{"linux/fb.h", "FBIOGET_VCURSORINFO", 0x4608},
{"linux/fb.h", "FBIOGET_VSCREENINFO", 0x4600},
{"linux/fb.h", "FBIOPAN_DISPLAY", 0x4606},
{"linux/fb.h", "FBIOPUTCMAP", 0x4605},
{"linux/fb.h", "FBIOPUT_CURSORSTATE", 0x460b},
{"linux/fb.h", "FBIOPUT_VCURSORINFO", 0x4609},
{"linux/fb.h", "FBIOPUT_VSCREENINFO", 0x4601},
{"linux/fd.h", "FDCLRPRM", 0x20000241},
{"linux/fd.h", "FDDEFPRM", 0x801c0243},
{"linux/fd.h", "FDEJECT", 0x2000025a},
{"linux/fd.h", "FDFLUSH", 0x2000024b},
{"linux/fd.h", "FDFMTBEG", 0x20000247},
{"linux/fd.h", "FDFMTEND", 0x20000249},
{"linux/fd.h", "FDFMTTRK", 0x800c0248},
{"linux/fd.h", "FDGETDRVPRM", 0x40580211},
{"linux/fd.h", "FDGETDRVSTAT", 0x40340212},
{"linux/fd.h", "FDGETDRVTYP", 0x4010020f},
{"linux/fd.h", "FDGETFDCSTAT", 0x40200215},
{"linux/fd.h", "FDGETMAXERRS", 0x4014020e},
{"linux/fd.h", "FDGETPRM", 0x401c0204},
{"linux/fd.h", "FDMSGOFF", 0x20000246},
{"linux/fd.h", "FDMSGON", 0x20000245},
{"linux/fd.h", "FDPOLLDRVSTAT", 0x40340213},
{"linux/fd.h", "FDRAWCMD", 0x20000258},
{"linux/fd.h", "FDRESET", 0x20000254},
{"linux/fd.h", "FDSETDRVPRM", 0x80580290},
{"linux/fd.h", "FDSETEMSGTRESH", 0x2000024a},
{"linux/fd.h", "FDSETMAXERRS", 0x8014024c},
{"linux/fd.h", "FDSETPRM", 0x801c0242},
{"linux/fd.h", "FDTWADDLE", 0x20000259},
{"linux/fd.h", "FDWERRORCLR", 0x20000256},
{"linux/fd.h", "FDWERRORGET", 0x40180217},
{"linux/fs.h", "BLKFLSBUF", 0x20001261},
{"linux/fs.h", "BLKGETSIZE", 0x20001260},
{"linux/fs.h", "BLKRAGET", 0x20001263},
{"linux/fs.h", "BLKRASET", 0x20001262},
{"linux/fs.h", "BLKROGET", 0x2000125e},
{"linux/fs.h", "BLKROSET", 0x2000125d},
{"linux/fs.h", "BLKRRPART", 0x2000125f},
{"linux/fs.h", "FIBMAP", 0x20000001},
{"linux/fs.h", "FIGETBSZ", 0x20000002},
{"linux/hdreg.h", "HDIO_DRIVE_CMD", 0x31f},
{"linux/hdreg.h", "HDIO_GETGEO", 0x301},
{"linux/hdreg.h", "HDIO_GET_32BIT", 0x309},
{"linux/hdreg.h", "HDIO_GET_DMA", 0x30b},
{"linux/hdreg.h", "HDIO_GET_IDENTITY", 0x307},
{"linux/hdreg.h", "HDIO_GET_KEEPSETTINGS", 0x308},
{"linux/hdreg.h", "HDIO_GET_MULTCOUNT", 0x304},
{"linux/hdreg.h", "HDIO_GET_NOWERR", 0x30a},
{"linux/hdreg.h", "HDIO_GET_UNMASKINTR", 0x302},
{"linux/hdreg.h", "HDIO_SET_32BIT", 0x324},
{"linux/hdreg.h", "HDIO_SET_DMA", 0x326},
{"linux/hdreg.h", "HDIO_SET_KEEPSETTINGS", 0x323},
{"linux/hdreg.h", "HDIO_SET_MULTCOUNT", 0x321},
{"linux/hdreg.h", "HDIO_SET_NOWERR", 0x325},
{"linux/hdreg.h", "HDIO_SET_PIO_MODE", 0x327},
{"linux/hdreg.h", "HDIO_SET_UNMASKINTR", 0x322},
{"linux/if_ppp.h", "PPPIOCGASYNCMAP", 0x40047458},
{"linux/if_ppp.h", "PPPIOCGDEBUG", 0x40047441},
{"linux/if_ppp.h", "PPPIOCGFLAGS", 0x4004745a},
{"linux/if_ppp.h", "PPPIOCGIDLE", 0x4008743f},
{"linux/if_ppp.h", "PPPIOCGMRU", 0x40047453},
{"linux/if_ppp.h", "PPPIOCGNPMODE", 0xc008744c},
{"linux/if_ppp.h", "PPPIOCGRASYNCMAP", 0x40047455},
{"linux/if_ppp.h", "PPPIOCGUNIT", 0x40047456},
{"linux/if_ppp.h", "PPPIOCGXASYNCMAP", 0x40207450},
{"linux/if_ppp.h", "PPPIOCSASYNCMAP", 0x80047457},
{"linux/if_ppp.h", "PPPIOCSCOMPRESS", 0x800c744d},
{"linux/if_ppp.h", "PPPIOCSDEBUG", 0x80047440},
{"linux/if_ppp.h", "PPPIOCSFLAGS", 0x80047459},
{"linux/if_ppp.h", "PPPIOCSMAXCID", 0x80047451},
{"linux/if_ppp.h", "PPPIOCSMRU", 0x80047452},
{"linux/if_ppp.h", "PPPIOCSNPMODE", 0x8008744b},
{"linux/if_ppp.h", "PPPIOCSRASYNCMAP", 0x80047454},
{"linux/if_ppp.h", "PPPIOCSXASYNCMAP", 0x8020744f},
{"linux/if_ppp.h", "PPPIOCXFERUNIT", 0x2000744e},
{"linux/ip_fw.h", "IP_FW_TYPE", 0x300},
{"linux/isdn.h", "IIOCDBGVAR", 0x2000497f},
{"linux/isdn.h", "IIOCDRVCTL", 0x20004980},
{"linux/isdn.h", "IIOCGETCPS", 0x20004915},
{"linux/isdn.h", "IIOCGETMAP", 0x20004911},
{"linux/isdn.h", "IIOCGETPRF", 0x2000490f},
{"linux/isdn.h", "IIOCGETSET", 0x20004908},
{"linux/isdn.h", "IIOCNETAIF", 0x20004901},
{"linux/isdn.h", "IIOCNETALN", 0x20004920},
{"linux/isdn.h", "IIOCNETANM", 0x20004905},
{"linux/isdn.h", "IIOCNETASL", 0x20004913},
{"linux/isdn.h", "IIOCNETDIF", 0x20004902},
{"linux/isdn.h", "IIOCNETDIL", 0x20004914},
{"linux/isdn.h", "IIOCNETDLN", 0x20004921},
{"linux/isdn.h", "IIOCNETDNM", 0x20004906},
{"linux/isdn.h", "IIOCNETGCF", 0x20004904},
{"linux/isdn.h", "IIOCNETGNM", 0x20004907},
{"linux/isdn.h", "IIOCNETHUP", 0x2000490b},
{"linux/isdn.h", "IIOCNETSCF", 0x20004903},
{"linux/isdn.h", "IIOCSETBRJ", 0x2000490d},
{"linux/isdn.h", "IIOCSETGST", 0x2000490c},
{"linux/isdn.h", "IIOCSETMAP", 0x20004912},
{"linux/isdn.h", "IIOCSETPRF", 0x20004910},
{"linux/isdn.h", "IIOCSETSET", 0x20004909},
{"linux/isdn.h", "IIOCSETVER", 0x2000490a},
{"linux/isdn.h", "IIOCSIGPRF", 0x2000490e},
{"linux/isdn_ppp.h", "PPPIOCBUNDLE", 0x80047481},
{"linux/isdn_ppp.h", "PPPIOCGMPFLAGS", 0x40047482},
{"linux/isdn_ppp.h", "PPPIOCLINKINFO", 0xc0247480},
{"linux/isdn_ppp.h", "PPPIOCSMPFLAGS", 0x80047483},
{"linux/isdn_ppp.h", "PPPIOCSMPMRU", 0x80047485},
{"linux/isdn_ppp.h", "PPPIOCSMPMTU", 0x80047484},
{"linux/kd.h", "GIO_CMAP", 0x4b70},
{"linux/kd.h", "GIO_FONT", 0x4b60},
{"linux/kd.h", "GIO_FONTX", 0x4b6b},
{"linux/kd.h", "GIO_SCRNMAP", 0x4b40},
{"linux/kd.h", "GIO_UNIMAP", 0x4b66},
{"linux/kd.h", "GIO_UNISCRNMAP", 0x4b69},
{"linux/kd.h", "KDADDIO", 0x4b34},
{"linux/kd.h", "KDDELIO", 0x4b35},
{"linux/kd.h", "KDDISABIO", 0x4b37},
{"linux/kd.h", "KDENABIO", 0x4b36},
{"linux/kd.h", "KDGETKEYCODE", 0x4b4c},
{"linux/kd.h", "KDGETLED", 0x4b31},
{"linux/kd.h", "KDGETMODE", 0x4b3b},
{"linux/kd.h", "KDGKBDIACR", 0x4b4a},
{"linux/kd.h", "KDGKBENT", 0x4b46},
{"linux/kd.h", "KDGKBLED", 0x4b64},
{"linux/kd.h", "KDGKBMETA", 0x4b62},
{"linux/kd.h", "KDGKBMODE", 0x4b44},
{"linux/kd.h", "KDGKBSENT", 0x4b48},
{"linux/kd.h", "KDGKBTYPE", 0x4b33},
{"linux/kd.h", "KDMAPDISP", 0x4b3c},
{"linux/kd.h", "KDMKTONE", 0x4b30},
{"linux/kd.h", "KDSETKEYCODE", 0x4b4d},
{"linux/kd.h", "KDSETLED", 0x4b32},
{"linux/kd.h", "KDSETMODE", 0x4b3a},
{"linux/kd.h", "KDSIGACCEPT", 0x4b4e},
{"linux/kd.h", "KDSKBDIACR", 0x4b4b},
{"linux/kd.h", "KDSKBENT", 0x4b47},
{"linux/kd.h", "KDSKBLED", 0x4b65},
{"linux/kd.h", "KDSKBMETA", 0x4b63},
{"linux/kd.h", "KDSKBMODE", 0x4b45},
{"linux/kd.h", "KDSKBSENT", 0x4b49},
{"linux/kd.h", "KDUNMAPDISP", 0x4b3d},
{"linux/kd.h", "KIOCSOUND", 0x4b2f},
{"linux/kd.h", "PIO_CMAP", 0x4b71},
{"linux/kd.h", "PIO_FONT", 0x4b61},
{"linux/kd.h", "PIO_FONTRESET", 0x4b6d},
{"linux/kd.h", "PIO_FONTX", 0x4b6c},
{"linux/kd.h", "PIO_SCRNMAP", 0x4b41},
{"linux/kd.h", "PIO_UNIMAP", 0x4b67},
{"linux/kd.h", "PIO_UNIMAPCLR", 0x4b68},
{"linux/kd.h", "PIO_UNISCRNMAP", 0x4b6a},
{"linux/loop.h", "LOOP_CLR_FD", 0x4c01},
{"linux/loop.h", "LOOP_GET_STATUS", 0x4c03},
{"linux/loop.h", "LOOP_SET_FD", 0x4c00},
{"linux/loop.h", "LOOP_SET_STATUS", 0x4c02},
{"linux/lp.h", "LPABORT", 0x604},
{"linux/lp.h", "LPABORTOPEN", 0x60a},
{"linux/lp.h", "LPCAREFUL", 0x609},
{"linux/lp.h", "LPCHAR", 0x601},
{"linux/lp.h", "LPGETFLAGS", 0x60e},
{"linux/lp.h", "LPGETIRQ", 0x606},
{"linux/lp.h", "LPGETSTATS", 0x60d},
{"linux/lp.h", "LPGETSTATUS", 0x60b},
{"linux/lp.h", "LPRESET", 0x60c},
{"linux/lp.h", "LPSETIRQ", 0x605},
{"linux/lp.h", "LPTIME", 0x602},
{"linux/lp.h", "LPWAIT", 0x608},
{"linux/lp_m68k.h", "LPABORT", 0x604},
{"linux/lp_m68k.h", "LPABORTOPEN", 0x60a},
{"linux/lp_m68k.h", "LPCAREFUL", 0x609},
{"linux/lp_m68k.h", "LPCHAR", 0x601},
{"linux/lp_m68k.h", "LPGETIRQ", 0x606},
{"linux/lp_m68k.h", "LPGETSTATUS", 0x60b},
{"linux/lp_m68k.h", "LPRESET", 0x60c},
{"linux/lp_m68k.h", "LPSETIRQ", 0x605},
{"linux/lp_m68k.h", "LPTIME", 0x602},
{"linux/lp_m68k.h", "LPWAIT", 0x608},
{"linux/mc146818rtc.h", "RTC_AIE_OFF", 0x20007002},
{"linux/mc146818rtc.h", "RTC_AIE_ON", 0x20007001},
{"linux/mc146818rtc.h", "RTC_ALM_READ", 0x40247008},
{"linux/mc146818rtc.h", "RTC_ALM_SET", 0x80247007},
{"linux/mc146818rtc.h", "RTC_IRQP_READ", 0x4004700b},
{"linux/mc146818rtc.h", "RTC_IRQP_SET", 0x8004700c},
{"linux/mc146818rtc.h", "RTC_PIE_OFF", 0x20007006},
{"linux/mc146818rtc.h", "RTC_PIE_ON", 0x20007005},
{"linux/mc146818rtc.h", "RTC_RD_TIME", 0x40247009},
{"linux/mc146818rtc.h", "RTC_SET_TIME", 0x8024700a},
{"linux/mc146818rtc.h", "RTC_UIE_OFF", 0x20007004},
{"linux/mc146818rtc.h", "RTC_UIE_ON", 0x20007003},
{"linux/md.h", "REGISTER_DEV", 0x20000901},
{"linux/md.h", "START_MD", 0x20000902},
{"linux/md.h", "STOP_MD", 0x20000903},
{"linux/msdos_fs.h", "VFAT_IOCTL_READDIR_BOTH", 0x40047201},
{"linux/msdos_fs.h", "VFAT_IOCTL_READDIR_SHORT", 0x80047202},
{"linux/mtio.h", "MTIOCGET", 0x401c6d02},
{"linux/mtio.h", "MTIOCPOS", 0x40046d03},
{"linux/mtio.h", "MTIOCTOP", 0x80086d01},
{"linux/ncp_fs.h", "NCP_IOC_CONN_LOGGED_IN", 0x20006e03},
{"linux/ncp_fs.h", "NCP_IOC_GETMOUNTUID", 0x80026e02},
{"linux/ncp_fs.h", "NCP_IOC_GET_FS_INFO", 0xc0286e04},
{"linux/ncp_fs.h", "NCP_IOC_NCPREQUEST", 0x400c6e01},
{"linux/quota.h", "Q_GETQUOTA", 0x300},
{"linux/quota.h", "Q_SYNC", 0x600},
{"linux/random.h", "RNDADDENTROPY", 0x80085203},
{"linux/random.h", "RNDADDTOENTCNT", 0x80045201},
{"linux/random.h", "RNDCLEARPOOL", 0x20005206},
{"linux/random.h", "RNDGETENTCNT", 0x40045200},
{"linux/random.h", "RNDGETPOOL", 0x40085202},
{"linux/random.h", "RNDZAPENTCNT", 0x20005204},
{"linux/sbpcd.h", "CDROMAUDIOBUFSIZ", 0x5382},
{"linux/sbpcd.h", "DDIOCSDBG", 0x9000},
{"linux/scc.h", "TIOCCHANINI", 0x2202},
{"linux/scc.h", "TIOCCHANMEM", 0x2210},
{"linux/scc.h", "TIOCGKISS", 0x2282},
{"linux/scc.h", "TIOCSCCCFG", 0x2200},
{"linux/scc.h", "TIOCSCCINI", 0x2201},
{"linux/scc.h", "TIOCSCCSTAT", 0x2284},
{"linux/scc.h", "TIOCSKISS", 0x2283},
{"linux/smb_fs.h", "SMB_IOC_GETMOUNTUID", 0x40027501},
{"linux/sockios.h", "OLD_SIOCDARP", 0x8950},
{"linux/sockios.h", "OLD_SIOCGARP", 0x8951},
{"linux/sockios.h", "OLD_SIOCSARP", 0x8952},
{"linux/sockios.h", "SIOCADDDLCI", 0x8980},
{"linux/sockios.h", "SIOCADDMULTI", 0x8931},
{"linux/sockios.h", "SIOCADDRT", 0x890b},
{"linux/sockios.h", "SIOCDARP", 0x8953},
{"linux/sockios.h", "SIOCDELDLCI", 0x8981},
{"linux/sockios.h", "SIOCDELMULTI", 0x8932},
{"linux/sockios.h", "SIOCDELRT", 0x890c},
{"linux/sockios.h", "SIOCDEVPRIVATE", 0x89f0},
{"linux/sockios.h", "SIOCDRARP", 0x8960},
{"linux/sockios.h", "SIOCGARP", 0x8954},
{"linux/sockios.h", "SIOCGIFADDR", 0x8915},
{"linux/sockios.h", "SIOCGIFBR", 0x8940},
{"linux/sockios.h", "SIOCGIFBRDADDR", 0x8919},
{"linux/sockios.h", "SIOCGIFCONF", 0x8912},
{"linux/sockios.h", "SIOCGIFDSTADDR", 0x8917},
{"linux/sockios.h", "SIOCGIFENCAP", 0x8925},
{"linux/sockios.h", "SIOCGIFFLAGS", 0x8913},
{"linux/sockios.h", "SIOCGIFHWADDR", 0x8927},
{"linux/sockios.h", "SIOCGIFMAP", 0x8970},
{"linux/sockios.h", "SIOCGIFMEM", 0x891f},
{"linux/sockios.h", "SIOCGIFMETRIC", 0x891d},
{"linux/sockios.h", "SIOCGIFMTU", 0x8921},
{"linux/sockios.h", "SIOCGIFNAME", 0x8910},
{"linux/sockios.h", "SIOCGIFNETMASK", 0x891b},
{"linux/sockios.h", "SIOCGIFSLAVE", 0x8929},
{"linux/sockios.h", "SIOCGRARP", 0x8961},
{"linux/sockios.h", "SIOCPROTOPRIVATE", 0x89e0},
{"linux/sockios.h", "SIOCSARP", 0x8955},
{"linux/sockios.h", "SIOCSIFADDR", 0x8916},
{"linux/sockios.h", "SIOCSIFBR", 0x8941},
{"linux/sockios.h", "SIOCSIFBRDADDR", 0x891a},
{"linux/sockios.h", "SIOCSIFDSTADDR", 0x8918},
{"linux/sockios.h", "SIOCSIFENCAP", 0x8926},
{"linux/sockios.h", "SIOCSIFFLAGS", 0x8914},
{"linux/sockios.h", "SIOCSIFHWADDR", 0x8924},
{"linux/sockios.h", "SIOCSIFLINK", 0x8911},
{"linux/sockios.h", "SIOCSIFMAP", 0x8971},
{"linux/sockios.h", "SIOCSIFMEM", 0x8920},
{"linux/sockios.h", "SIOCSIFMETRIC", 0x891e},
{"linux/sockios.h", "SIOCSIFMTU", 0x8922},
{"linux/sockios.h", "SIOCSIFNETMASK", 0x891c},
{"linux/sockios.h", "SIOCSIFSLAVE", 0x8930},
{"linux/sockios.h", "SIOCSRARP", 0x8962},
{"linux/soundcard.h", "SNDCTL_COPR_HALT", 0xc0144307},
{"linux/soundcard.h", "SNDCTL_COPR_LOAD", 0xcfb04301},
{"linux/soundcard.h", "SNDCTL_COPR_RCODE", 0xc0144303},
{"linux/soundcard.h", "SNDCTL_COPR_RCVMSG", 0x4fa44309},
{"linux/soundcard.h", "SNDCTL_COPR_RDATA", 0xc0144302},
{"linux/soundcard.h", "SNDCTL_COPR_RESET", 0x20004300},
{"linux/soundcard.h", "SNDCTL_COPR_RUN", 0xc0144306},
{"linux/soundcard.h", "SNDCTL_COPR_SENDMSG", 0x8fa44308},
{"linux/soundcard.h", "SNDCTL_COPR_WCODE", 0x80144305},
{"linux/soundcard.h", "SNDCTL_COPR_WDATA", 0x80144304},
{"linux/soundcard.h", "SNDCTL_DSP_GETBLKSIZE", 0xc0045004},
{"linux/soundcard.h", "SNDCTL_DSP_GETCAPS", 0x4004500f},
{"linux/soundcard.h", "SNDCTL_DSP_GETFMTS", 0x4004500b},
{"linux/soundcard.h", "SNDCTL_DSP_GETIPTR", 0x400c5011},
{"linux/soundcard.h", "SNDCTL_DSP_GETISPACE", 0x4010500d},
{"linux/soundcard.h", "SNDCTL_DSP_GETOPTR", 0x400c5012},
{"linux/soundcard.h", "SNDCTL_DSP_GETOSPACE", 0x4010500c},
{"linux/soundcard.h", "SNDCTL_DSP_GETTRIGGER", 0x40045010},
{"linux/soundcard.h", "SNDCTL_DSP_MAPINBUF", 0x40085013},
{"linux/soundcard.h", "SNDCTL_DSP_MAPOUTBUF", 0x40085014},
{"linux/soundcard.h", "SNDCTL_DSP_NONBLOCK", 0x2000500e},
{"linux/soundcard.h", "SNDCTL_DSP_POST", 0x20005008},
{"linux/soundcard.h", "SNDCTL_DSP_RESET", 0x20005000},
{"linux/soundcard.h", "SNDCTL_DSP_SETDUPLEX", 0x20005016},
{"linux/soundcard.h", "SNDCTL_DSP_SETFMT", 0xc0045005},
{"linux/soundcard.h", "SNDCTL_DSP_SETFRAGMENT", 0xc004500a},
{"linux/soundcard.h", "SNDCTL_DSP_SETSYNCRO", 0x20005015},
{"linux/soundcard.h", "SNDCTL_DSP_SETTRIGGER", 0x80045010},
{"linux/soundcard.h", "SNDCTL_DSP_SPEED", 0xc0045002},
{"linux/soundcard.h", "SNDCTL_DSP_STEREO", 0xc0045003},
{"linux/soundcard.h", "SNDCTL_DSP_SUBDIVIDE", 0xc0045009},
{"linux/soundcard.h", "SNDCTL_DSP_SYNC", 0x20005001},
{"linux/soundcard.h", "SNDCTL_FM_4OP_ENABLE", 0x8004510f},
{"linux/soundcard.h", "SNDCTL_FM_LOAD_INSTR", 0x80285107},
{"linux/soundcard.h", "SNDCTL_MIDI_INFO", 0xc074510c},
{"linux/soundcard.h", "SNDCTL_MIDI_MPUCMD", 0xc0216d02},
{"linux/soundcard.h", "SNDCTL_MIDI_MPUMODE", 0xc0046d01},
{"linux/soundcard.h", "SNDCTL_MIDI_PRETIME", 0xc0046d00},
{"linux/soundcard.h", "SNDCTL_PMGR_ACCESS", 0xcfb85110},
{"linux/soundcard.h", "SNDCTL_PMGR_IFACE", 0xcfb85001},
{"linux/soundcard.h", "SNDCTL_SEQ_CTRLRATE", 0xc0045103},
{"linux/soundcard.h", "SNDCTL_SEQ_GETINCOUNT", 0x40045105},
{"linux/soundcard.h", "SNDCTL_SEQ_GETOUTCOUNT", 0x40045104},
{"linux/soundcard.h", "SNDCTL_SEQ_NRMIDIS", 0x4004510b},
{"linux/soundcard.h", "SNDCTL_SEQ_NRSYNTHS", 0x4004510a},
{"linux/soundcard.h", "SNDCTL_SEQ_OUTOFBAND", 0x80085112},
{"linux/soundcard.h", "SNDCTL_SEQ_PANIC", 0x20005111},
{"linux/soundcard.h", "SNDCTL_SEQ_PERCMODE", 0x80045106},
{"linux/soundcard.h", "SNDCTL_SEQ_RESET", 0x20005100},
{"linux/soundcard.h", "SNDCTL_SEQ_RESETSAMPLES", 0x80045109},
{"linux/soundcard.h", "SNDCTL_SEQ_SYNC", 0x20005101},
{"linux/soundcard.h", "SNDCTL_SEQ_TESTMIDI", 0x80045108},
{"linux/soundcard.h", "SNDCTL_SEQ_THRESHOLD", 0x8004510d},
{"linux/soundcard.h", "SNDCTL_SYNTH_INFO", 0xc08c5102},
{"linux/soundcard.h", "SNDCTL_SYNTH_MEMAVL", 0xc004510e},
{"linux/soundcard.h", "SNDCTL_TMR_CONTINUE", 0x20005404},
{"linux/soundcard.h", "SNDCTL_TMR_METRONOME", 0x80045407},
{"linux/soundcard.h", "SNDCTL_TMR_SELECT", 0x80045408},
{"linux/soundcard.h", "SNDCTL_TMR_SOURCE", 0xc0045406},
{"linux/soundcard.h", "SNDCTL_TMR_START", 0x20005402},
{"linux/soundcard.h", "SNDCTL_TMR_STOP", 0x20005403},
{"linux/soundcard.h", "SNDCTL_TMR_TEMPO", 0xc0045405},
{"linux/soundcard.h", "SNDCTL_TMR_TIMEBASE", 0xc0045401},
{"linux/soundcard.h", "SOUND_MIXER_READ_ALTPCM", 0x40044d0a},
{"linux/soundcard.h", "SOUND_MIXER_READ_BASS", 0x40044d01},
{"linux/soundcard.h", "SOUND_MIXER_READ_CAPS", 0x40044dfc},
{"linux/soundcard.h", "SOUND_MIXER_READ_CD", 0x40044d08},
{"linux/soundcard.h", "SOUND_MIXER_READ_DEVMASK", 0x40044dfe},
{"linux/soundcard.h", "SOUND_MIXER_READ_ENHANCE", 0x40044d1d},
{"linux/soundcard.h", "SOUND_MIXER_READ_IGAIN", 0x40044d0c},
{"linux/soundcard.h", "SOUND_MIXER_READ_IMIX", 0x40044d09},
{"linux/soundcard.h", "SOUND_MIXER_READ_LINE", 0x40044d06},
{"linux/soundcard.h", "SOUND_MIXER_READ_LINE1", 0x40044d0e},
{"linux/soundcard.h", "SOUND_MIXER_READ_LINE2", 0x40044d0f},
{"linux/soundcard.h", "SOUND_MIXER_READ_LINE3", 0x40044d10},
{"linux/soundcard.h", "SOUND_MIXER_READ_LOUD", 0x40044d1e},
{"linux/soundcard.h", "SOUND_MIXER_READ_MIC", 0x40044d07},
{"linux/soundcard.h", "SOUND_MIXER_READ_MUTE", 0x40044d1c},
{"linux/soundcard.h", "SOUND_MIXER_READ_OGAIN", 0x40044d0d},
{"linux/soundcard.h", "SOUND_MIXER_READ_PCM", 0x40044d04},
{"linux/soundcard.h", "SOUND_MIXER_READ_RECLEV", 0x40044d0b},
{"linux/soundcard.h", "SOUND_MIXER_READ_RECMASK", 0x40044dfd},
{"linux/soundcard.h", "SOUND_MIXER_READ_RECSRC", 0x40044dff},
{"linux/soundcard.h", "SOUND_MIXER_READ_SPEAKER", 0x40044d05},
{"linux/soundcard.h", "SOUND_MIXER_READ_STEREODEVS", 0x40044dfb},
{"linux/soundcard.h", "SOUND_MIXER_READ_SYNTH", 0x40044d03},
{"linux/soundcard.h", "SOUND_MIXER_READ_TREBLE", 0x40044d02},
{"linux/soundcard.h", "SOUND_MIXER_READ_VOLUME", 0x40044d00},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_ALTPCM", 0xc0044d0a},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_BASS", 0xc0044d01},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_CD", 0xc0044d08},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_ENHANCE", 0xc0044d1d},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_IGAIN", 0xc0044d0c},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_IMIX", 0xc0044d09},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE", 0xc0044d06},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE1", 0xc0044d0e},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE2", 0xc0044d0f},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_LINE3", 0xc0044d10},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_LOUD", 0xc0044d1e},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_MIC", 0xc0044d07},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_MUTE", 0xc0044d1c},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_OGAIN", 0xc0044d0d},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_PCM", 0xc0044d04},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_RECLEV", 0xc0044d0b},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_RECSRC", 0xc0044dff},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_SPEAKER", 0xc0044d05},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_SYNTH", 0xc0044d03},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_TREBLE", 0xc0044d02},
{"linux/soundcard.h", "SOUND_MIXER_WRITE_VOLUME", 0xc0044d00},
{"linux/soundcard.h", "SOUND_PCM_READ_BITS", 0x40045005},
{"linux/soundcard.h", "SOUND_PCM_READ_CHANNELS", 0x40045006},
{"linux/soundcard.h", "SOUND_PCM_READ_FILTER", 0x40045007},
{"linux/soundcard.h", "SOUND_PCM_READ_RATE", 0x40045002},
{"linux/soundcard.h", "SOUND_PCM_WRITE_CHANNELS", 0xc0045006},
{"linux/soundcard.h", "SOUND_PCM_WRITE_FILTER", 0xc0045007},
{"linux/ucdrom.h", "CDROM_CLEAR_OPTIONS", 0x5321},
{"linux/ucdrom.h", "CDROM_DISC_STATUS", 0x5327},
{"linux/ucdrom.h", "CDROM_DRIVE_STATUS", 0x5326},
{"linux/ucdrom.h", "CDROM_MEDIA_CHANGED", 0x5325},
{"linux/ucdrom.h", "CDROM_SELECT_DISC", 0x5323},
{"linux/ucdrom.h", "CDROM_SELECT_SPEED", 0x5322},
{"linux/ucdrom.h", "CDROM_SET_OPTIONS", 0x5320},
{"linux/umsdos_fs.h", "UMSDOS_CREAT_EMD", 0x200004d6},
{"linux/umsdos_fs.h", "UMSDOS_DOS_SETUP", 0x200004db},
{"linux/umsdos_fs.h", "UMSDOS_GETVERSION", 0x200004d9},
{"linux/umsdos_fs.h", "UMSDOS_INIT_EMD", 0x200004da},
{"linux/umsdos_fs.h", "UMSDOS_READDIR_DOS", 0x200004d2},
{"linux/umsdos_fs.h", "UMSDOS_READDIR_EMD", 0x200004d8},
{"linux/umsdos_fs.h", "UMSDOS_RENAME_DOS", 0x200004dc},
{"linux/umsdos_fs.h", "UMSDOS_RMDIR_DOS", 0x200004d4},
{"linux/umsdos_fs.h", "UMSDOS_STAT_DOS", 0x200004d5},
{"linux/umsdos_fs.h", "UMSDOS_UNLINK_DOS", 0x200004d3},
{"linux/umsdos_fs.h", "UMSDOS_UNLINK_EMD", 0x200004d7},
{"linux/vt.h", "VT_ACTIVATE", 0x5606},
{"linux/vt.h", "VT_DISALLOCATE", 0x5608},
{"linux/vt.h", "VT_GETMODE", 0x5601},
{"linux/vt.h", "VT_GETSTATE", 0x5603},
{"linux/vt.h", "VT_LOCKSWITCH", 0x560b},
{"linux/vt.h", "VT_OPENQRY", 0x5600},
{"linux/vt.h", "VT_RELDISP", 0x5605},
{"linux/vt.h", "VT_RESIZE", 0x5609},
{"linux/vt.h", "VT_RESIZEX", 0x560a},
{"linux/vt.h", "VT_SENDSIG", 0x5604},
{"linux/vt.h", "VT_SETMODE", 0x5602},
{"linux/vt.h", "VT_UNLOCKSWITCH", 0x560c},
{"linux/vt.h", "VT_WAITACTIVE", 0x5607},

38
linux/hppa/signalent.h Normal file
View File

@ -0,0 +1,38 @@
"SIG_0", /* 0 */
"SIGHUP", /* 1 */
"SIGINT", /* 2 */
"SIGQUIT", /* 3 */
"SIGILL", /* 4 */
"SIGTRAP", /* 5 */
"SIGABRT", /* 6 */
"SIGEMT", /* 7 */
"SIGFPE", /* 8 */
"SIGKILL", /* 9 */
"SIGBUS", /* 10 */
"SIGSEGV", /* 11 */
"SIGSYS", /* 12 */
"SIGPIPE", /* 13 */
"SIGALRM", /* 14 */
"SIGTERM", /* 15 */
"SIGUSR1", /* 16 */
"SIGUSR2", /* 17 */
"SIGCHLD", /* 18 */
"SIGPWR", /* 19 */
"SIGVTALRM", /* 20 */
"SIGPROF", /* 21 */
"SIGIO", /* 22 */
"SIGWINCH", /* 23 */
"SIGSTOP", /* 24 */
"SIGTSTP", /* 25 */
"SIGCONT", /* 26 */
"SIGTTIN", /* 27 */
"SIGTTOU", /* 28 */
"SIGURG", /* 29 */
"SIGLOST", /* 30 */
"SIGUNUSED", /* 31 */
"SIG_32", /* 32 */
"SIGXCPU", /* 33 */
"SIGXFSZ", /* 34 */
"SIG_35", /* 35 */
"SIGSTKFLT", /* 36 */
"SIGRTMIN", /* 37 */

326
linux/hppa/syscallent.h Normal file
View File

@ -0,0 +1,326 @@
/*
* Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
* Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $Id$
*/
{ 5, 0, printargs, "SYS_0" }, /* 0 */
{ 1, TP, sys_exit, "exit" }, /* 1 */
{ 0, TP, sys_fork, "fork" }, /* 2 */
{ 3, TF, sys_read, "read" }, /* 3 */
{ 3, TF, sys_write, "write" }, /* 4 */
{ 3, TF, sys_open, "open" }, /* 5 */
{ 1, 0, sys_close, "close" }, /* 6 */
{ 3, TP, sys_waitpid, "waitpid" }, /* 7 */
{ 2, TF, sys_creat, "creat" }, /* 8 */
{ 2, TF, sys_link, "link" }, /* 9 */
{ 1, TF, sys_unlink, "unlink" }, /* 10 */
{ 3, TF|TP, sys_execve, "execve" }, /* 11 */
{ 1, TF, sys_chdir, "chdir" }, /* 12 */
{ 1, 0, sys_time, "time" }, /* 13 */
{ 3, TF, sys_mknod, "mknod" }, /* 14 */
{ 2, TF, sys_chmod, "chmod" }, /* 15 */
{ 3, TF, printargs, "lchown" }, /* 16 */
{ 3, TN, sys_socket, "socket" }, /* 17 */
{ 2, TF, sys_stat, "newstat" }, /* 18 */
{ 3, TF, sys_lseek, "lseek" }, /* 19 */
{ 0, 0, sys_getpid, "getpid" }, /* 20 */
{ 5, TF, sys_mount, "mount" }, /* 21 */
{ 3, TN, sys_bind, "bind" }, /* 22 */
{ 1, 0, sys_setuid, "setuid" }, /* 23 */
{ 0, 0, sys_getuid, "getuid" }, /* 24 */
{ 1, 0, sys_stime, "stime" }, /* 25 */
{ 4, 0, sys_ptrace, "ptrace" }, /* 26 */
{ 1, 0, sys_alarm, "alarm" }, /* 27 */
{ 2, 0, sys_fstat, "newfstat" }, /* 28 */
{ 0, 0, sys_pause, "pause" }, /* 29 */
{ 2, 0, sys_utime, "utime" }, /* 30 */
{ 3, TN, sys_connect, "connect" }, /* 31 */
{ 2, TN, sys_listen, "listen" }, /* 32 */
{ 2, TF, sys_access, "access" }, /* 33 */
{ 1, 0, sys_nice, "nice" }, /* 34 */
{ 3, TN, sys_accept, "accept" }, /* 35 */
{ 0, 0, sys_sync, "sync" }, /* 36 */
{ 2, TS, sys_kill, "kill" }, /* 37 */
{ 2, TF, sys_rename, "rename" }, /* 38 */
{ 2, TF, sys_mkdir, "mkdir" }, /* 39 */
{ 1, TF, sys_rmdir, "rmdir" }, /* 40 */
{ 1, 0, sys_dup, "dup" }, /* 41 */
{ 1, 0, sys_pipe, "pipe" }, /* 42 */
{ 1, 0, sys_times, "times" }, /* 43 */
{ 3, TN, sys_getsockname, "getsockname" }, /* 44 */
{ 1, 0, sys_brk, "brk" }, /* 45 */
{ 1, 0, sys_setgid, "setgid" }, /* 46 */
{ 0, 0, sys_getgid, "getgid" }, /* 47 */
{ 2, 0, sys_signal, "signal" }, /* 48 */
{ 0, 0, sys_geteuid, "geteuid" }, /* 49 */
{ 0, 0, sys_getegid, "getegid" }, /* 50 */
{ 1, TF, sys_acct, "acct" }, /* 51 */
{ 2, 0, sys_umount2, "umount2" }, /* 52 */
{ 3, TN, sys_getpeername, "lock" }, /* 53 */
{ 3, 0, sys_ioctl, "ioctl" }, /* 54 */
{ 3, 0, sys_fcntl, "fcntl" }, /* 55 */
{ 4, TN, sys_socketpair, "socketpair" }, /* 56 */
{ 2, 0, sys_setpgid, "setpgid" }, /* 57 */
{ 4, TN, sys_send, "send" }, /* 58 */
{ 1, 0, sys_uname, "newuname" }, /* 59 */
{ 1, 0, sys_umask, "umask" }, /* 60 */
{ 1, TF, sys_chroot, "chroot" }, /* 61 */
{ 2, 0, sys_ustat, "ustat" }, /* 62 */
{ 2, 0, sys_dup2, "dup2" }, /* 63 */
{ 0, 0, sys_getppid, "getppid" }, /* 64 */
{ 0, 0, sys_getpgrp, "getpgrp" }, /* 65 */
{ 0, 0, sys_setsid, "setsid" }, /* 66 */
{ 5, 0, printargs, "pivot_root" }, /* 67 */
{ 5, 0, printargs, "sgetmask" }, /* 68 */
{ 5, 0, printargs, "ssetmask" }, /* 69 */
{ 2, 0, sys_setreuid, "setreuid" }, /* 70 */
{ 2, 0, sys_setregid, "setregid" }, /* 71 */
{ 5, 0, printargs, "mincore" }, /* 72 */
{ 1, TS, sys_sigpending, "sigpending" }, /* 73 */
{ 2, 0, sys_sethostname, "sethostname" }, /* 74 */
{ 2, 0, sys_setrlimit, "setrlimit" }, /* 75 */
{ 2, 0, sys_getrlimit, "getrlimit" }, /* 76 */
{ 2, 0, sys_getrusage, "getrusage" }, /* 77 */
{ 2, 0, sys_gettimeofday, "gettimeofday" }, /* 78 */
{ 2, 0, sys_settimeofday, "settimeofday" }, /* 79 */
{ 2, 0, sys_getgroups, "getgroups" }, /* 80 */
{ 2, 0, sys_setgroups, "setgroups" }, /* 81 */
{ 6, TN, sys_sendto, "sendto" }, /* 82 */
{ 2, TF, sys_symlink, "symlink" }, /* 83 */
{ 2, TF, sys_lstat, "newlstat" }, /* 84 */
{ 3, TF, sys_readlink, "readlink" }, /* 85 */
{ 1, 0, sys_uselib, "uselib" }, /* 86 */
{ 1, 0, sys_swapon, "swapon" }, /* 87 */
{ 3, 0, sys_reboot, "reboot" }, /* 88 */
{ 3, 0, sys_readdir, "old_readdir" }, /* 89 */
{ 6, 0, sys_mmap, "mmap" }, /* 90 */
{ 2, 0, sys_munmap, "munmap" }, /* 91 */
{ 2, TF, sys_truncate, "truncate" }, /* 92 */
{ 2, 0, sys_ftruncate, "ftruncate" }, /* 93 */
{ 2, 0, sys_fchmod, "fchmod" }, /* 94 */
{ 3, 0, sys_fchown, "fchown" }, /* 95 */
{ 2, 0, sys_getpriority, "getpriority" }, /* 96 */
{ 3, 0, sys_setpriority, "setpriority" }, /* 97 */
{ 4, TN, sys_recv, "recv" }, /* 98 */
{ 2, TF, sys_statfs, "statfs" }, /* 99 */
{ 2, 0, sys_fstatfs, "fstatfs" }, /* 100 */
{ 3, 0, sys_ioperm, "ioperm" }, /* 101 */
{ 5, 0, sys_socketcall, "socketcall" }, /* 102 */
{ 3, 0, sys_syslog, "syslog" }, /* 103 */
{ 3, 0, sys_setitimer, "setitimer" }, /* 104 */
{ 2, 0, sys_getitimer, "getitimer" }, /* 105 */
{ 2, 0, sys_capget, "capget" }, /* 106 */
{ 2, 0, sys_capset, "capset" }, /* 107 */
{ 5, TF, sys_pread, "pread" }, /* 108 */
{ 5, TF, sys_pwrite, "pwrite" }, /* 109 */
{ 2, 0, sys_getcwd, "getcwd" }, /* 110 */
{ 0, 0, sys_vhangup, "vhangup" }, /* 111 */
{ 0, 0, sys_idle, "idle" }, /* 112 */
{ 0, 0, sys_vfork, "vfork" }, /* 113 */
{ 4, TP, sys_wait4, "wait4" }, /* 114 */
{ 1, 0, sys_swapoff, "swapoff" }, /* 115 */
{ 1, 0, sys_sysinfo, "sysinfo" }, /* 116 */
{ 2, TN, sys_shutdown, "shutdown" }, /* 117 */
{ 1, 0, sys_fsync, "fsync" }, /* 118 */
{ 5, 0, printargs, "madvise" }, /* 119 */
{ 2, TP, sys_clone, "clone" }, /* 120 */
{ 2, 0, sys_setdomainname, "setdomainname" }, /* 121 */
{ 4, TF, sys_sendfile, "sendfile" }, /* 122 */
{ 6, TN, sys_recvfrom, "recvfrom" }, /* 123 */
{ 1, 0, sys_adjtimex, "adjtimex" }, /* 124 */
{ 3, 0, sys_mprotect, "mprotect" }, /* 125 */
{ 3, TS, sys_sigprocmask, "sigprocmask" }, /* 126 */
{ 2, 0, sys_create_module, "create_module" }, /* 127 */
{ 4, 0, sys_init_module, "init_module" }, /* 128 */
{ 1, 0, sys_delete_module, "delete_module" }, /* 129 */
{ 1, 0, sys_get_kernel_syms, "get_kernel_syms" }, /* 130 */
{ 4, 0, sys_quotactl, "quotactl" }, /* 131 */
{ 1, 0, sys_getpgid, "getpgid" }, /* 132 */
{ 1, TF, sys_fchdir, "fchdir" }, /* 133 */
{ 0, 0, sys_bdflush, "bdflush" }, /* 134 */
{ 5, 0, sys_sysfs, "sysfs" }, /* 135 */
{ 1, 0, sys_personality, "personality" }, /* 136 */
{ 5, 0, printargs, "SYS_137" }, /* 137 */
{ 1, 0, sys_setfsuid, "setfsuid" }, /* 138 */
{ 1, 0, sys_setfsgid, "setfsgid" }, /* 139 */
{ 5, TF, printargs, "_llseek" }, /* 140 */
{ 3, 0, sys_getdents, "getdents" }, /* 141 */
{ 5, 0, printargs, "_newselect" }, /* 142 */
{ 2, 0, sys_flock, "flock" }, /* 143 */
{ 3, 0, sys_msync, "msync" }, /* 144 */
{ 3, 0, sys_readv, "readv" }, /* 145 */
{ 3, 0, sys_writev, "writev" }, /* 146 */
{ 1, 0, sys_getsid, "getsid" }, /* 147 */
{ 1, 0, sys_fdatasync, "fdatasync" }, /* 148 */
{ 5, 0, printargs, "_sysctl" }, /* 149 */
{ 2, 0, sys_mlock, "mlock" }, /* 150 */
{ 2, 0, sys_munlock, "munlock" }, /* 151 */
{ 1, 0, sys_mlockall, "mlockall" }, /* 152 */
{ 1, 0, sys_munlockall, "munlockall" }, /* 153 */
{ 2, 0, sys_sched_setparam, "sched_setparam" }, /* 154 */
{ 2, 0, sys_sched_getparam, "sched_getparam" }, /* 155 */
{ 3, 0, sys_sched_setscheduler, "sched_setscheduler" }, /* 156 */
{ 2, 0, sys_sched_getscheduler, "sched_getscheduler" }, /* 157 */
{ 0, 0, sys_sched_yield, "sched_yield" }, /* 158 */
{ 1, 0, sys_sched_get_priority_max,"sched_get_priority_max"}, /* 159 */
{ 1, 0, sys_sched_get_priority_min,"sched_get_priority_min"}, /* 160 */
{ 2, 0, sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 161 */
{ 2, 0, sys_nanosleep, "nanosleep" }, /* 162 */
{ 4, 0, sys_mremap, "mremap" }, /* 163 */
{ 3, 0, sys_setresuid, "setresuid" }, /* 164 */
{ 3, 0, sys_setresuid, "getresuid" }, /* 165 */
{ 2, TS, sys_sigaltstack, "sigaltstack" }, /* 166 */
{ 5, 0, sys_query_module, "query_module" }, /* 167 */
{ 3, 0, sys_poll, "poll" }, /* 168 */
{ 5, 0, printargs, "nfsservctl" }, /* 169 */
{ 3, 0, sys_setresgid, "setresgid" }, /* 170 */
{ 3, 0, sys_setresgid, "getresgid" }, /* 171 */
{ 5, 0, sys_prctl, "prctl" }, /* 172 */
{ 1, TS, printargs, "rt_sigreturn" }, /* 173 */
{ 4, TS, sys_rt_sigaction, "rt_sigaction" }, /* 174 */
{ 4, TS, sys_rt_sigprocmask, "rt_sigprocmask" }, /* 175 */
{ 2, TS, sys_rt_sigpending, "rt_sigpending" }, /* 176 */
{ 4, TS, sys_rt_sigtimedwait, "rt_sigtimedwait" }, /* 177 */
{ 3, TS, sys_rt_sigqueueinfo, "rt_sigqueueinfo" }, /* 178 */
{ 2, TS, sys_rt_sigsuspend, "rt_sigsuspend" }, /* 179 */
{ 3, TF, sys_chown, "chown" }, /* 180 */
{ 5, TN, sys_setsockopt, "setsockopt" }, /* 181 */
{ 5, TN, sys_getsockopt, "getsockopt" }, /* 182 */
{ 5, TN, sys_sendmsg, "sendmsg" }, /* 183 */
{ 5, TN, sys_recvmsg, "recvmsg" }, /* 184 */
{ 4, TI, sys_semop, "semop" }, /* 185 */
{ 4, TI, sys_semget, "semget" }, /* 186 */
{ 4, TI, sys_semctl, "semctl" }, /* 187 */
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 188 */
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 189 */
{ 4, TI, sys_msgget, "msgget" }, /* 190 */
{ 4, TI, sys_msgctl, "msgctl" }, /* 191 */
{ 4, TI, sys_shmat, "shmat" }, /* 192 */
{ 4, TI, sys_shmdt, "shmdt" }, /* 193 */
{ 4, TI, sys_shmget, "shmget" }, /* 194 */
{ 4, TI, sys_shmctl, "shmctl" }, /* 195 */
{ 5, 0, printargs, "SYS_196" }, /* 196 */
{ 5, 0, printargs, "SYS_197" }, /* 197 */
{ 5, 0, printargs, "SYS_198" }, /* 198 */
{ 5, 0, printargs, "SYS_199" }, /* 199 */
{ 5, 0, printargs, "SYS_200" }, /* 200 */
{ 5, 0, printargs, "SYS_201" }, /* 201 */
{ 5, 0, printargs, "SYS_202" }, /* 202 */
{ 5, 0, printargs, "SYS_203" }, /* 203 */
{ 5, 0, printargs, "SYS_204" }, /* 204 */
{ 5, 0, printargs, "SYS_205" }, /* 205 */
{ 5, 0, printargs, "SYS_206" }, /* 206 */
{ 5, 0, printargs, "SYS_207" }, /* 207 */
{ 5, 0, printargs, "SYS_208" }, /* 208 */
{ 5, 0, printargs, "SYS_209" }, /* 209 */
{ 5, 0, printargs, "SYS_210" }, /* 210 */
{ 5, 0, printargs, "SYS_211" }, /* 211 */
{ 5, 0, printargs, "SYS_212" }, /* 212 */
{ 5, 0, printargs, "SYS_213" }, /* 213 */
{ 5, 0, printargs, "SYS_214" }, /* 214 */
{ 5, 0, printargs, "SYS_215" }, /* 215 */
{ 5, 0, printargs, "SYS_216" }, /* 216 */
{ 5, 0, printargs, "SYS_217" }, /* 217 */
{ 5, 0, printargs, "SYS_218" }, /* 218 */
{ 5, 0, printargs, "SYS_219" }, /* 219 */
{ 5, 0, printargs, "SYS_220" }, /* 220 */
{ 5, 0, printargs, "SYS_221" }, /* 221 */
{ 5, 0, printargs, "SYS_222" }, /* 222 */
{ 5, 0, printargs, "SYS_223" }, /* 223 */
{ 5, 0, printargs, "SYS_224" }, /* 224 */
{ 5, 0, printargs, "SYS_225" }, /* 225 */
{ 5, 0, printargs, "SYS_226" }, /* 226 */
{ 5, 0, printargs, "SYS_227" }, /* 227 */
{ 5, 0, printargs, "SYS_228" }, /* 228 */
{ 5, 0, printargs, "SYS_229" }, /* 229 */
{ 5, 0, printargs, "SYS_230" }, /* 230 */
{ 5, 0, printargs, "SYS_231" }, /* 231 */
{ 5, 0, printargs, "SYS_232" }, /* 232 */
{ 5, 0, printargs, "SYS_233" }, /* 233 */
{ 5, 0, printargs, "SYS_234" }, /* 234 */
{ 5, 0, printargs, "SYS_235" }, /* 235 */
{ 5, 0, printargs, "SYS_236" }, /* 236 */
{ 5, 0, printargs, "SYS_237" }, /* 237 */
{ 5, 0, printargs, "SYS_238" }, /* 238 */
{ 5, 0, printargs, "SYS_239" }, /* 239 */
{ 5, 0, printargs, "SYS_240" }, /* 240 */
{ 5, 0, printargs, "SYS_241" }, /* 241 */
{ 5, 0, printargs, "SYS_242" }, /* 242 */
{ 5, 0, printargs, "SYS_243" }, /* 243 */
{ 5, 0, printargs, "SYS_244" }, /* 244 */
{ 5, 0, printargs, "SYS_245" }, /* 245 */
{ 5, 0, printargs, "SYS_246" }, /* 246 */
{ 5, 0, printargs, "SYS_247" }, /* 247 */
{ 5, 0, printargs, "SYS_248" }, /* 248 */
{ 5, 0, printargs, "SYS_249" }, /* 249 */
{ 5, 0, printargs, "SYS_250" }, /* 250 */
{ 5, 0, printargs, "SYS_251" }, /* 251 */
{ 5, 0, printargs, "SYS_252" }, /* 252 */
{ 5, 0, printargs, "SYS_253" }, /* 253 */
{ 5, 0, printargs, "SYS_254" }, /* 254 */
{ 5, 0, printargs, "SYS_255" }, /* 255 */
{ 5, 0, printargs, "SYS_256" }, /* 256 */
{ 5, 0, printargs, "SYS_257" }, /* 257 */
{ 5, 0, printargs, "SYS_258" }, /* 258 */
{ 5, 0, printargs, "SYS_259" }, /* 259 */
{ 5, 0, printargs, "SYS_260" }, /* 260 */
{ 5, 0, printargs, "SYS_261" }, /* 261 */
{ 5, 0, printargs, "SYS_262" }, /* 262 */
{ 5, 0, printargs, "SYS_263" }, /* 263 */
{ 5, 0, printargs, "SYS_264" }, /* 264 */
{ 5, 0, printargs, "SYS_265" }, /* 265 */
{ 5, 0, printargs, "SYS_266" }, /* 266 */
{ 5, 0, printargs, "SYS_267" }, /* 267 */
{ 5, 0, printargs, "SYS_268" }, /* 268 */
{ 5, 0, printargs, "SYS_269" }, /* 269 */
{ 5, 0, printargs, "SYS_270" }, /* 270 */
{ 5, 0, printargs, "SYS_271" }, /* 271 */
{ 5, 0, printargs, "SYS_272" }, /* 272 */
{ 5, 0, printargs, "SYS_273" }, /* 273 */
{ 5, 0, printargs, "SYS_274" }, /* 274 */
{ 5, 0, printargs, "SYS_275" }, /* 275 */
{ 5, 0, printargs, "SYS_276" }, /* 276 */
{ 5, 0, printargs, "SYS_277" }, /* 277 */
{ 5, 0, printargs, "SYS_278" }, /* 278 */
{ 5, 0, printargs, "SYS_279" }, /* 279 */
{ 5, 0, printargs, "SYS_280" }, /* 280 */
{ 5, 0, printargs, "SYS_281" }, /* 281 */
{ 5, 0, printargs, "SYS_282" }, /* 282 */
{ 5, 0, printargs, "SYS_283" }, /* 283 */
{ 5, 0, printargs, "SYS_284" }, /* 284 */
{ 5, 0, printargs, "SYS_285" }, /* 285 */
{ 5, 0, printargs, "SYS_286" }, /* 286 */
{ 5, 0, printargs, "SYS_287" }, /* 287 */
{ 5, 0, printargs, "SYS_288" }, /* 288 */
{ 5, 0, printargs, "SYS_289" }, /* 289 */
{ 5, 0, printargs, "SYS_290" }, /* 290 */
{ 5, 0, printargs, "SYS_291" }, /* 291 */
{ 5, 0, printargs, "SYS_292" }, /* 292 */
{ 5, 0, printargs, "SYS_293" }, /* 293 */
{ 5, 0, printargs, "SYS_294" }, /* 294 */

73
linux/hppa/syscallent.sh Normal file
View File

@ -0,0 +1,73 @@
#!/bin/sh
# Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# $Id$
cat $* |
sed -n 's/^#[ ]*define[ ][ ]*__NR_\([^ ]*\)[ ]*[^0-9()]*(__NR_Linux + \([0-9]*\))$/\1 \2/p' |
sort +1n |
awk '
BEGIN {
tabs = "\t\t\t\t\t\t\t\t"
call = -1;
}
{
while (++call < $2) {
f = "printargs"
n = "SYS_" call
s = "\t{ -1,\t0,\t"
s = s f ","
s = s substr(tabs, 1, 24/8 - int((length(f) + 1)/8))
s = s "\"" n "\""
s = s substr(tabs, 1, 16/8 - int((length(n) + 2)/8))
s = s "}, /* " call " */"
print s
}
f = "sys_" $1
n = $1
s = "\t{ -1,\t0,\t"
s = s f ","
s = s substr(tabs, 1, 24/8 - int((length(f) + 1)/8))
s = s "\"" n "\""
s = s substr(tabs, 1, 16/8 - int((length(n) + 2)/8))
s = s "}, /* " call " */"
print s
}
END {
limit = call + 100
while (++call < limit) {
f = "printargs"
n = "SYS_" call
s = "\t{ -1,\t0,\t"
s = s f ","
s = s substr(tabs, 1, 24/8 - int((length(f) + 1)/8))
s = s "\"" n "\""
s = s substr(tabs, 1, 16/8 - int((length(n) + 2)/8))
s = s "}, /* " call " */"
print s
}
}
'

View File

@ -109,7 +109,7 @@ int sys_osf_utimes();
#endif
#if !defined(ALPHA) && !defined(IA64) && !defined(MIPS)
#if !defined(ALPHA) && !defined(IA64) && !defined(MIPS) &&!defined(HPPA)
#ifdef POWERPC
# define SYS_socket_subcall 256
#else
@ -142,7 +142,7 @@ int sys_semget(), sys_semctl(), sys_semop();
int sys_msgsnd(), sys_msgrcv(), sys_msgget(), sys_msgctl();
int sys_shmat(), sys_shmdt(), sys_shmget(), sys_shmctl();
#if !defined(ALPHA) && !defined(IA64) && !defined(MIPS) && !defined(SPARC)
#if !defined(ALPHA) && !defined(IA64) && !defined(MIPS) && !defined(SPARC) &&!defined(HPPA)
#ifdef POWERPC
# define SYS_ipc_subcall ((SYS_socket_subcall)+(SYS_socket_nsubcalls))
#else

View File

@ -475,6 +475,10 @@ int new;
if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(REG_A3), new)<0)
return -1;
return 0;
#elif defined(HPPA)
if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(PT_GR20), new)<0)
return -1;
return 0;
#else
#warning Do not know how to handle change_syscall for this architecture
#endif /* architecture */
@ -640,6 +644,24 @@ struct tcb *tcp;
return 0;
}
#ifdef LINUX
#ifdef HPPA
/* The child must have run before it can be attached. */
/* This must be a bug in the parisc kernel, but I havn't
* identified it yet. Seems to be an issue associated
* with attaching to a process (which sends it a signal)
* before that process has ever been scheduled. When
* debugging, I started seeing crashes in
* arch/parisc/kernel/signal.c:do_signal(), apparently
* caused by r8 getting corrupt over the dequeue_signal()
* call. Didn't make much sense though...
*/
{
struct timeval tv;
tv.tv_sec = 0;
tv.tv_usec = 10000;
select(0, NULL, NULL, NULL, &tv);
}
#endif
if (ptrace(PTRACE_ATTACH, pid, (char *) 1, 0) < 0) {
perror("PTRACE_ATTACH");
fprintf(stderr, "Too late?\n");
@ -1142,7 +1164,7 @@ struct tcb *tcp;
}
}
#ifdef LINUX
#if defined(ALPHA) || defined(SPARC) || defined(POWERPC)
#if defined(ALPHA) || defined(SPARC) || defined(POWERPC) || defined(HPPA)
tcp->flags |= TCB_WAITEXECVE;
#endif /* ALPHA || SPARC || POWERPC */
#endif /* LINUX */
@ -1798,6 +1820,8 @@ struct xlat struct_user_offsets[] = {
#endif
#if defined(SPARC)
/* XXX No support for these offsets yet. */
#elif defined(HPPA)
/* XXX No support for these offsets yet. */
#elif defined(POWERPC)
{ 4*PT_R0, "4*PT_R0" },
{ 4*PT_R1, "4*PT_R1" },
@ -2097,7 +2121,9 @@ struct xlat struct_user_offsets[] = {
{ uoff(u_exdata.ux_shell[0]),"offsetof(struct user, u_exdata.ux_shell[0])"},
{ uoff(u_lofault), "offsetof(struct user, u_lofault)" },
#endif /* SUNOS4 */
#ifndef HPPA
{ sizeof(struct user), "sizeof(struct user)" },
#endif
{ 0, NULL },
};
#endif

View File

@ -932,6 +932,11 @@ struct tcb *tcp;
return RVAL_NONE | RVAL_STR;
}
return 0;
#else
#ifdef HPPA
#warning NO sys_sigreturn DECODE FOR HPPA
return 0;
#endif /* HPPA */
#endif /* MIPS */
#endif /* SPARC */
#endif /* ALPHA */

View File

@ -633,6 +633,8 @@ struct tcb *tcp;
#elif defined(S390)
static long gpr2;
static long pc;
#elif defined(HPPA)
static long r28;
#endif
#endif /* LINUX */
#ifdef FREEBSD
@ -806,6 +808,16 @@ struct tcb *tcp;
memmove (&regs.r_o0, &regs.r_o1, 7*sizeof(regs.r_o0));
}
}
#elif defined(HPPA)
if (upeek(pid, PT_GR20, &scno) < 0)
return -1;
if (!(tcp->flags & TCB_INSYSCALL)) {
/* Check if we return from execve. */
if ((tcp->flags & TCB_WAITEXECVE)) {
tcp->flags &= ~TCB_WAITEXECVE;
return 0;
}
}
#endif
#endif /* LINUX */
#ifdef SUNOS4
@ -938,7 +950,9 @@ struct tcb *tcp;
fprintf(stderr, "stray syscall exit: d0 = %ld\n", r0);
return 0;
}
#else
#elif defined (HPPA)
if (upeek(pid, PT_GR28, &r28) < 0)
return -1;
#endif
#endif /* LINUX */
return 1;
@ -1051,6 +1065,17 @@ struct tcb *tcp;
tcp->u_rval = regs.r_o0;
u_error = 0;
}
#else /* !SPARC */
#ifdef HPPA
if (r28 && (unsigned) -r28 < nerrnos) {
tcp->u_rval = -1;
u_error = -r28;
}
else {
tcp->u_rval = r28;
u_error = 0;
}
#endif /* HPPA */
#endif /* SPARC */
#endif /* ALPHA */
#endif /* ARM */
@ -1229,6 +1254,19 @@ struct tcb *tcp;
for (i = 0; i < tcp->u_nargs; i++)
tcp->u_arg[i] = *((&regs.r_o0) + i);
}
#elif defined (HPPA)
{
int i;
if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
tcp->u_nargs = sysent[tcp->scno].nargs;
else
tcp->u_nargs = MAX_ARGS;
for (i = 0; i < tcp->u_nargs; i++) {
if (upeek(pid, PT_GR26-4*i, &tcp->u_arg[i]) < 0)
return -1;
}
}
#else /* Other architecture (like i386) (32bits specific) */
{
int i;
@ -1516,7 +1554,7 @@ struct tcb *tcp;
switch (tcp->scno + NR_SYSCALL_BASE) {
#ifdef LINUX
#if !defined (ALPHA) && !defined(IA64) && !defined(SPARC) && !defined(MIPS)
#if !defined (ALPHA) && !defined(IA64) && !defined(SPARC) && !defined(MIPS) && !defined(HPPA)
case SYS_socketcall:
decode_subcall(tcp, SYS_socket_subcall,
SYS_socket_nsubcalls, deref_style);

37
util.c
View File

@ -902,6 +902,9 @@ struct tcb *tcp;
pc = regs.r_pc;
#elif defined(S390)
if(upeek(tcp->pid,PT_PSWADDR,&pc) < 0)
#elif defined(HPPA)
if(upeek(tcp->pid,PT_IAOQ0,&pc) < 0)
return -1;
#endif
return pc;
#endif /* LINUX */
@ -985,6 +988,14 @@ struct tcb *tcp;
return;
}
tprintf("[%08lx] ", regs.r_pc);
#elif defined(HPPA)
long pc;
if(upeek(tcp->pid,PT_IAOQ0,&pc) < 0) {
tprintf ("[????????] ");
return;
}
tprintf("[%08lx] ", pc);
#endif /* !architecture */
#endif /* LINUX */
@ -1116,6 +1127,8 @@ struct tcb *tcp;
#define LOOP 0x1000ffff
#elif defined(S390)
#define LOOP 0xa7f40000 /* BRC 15,0 */
#elif defined(HPPA)
#define LOOP 0xe81f1ff7 /* b,l,n <loc>,r0 */
#else
#error unknown architecture
#endif
@ -1142,6 +1155,10 @@ struct tcb *tcp;
#elif defined(S390)
if (upeek(tcp->pid,PT_PSWADDR, &tcp->baddr) < 0)
return -1;
#elif defined(HPPA)
if (upeek(tcp->pid, PT_IAOQ0, &tcp->baddr) < 0)
return -1;
tcp->baddr &= ~0x03;
#else
#error unknown architecture
#endif
@ -1229,6 +1246,8 @@ struct tcb *tcp;
long pc;
#elif defined(ALPHA)
long pc;
#elif defined(HPPA)
long iaoq;
#endif /* architecture */
#ifdef SPARC
@ -1341,6 +1360,24 @@ struct tcb *tcp;
pc, tcp->baddr);
return 0;
}
#elif defined(HPPA)
if (upeek(tcp->pid, PT_IAOQ0, &iaoq) < 0)
return -1;
iaoq &= ~0x03;
if (iaoq != tcp->baddr && iaoq != tcp->baddr + 4) {
/* The breakpoint has not been reached yet. */
if (debug)
fprintf(stderr, "NOTE: PC not at bpt (iaoq %#lx baddr %#lx)\n",
iaoq, tcp->baddr);
return 0;
}
iaoq = tcp->baddr | 3;
/* We should be pointing at a 'ldi -1000,r1' in glibc, so it is
* safe to set both IAOQ0 and IAOQ1 to that so the PSW N bit
* has no significant effect.
*/
ptrace(PTRACE_POKEUSER, tcp->pid, (void *)PT_IAOQ0, iaoq);
ptrace(PTRACE_POKEUSER, tcp->pid, (void *)PT_IAOQ1, iaoq);
#endif /* arch */
#endif /* !SPARC && !IA64 */
#endif /* LINUX */