Commit Graph

124 Commits

Author SHA1 Message Date
rmind ad12c77015 Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3!
Approved by core@.
2012-02-19 21:05:51 +00:00
bouyer 6e3787a787 Regen: use COMPAT_50 quotactl, not the native one 2011-03-07 19:27:27 +00:00
bouyer f5e8243c9d Use the COMPAT_50 quotactl, not the native one.
Should fix build of COMPAT_AOUT_M68K
2011-03-07 19:26:35 +00:00
tsutsui afeacd3b7c compat_aoutm68k doesn't require alternative emul path lookup. 2010-10-15 16:51:09 +00:00
chs 33fa5ccbbf many changes for COMPAT_LINUX:
- update the linux syscall table for each platform.
 - support new-style (NPTL) linux pthreads on all platforms.
   clone() with CLONE_THREAD uses 1 process with many LWPs
   instead of separate processes.
 - move the contents of sys__lwp_setprivate() into a new
   lwp_setprivate() and use that everywhere.
 - update linux_release[] and linux32_release[] to "2.6.18".
 - adjust placement of emul fork/exec/exit hooks as needed
   and adjust other emul code to match.
 - convert all struct emul definitions to use named initializers.
 - change the pid allocator to allow multiple pids to refer to the same proc.
 - remove a few fields from struct proc that are no longer needed.
 - disable the non-functional "vdso" code in linux32/amd64,
   glibc works fine without it.
 - fix a race in the futex code where we could miss a wakeup after
   a requeue operation.
 - redo futex locking to be a little more efficient.
2010-07-07 01:30:32 +00:00
pooka e4fb143734 regen:
- remove nfssvc / fs_nfs.h / #ifdef NFS
- make getfh unconditional
2010-03-02 21:14:43 +00:00
pooka c20692bba4 Kill fs_nfs.h and #ifdef NFS by making getfh() support unconditional
and nfssvc unsupport unconditional.  nfs server was just a fancy
NOP anyway for all except Ultrix.  I know I'm boring but I couldn't
imagine why someone would want to run an Ultrix nfs server (and I
also doubt that it would work anymore with all the changes to fs
exporting etc).
2010-03-02 21:07:21 +00:00
pooka cfd5efb415 regen for conditional lfs syscall removal 2010-03-02 16:09:10 +00:00
pooka f1d702e017 -fs_lfs.h 2010-03-02 16:08:15 +00:00
pooka a47bbe896e Remove lfs syscall support from compat. I can't really imagine
anyone wanting to run lfs megamaid as a e.g. FreeBSD binary.
Besides, the real action has been in fcntl() for >5 years now.
The only place where the compat syscalls might have made the tiniest
bit of sense was netbsd32, but they were unimplemented there.
2010-03-02 16:00:03 +00:00
matt 15aa4c53c9 Regen (new makesyscalls.sh) 2009-12-14 00:53:32 +00:00
pooka b89c189be7 Declare extern syscallnames in a header. 2009-06-02 23:21:37 +00:00
pooka 5d19acad62 Regen to prove I didn't screw up the conversion: purely RCSID changes. 2009-01-13 22:33:08 +00:00
pooka a9a2ce837b Convert the syscalls.master to a format from which it is easier
to parse and generate the compat name and basename (e.g. __stat50
and stat).  Use this to autogenerate __RENAME()'s to the rump_syscalls
header so that they can be called e.g. rump_sys_socket() instead
of rump_sys___socket30().
2009-01-13 22:27:43 +00:00
pooka 0033abb5fc regen 2009-01-13 21:07:33 +00:00
pooka a0ece03c2d Make one UNIMPL consistent with the rest: remove signature. 2009-01-13 21:06:47 +00:00
mhitch 6ebe2c3a6d Compat a.out stat structures also need to use u_int32_t dev_t. 2009-01-11 22:54:16 +00:00
tsutsui 9d90ca88ae Compat a.out stat structures should use compat struct timespec50.
Noticed by mhitch@.
2009-01-11 21:12:04 +00:00
tsutsui 41e9d73c06 Regen from syscalls.master rev 1.31:
> Update for compat_50 stuff. (compile test only)
2009-01-11 12:27:23 +00:00
tsutsui 2f67cbfacc Update for compat_50 stuff. (compile test only) 2009-01-11 12:25:03 +00:00
he b9e9d5c919 Commit regenerated files after this change to syscalls.master:
sys_nfssvc() is actually only defined when NFSSERVER is defined,
not when only NFS is defined, according to sys/nfs/files.nfs.
Adapt accordingly.  Fixes build of amiga INSTALL kernel.
2008-11-21 15:15:31 +00:00
he 5ed8abf7d9 sys_nfssvc() is actually only defined when NFSSERVER is defined,
not when only NFS is defined, according to sys/nfs/files.nfs.
Adapt accordingly.  Fixes build of amiga INSTALL kernel.
2008-11-21 15:14:56 +00:00
ad 92ce8c6a3d Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime
2008-11-19 18:35:57 +00:00
ad 0efea177e3 Remove LKMs and switch to the module framework, pass 1.
Proposed on tech-kern@.
2008-11-12 12:35:50 +00:00
he acba26b8f9 Commit regenerated files after adding include of <sys/sched.h>. 2008-06-21 19:59:09 +00:00
he 3824f75f83 <sys/sycallargs.h> needs <sys/sched.h> now. 2008-06-21 19:58:27 +00:00
he f776c48636 <sys/syscallargs.h> now needs <sys/sched.h> included for the cpuset_t type
declaragion, so comply with that so that this builds again.
2008-06-17 16:13:08 +00:00
martin ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
ad dd55791531 Regen. 2008-04-23 14:10:03 +00:00
ad 7cb840338e -SYCALL_MPSAFE 2008-04-23 14:07:49 +00:00
ad c9a93c8c58 Make this build again. From isaki@. 2008-03-23 13:58:47 +00:00
dsl 6fb2884c3a regen 2007-12-20 23:07:25 +00:00
dsl 7e2790cf6f Convert all the system call entry points from:
int foo(struct lwp *l, void *v, register_t *retval)
to:
    int foo(struct lwp *l, const struct foo_args *uap, register_t *retval)
