diff options
Diffstat (limited to 'sys/amd64/ia32')
-rw-r--r-- | sys/amd64/ia32/ia32_proto.h | 25 | ||||
-rw-r--r-- | sys/amd64/ia32/ia32_syscall.h | 7 | ||||
-rw-r--r-- | sys/amd64/ia32/ia32_sysent.c | 34 |
3 files changed, 54 insertions, 12 deletions
diff --git a/sys/amd64/ia32/ia32_proto.h b/sys/amd64/ia32/ia32_proto.h index d7b14b7..7b01934 100644 --- a/sys/amd64/ia32/ia32_proto.h +++ b/sys/amd64/ia32/ia32_proto.h @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/ia64/ia32/syscalls.master,v 1.2 2002/07/20 02:56:10 peter Exp + * created from FreeBSD: src/sys/ia64/ia32/syscalls.master,v 1.7 2002/10/09 22:27:24 peter Exp */ #ifndef _IA32_SYSPROTO_H_ @@ -197,6 +197,11 @@ struct ia32_sysctl_args { char new_l_[PADL_(void *)]; void * new; char new_r_[PADR_(void *)]; char newlen_l_[PADL_(u_int32_t)]; u_int32_t newlen; char newlen_r_[PADR_(u_int32_t)]; }; +struct ia32_sigaction_args { + char sig_l_[PADL_(int)]; int sig; char sig_r_[PADR_(int)]; + char act_l_[PADL_(struct sigaction32 *)]; struct sigaction32 * act; char act_r_[PADR_(struct sigaction32 *)]; + char oact_l_[PADL_(struct sigaction32 *)]; struct sigaction32 * oact; char oact_r_[PADR_(struct sigaction32 *)]; +}; struct ia32_sendfile_args { char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; char s_l_[PADL_(int)]; int s; char s_r_[PADR_(int)]; @@ -207,11 +212,6 @@ struct ia32_sendfile_args { char sbytes_l_[PADL_(off_t *)]; off_t * sbytes; char sbytes_r_[PADR_(off_t *)]; char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; }; -struct ia32_sigaction_args { - char sig_l_[PADL_(int)]; int sig; char sig_r_[PADR_(int)]; - char act_l_[PADL_(struct sigaction32 *)]; struct sigaction32 * act; char act_r_[PADR_(struct sigaction32 *)]; - char oact_l_[PADL_(struct sigaction32 *)]; struct sigaction32 * oact; char oact_r_[PADR_(struct sigaction32 *)]; -}; int ia32_open(struct thread *, struct ia32_open_args *); int ia32_wait4(struct thread *, struct ia32_wait4_args *); int ia32_getfsstat(struct thread *, struct ia32_getfsstat_args *); @@ -243,8 +243,8 @@ int ia32_lseek(struct thread *, struct ia32_lseek_args *); int ia32_truncate(struct thread *, struct ia32_truncate_args *); int ia32_ftruncate(struct thread *, struct ia32_ftruncate_args *); int ia32_sysctl(struct thread *, struct ia32_sysctl_args *); -int ia32_sendfile(struct thread *, struct ia32_sendfile_args *); int ia32_sigaction(struct thread *, struct ia32_sigaction_args *); +int ia32_sendfile(struct thread *, struct ia32_sendfile_args *); #ifdef COMPAT_43 @@ -254,6 +254,17 @@ int ia32_sigaction(struct thread *, struct ia32_sigaction_args *); #ifdef COMPAT_FREEBSD4 +struct freebsd4_ia32_osendfile_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char s_l_[PADL_(int)]; int s; char s_r_[PADR_(int)]; + char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)]; + char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)]; + char nbytes_l_[PADL_(size_t)]; size_t nbytes; char nbytes_r_[PADR_(size_t)]; + char hdtr_l_[PADL_(struct sf_hdtr *)]; struct sf_hdtr * hdtr; char hdtr_r_[PADR_(struct sf_hdtr *)]; + char sbytes_l_[PADL_(off_t *)]; off_t * sbytes; char sbytes_r_[PADR_(off_t *)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; +}; +int freebsd4_ia32_osendfile(struct thread *, struct freebsd4_ia32_osendfile_args *); #endif /* COMPAT_FREEBSD4 */ diff --git a/sys/amd64/ia32/ia32_syscall.h b/sys/amd64/ia32/ia32_syscall.h index 7aeb701..d5a5dd6 100644 --- a/sys/amd64/ia32/ia32_syscall.h +++ b/sys/amd64/ia32/ia32_syscall.h @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/ia64/ia32/syscalls.master,v 1.2 2002/07/20 02:56:10 peter Exp + * created from FreeBSD: src/sys/ia64/ia32/syscalls.master,v 1.7 2002/10/09 22:27:24 peter Exp */ #define IA32_SYS_syscall 0 @@ -247,7 +247,7 @@ #define IA32_SYS_sched_get_priority_min 333 #define IA32_SYS_sched_rr_get_interval 334 #define IA32_SYS_utrace 335 -#define IA32_SYS_ia32_sendfile 336 + /* 336 is old ia32_osendfile */ #define IA32_SYS_kldsym 337 #define IA32_SYS_jail 338 #define IA32_SYS_sigprocmask 340 @@ -285,4 +285,5 @@ #define IA32_SYS_kenv 390 #define IA32_SYS_lchflags 391 #define IA32_SYS_uuidgen 392 -#define IA32_SYS_MAXSYSCALL 393 +#define IA32_SYS_ia32_sendfile 393 +#define IA32_SYS_MAXSYSCALL 415 diff --git a/sys/amd64/ia32/ia32_sysent.c b/sys/amd64/ia32/ia32_sysent.c index eb0b11b..61198f5 100644 --- a/sys/amd64/ia32/ia32_sysent.c +++ b/sys/amd64/ia32/ia32_sysent.c @@ -3,9 +3,11 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/ia64/ia32/syscalls.master,v 1.2 2002/07/20 02:56:10 peter Exp + * created from FreeBSD: src/sys/ia64/ia32/syscalls.master,v 1.7 2002/10/09 22:27:24 peter Exp */ +#include "opt_compat.h" + #include <sys/param.h> #include <sys/sysent.h> #include <sys/sysproto.h> @@ -15,6 +17,12 @@ #define AS(name) (sizeof(struct name) / sizeof(register_t)) +#ifdef COMPAT_FREEBSD4 +#define compat4(n, name) n, (sy_call_t *)__CONCAT(freebsd4_,name) +#else +#define compat4(n, name) 0, (sy_call_t *)nosys +#endif + /* The casts are bogus but will do for now. */ struct sysent ia32_sysent[] = { { SYF_MPSAFE | 0, (sy_call_t *)nosys }, /* 0 = syscall */ @@ -353,7 +361,7 @@ struct sysent ia32_sysent[] = { { SYF_MPSAFE | AS(sched_get_priority_min_args), (sy_call_t *)sched_get_priority_min }, /* 333 = sched_get_priority_min */ { SYF_MPSAFE | AS(sched_rr_get_interval_args), (sy_call_t *)sched_rr_get_interval }, /* 334 = sched_rr_get_interval */ { AS(utrace_args), (sy_call_t *)utrace }, /* 335 = utrace */ - { SYF_MPSAFE | AS(ia32_sendfile_args), (sy_call_t *)ia32_sendfile }, /* 336 = ia32_sendfile */ + { compat4(SYF_MPSAFE | AS(freebsd4_ia32_osendfile_args),ia32_osendfile) }, /* 336 = old ia32_osendfile */ { AS(kldsym_args), (sy_call_t *)kldsym }, /* 337 = kldsym */ { SYF_MPSAFE | AS(jail_args), (sy_call_t *)jail }, /* 338 = jail */ { 0, (sy_call_t *)nosys }, /* 339 = pioctl */ @@ -410,4 +418,26 @@ struct sysent ia32_sysent[] = { { AS(kenv_args), (sy_call_t *)kenv }, /* 390 = kenv */ { AS(lchflags_args), (sy_call_t *)lchflags }, /* 391 = lchflags */ { AS(uuidgen_args), (sy_call_t *)uuidgen }, /* 392 = uuidgen */ + { SYF_MPSAFE | AS(ia32_sendfile_args), (sy_call_t *)ia32_sendfile }, /* 393 = ia32_sendfile */ + { 0, (sy_call_t *)nosys }, /* 394 = mac_syscall */ + { 0, (sy_call_t *)nosys }, /* 395 = nosys */ + { 0, (sy_call_t *)nosys }, /* 396 = nosys */ + { 0, (sy_call_t *)nosys }, /* 397 = nosys */ + { 0, (sy_call_t *)nosys }, /* 398 = nosys */ + { 0, (sy_call_t *)nosys }, /* 399 = nosys */ + { 0, (sy_call_t *)nosys }, /* 400 = ksem_close */ + { 0, (sy_call_t *)nosys }, /* 401 = ksem_post */ + { 0, (sy_call_t *)nosys }, /* 402 = ksem_wait */ + { 0, (sy_call_t *)nosys }, /* 403 = ksem_trywait */ + { 0, (sy_call_t *)nosys }, /* 404 = ksem_init */ + { 0, (sy_call_t *)nosys }, /* 405 = ksem_open */ + { 0, (sy_call_t *)nosys }, /* 406 = ksem_unlink */ + { 0, (sy_call_t *)nosys }, /* 407 = ksem_getvalue */ + { 0, (sy_call_t *)nosys }, /* 408 = ksem_destroy */ + { 0, (sy_call_t *)nosys }, /* 409 = __mac_get_pid */ + { 0, (sy_call_t *)nosys }, /* 410 = __mac_get_link */ + { 0, (sy_call_t *)nosys }, /* 411 = __mac_set_link */ + { 0, (sy_call_t *)nosys }, /* 412 = extattr_set_link */ + { 0, (sy_call_t *)nosys }, /* 413 = extattr_get_link */ + { 0, (sy_call_t *)nosys }, /* 414 = extattr_delete_link */ }; |