Fixup compat code to not write into 'uap' and (in some cases) to actually
pass a correctly formatted 'uap' structure with the right name to the
next routine.
A few 'compat' routines that just call standard ones have been deleted.
All the 'compat' code compiles (along with the kernels required to test
build it).
98% done by automated scripts.
2007-12-20 23:02:38 +00:00
dsl 28bae79b27 ANSIfy most of the function definitions in sys/compat (but not ndis).
All by the magic of sed ...
2007-12-08 18:35:53 +00:00
dsl f2af9174b9 Remove all the __P 2007-12-04 18:40:07 +00:00
dsl 300078900a regen 2007-11-12 22:23:29 +00:00
dsl 9bb5de8a76 syscall() needs to be 'NOARGS INDIR'.
Actually I wonder if this code could use the standard syscall table ?
2007-11-12 22:23:01 +00:00
dsl ee077208d9 Regen 2007-11-09 15:10:27 +00:00
dsl 3107f9cd42 Add arguments to sys_syscall and sys___syscall.
Use MI wrappers for them in netbsd32.
Change prefix for constants from netbsd32 to NETBSD32 (used in #defines etc).
2007-11-09 15:05:33 +00:00
dsl 0bfa8b4ee7 Adapt for sys_mount() becoming compat_40_sys_mount(), 2007-07-14 15:47:26 +00:00
dsl df57a27c09 Change calls from sys_mount() to compat_40_sys_mount() 2007-07-14 15:45:48 +00:00
dsl 906b9af2a7 Rework compat stat() and statvfs() code so that it no longer uses the stackgap. 2007-04-30 14:05:47 +00:00
dsl b8fbaf8c4b Change the way that emulations locate files within the emulation root to
avoid having to allocate space in the 'stackgap'
  - which is very LWP unfriendly.
The additional code for non-emulation namei() is trivial, the reduction for
  the emulations is massive.
The vnode for a processes emulation root is saved in the cwdi structure
  during process exec.
If the emulation root the TRYEMULROOT flag are set, namei() will do an initial
  search for absolute pathnames in the emulation root, if that fails it will
  retry from the normal root.
".." at the emulation root will always go to the real root, even in the middle
  of paths and when expanding symlinks.
Absolute symlinks found using absolute paths in the emulation root will be
  relative to the emulation root (so /usr/lib/xxx.so -> /lib/xxx.so links
  inside the emulation root don't need changing).
If the root of the emulation would be returned (for an emulation lookup), then
  the real root is returned instead (matching the behaviour of emul_lookup,
  but being a cheap comparison here) so that programs that scan "../.."
  looking for the root dircetory don't loop forever.
The target for symbolic links is no longer mangled (it used to get the
  CHECK_ALT_xxx() treatment, so could get /emul/xxx prepended).
CHECK_ALT_xxx() are no more. Most of the change is deleting them, and adding
  TRYEMULROOT to the flags to NDINIT().
A lot of the emulation system call stubs could now be deleted.
2007-04-22 08:29:55 +00:00
dsl 893faeae9e Update all the compat stuff to not use the 'stackgap' for processing
sys_stat() and friends, instead use do_sys_stat() and do_sys_fstat()
that write the answer into a kernel buffer (on stack) that can be
converted to the correct form and written the userspace.
I've test compiled a few kernels, and tested i386 netbsd1.6 ls.
Given I think I've fixed some bugs, it might be 50-50 with new ones.
2007-03-10 21:40:23 +00:00
christos 53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
ad b07ec3fc38 Merge newlock2 to head. 2007-02-09 21:55:00 +00:00
matt 280b69066a Regen. 2006-09-01 21:19:44 +00:00
matt 30183e299f Don't conditionalize *sys_ptrace. The lack of sys_ptrace will be dealt
with differently.
2006-09-01 20:58:18 +00:00
he a7d7842fcb Regenerate after dealing with options PTRACE. 2006-08-30 14:02:12 +00:00
he 4ca1029105 Update to deal with options PTRACE. 2006-08-30 14:01:25 +00:00