Commit Graph

2129 Commits

Author SHA1 Message Date
mrg
2aa001b546 make sysctl vm.loadavg work. 2001-02-04 06:35:07 +00:00
mrg
bd15b74ffc add missing !LKM check, noted by <tih@kpnQwest.no> 2001-02-03 22:20:02 +00:00
ross
69e20722b9 Emulate LINUX_TCFLSH with our TIOCFLUSH. Do some CSE. 2001-02-03 19:01:29 +00:00
mrg
ef777aa80b sync a comment from sys_execve().
make netbsd32_recvfrom() work.
2001-02-03 12:46:55 +00:00
mrg
dabf2a8634 s/sizeof(struct exec)/sizeof(struct netbsd32_exec)/ when calculating file offsets. now sunos32 nmagic/omagic work. 2001-02-03 12:45:44 +00:00
fvdl
92bf89da0b Oops, remove debugging printf. 2001-02-03 01:23:08 +00:00
fvdl
3d66a69335 For the read subchannel ioctl, don't mix up the data and address formats,
and always set the track to 0, like Linux does.
2001-02-03 01:17:38 +00:00
jdolecek
c48d420625 emul_find(): actually, the emulation root vnode dance has to be done for
CHECK_ALT_SYMLINK() same way as for CHECK_ALT_EXISTS()
This fixes lossage reported on current-users and kern/12019 by Ross Harvey.
2001-02-02 21:17:45 +00:00
mrg
0b2b6b074d add netbsd32 & sunos32 to the (commented) SUBDIR line. 2001-02-02 13:08:04 +00:00
mrg
eefaef162b properly implement compat_43_netbsd32_stat43, compat_43_netbsd32_lstat43
and compat_43_netbsd32_fstat43.  now 32-bit ls(1) works.  so does static
sunos `/sbin/sh' on sparc64.
2001-02-02 13:06:48 +00:00
mrg
87cc07b7c9 implement netbsd32_lchflags & netbsd32_utrace 2001-02-02 13:05:18 +00:00
mrg
674f1689f6 regen 2001-02-02 13:03:39 +00:00
mrg
b0f29c9c95 add lchflags, issetugid, utrace, reserves for [gs]etcontext, and sched/SA. 2001-02-02 13:01:44 +00:00
mrg
2110531265 implement stat & fstat properly. 2001-02-02 13:00:29 +00:00
mrg
bdec681975 sunos_ioctl.c is included by sunos32_ioctl.c. include the sunos32 &
netbsd32 headers if we are in sunos32 mode.
2001-02-02 12:59:43 +00:00
mrg
2f62d51a64 generate. 2001-02-02 07:29:42 +00:00
mrg
3fbaadb80d initial support for sunos binaries running on a 64 bit sparc64 kernel.
some programs work, many do not yet.
2001-02-02 07:28:54 +00:00
mrg
b67bcac710 don't build these files if we're doing compat_netbsd32 as well.
a different set are required.
2001-02-02 07:12:27 +00:00
mrg
157a31d7a1 make this useful when compiled on sparc64: two members in sunos_nfs_args
become typedefs.
2001-02-02 07:11:09 +00:00
mrg
e4c34bc9e5 de-static netbsd32_exec_aout_prep_[zno]magic().
de-static netbsd32_from_stat43().
move the guts of netbsd32_execve() into netbsd32_execve2().

all of are for the forthcoming sunos32 compat mode (for sparc64).
2001-02-02 07:08:17 +00:00
thorpej
95a72e42de egen; getpid(2) is MP-safe. 2001-01-27 08:02:10 +00:00
thorpej
00d798f276 getpid(2) is MP-safe. 2001-01-27 07:59:58 +00:00
thorpej
b54650a0bc Regen; getpid(2) is MP-safe. 2001-01-27 07:58:37 +00:00
thorpej
e00fb66e89 getpid(2) is MP-safe. 2001-01-27 07:58:22 +00:00
thorpej
cf30c31b4d Regen; getpid(2) is MP-safe. 2001-01-27 07:56:54 +00:00
thorpej
bca5b90ff2 getpid(2) is MP-safe. 2001-01-27 07:56:30 +00:00
thorpej
e385ddef5e Regen; getpid(2) is MP-safe. 2001-01-27 07:55:44 +00:00
thorpej
f979b01e55 getpid(2) is MP-safe. 2001-01-27 07:55:23 +00:00
thorpej
c1bdc2ed00 Regen; getpid(2) is MP-safe. 2001-01-27 07:54:43 +00:00
thorpej
3853970b15 getpid(2) is MP-safe. 2001-01-27 07:54:24 +00:00
thorpej
3c55fd337f Regen; getpid(2) is MP-safe. 2001-01-27 07:53:27 +00:00
thorpej
f3e8131498 getpid(2) is MP-safe. 2001-01-27 07:53:10 +00:00
thorpej
987590c661 Regen; getpid(2) is MP-safe. 2001-01-27 07:52:20 +00:00
thorpej
4f58e50fa7 getpid(2) is MP-safe. 2001-01-27 07:51:22 +00:00
thorpej
c69905cee8 Regen; getpid(2) is MP-safe. 2001-01-27 07:50:34 +00:00
thorpej
ac878f7a8c getpid(2) is MP-safe. 2001-01-27 07:50:11 +00:00
thorpej
1b6a66420e Regen; add sy_flags. 2001-01-27 07:23:06 +00:00
manu
de8918d969 Moved include <sys/ioctl.h> so that we can build without WSCONS enabled. 2001-01-26 19:41:52 +00:00
manu
86651a757f Fixed wrong signal handler argument setup. The emulated sigcontext still has some problems. 2001-01-25 19:36:53 +00:00
jdolecek
1b91de887e use CHECK_ALT_SYMLINK() for lstat(2)
don't call stackgap_init() for pwrite(2) and pread(2), it's not necessary
2001-01-22 21:31:37 +00:00
jdolecek
13ca559d39 Use CHECK_ALT_SYMLINK() instead CHECK_ALT_EXISTS() where appropriate.
This addresses kern/11757.
2001-01-22 20:08:03 +00:00
jdolecek
2fcd02eea0 Introduce CHECK_ALT_SYMLINK() - this checks for alternative location without
following links, hence is usable for checking of presence of a symlink.
Also slighly cleanup EXISTS and CREAT cases - use symbolic constants
instead of 0/1.
This is needed for emulation of readlink(2), lchown(2) and similar.
Addresses kern/11757.
2001-01-22 19:50:56 +00:00
manu
9c111b5a93 Fixed wrong open() Linux flags definition (octal instead of hexadecimal) 2001-01-21 22:19:26 +00:00
manu
167ec91e4b Fix the "created from" field of files generated from syscalls.master (this
master file did not have a RCS Id at generation time, hence the problem)
2001-01-20 19:03:01 +00:00
manu
0d6749fdd9 Fixed wrong ioctl definitions that caused Linux ioctl TCGETS and many other to
fail
2001-01-20 18:59:55 +00:00
manu
fe95c9c3de Moved architecure dependent part of struct linux_termio to architecture
dependent header files.
2001-01-20 18:56:41 +00:00
manu
94785018b1 Fixed a typo 2001-01-20 10:36:05 +00:00
manu
d932075a0e Fixed a typo (two instructions dupliated at the end of code that were not reached) 2001-01-19 12:49:22 +00:00
manu
d5329fdce7 Cosmetic fix to move powerpc from "guesses" to "know values" 2001-01-19 12:35:47 +00:00
manu
e20b81421d Added Linux errno mapping for powerpc 2001-01-19 12:27:13 +00:00
manu
3c98a504b9 Added previously created files for powerpc Linux compatibility to the kernel
config system
2001-01-19 01:51:16 +00:00
manu
083ffa3b67 Added support for powerpc Linux compatibility 2001-01-19 01:44:46 +00:00
manu
ac10cf6946 Added a linux_atexit_signature to match Linux statically linked ELF binaries. It
searches for a __libc_atexit ELF section, which is specific to Linux
2001-01-19 01:43:31 +00:00
manu
cac0b39302 Added Linux compatibility support for powerpc ports 2001-01-19 01:40:38 +00:00
manu
5472427809 Added powerpc specific code for Linux compatibility on powerpc ports 2001-01-19 01:36:47 +00:00
manu
3ec1257260 Added various header files for initial Linux compatibility on powerpc ports 2001-01-19 01:31:23 +00:00
jdolecek
34c8ae80da constify 2001-01-18 20:28:15 +00:00
jdolecek
e912e655e1 kill local declaration of native_to_linux_errno[], one in common/linux_errno.h suffices 2001-01-18 18:41:20 +00:00
tv
e58532a4bf No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +00:00
fvdl
6784825249 EINVAL -> ENOTTY 2001-01-18 13:56:32 +00:00
thorpej
009d2d725c Grok __HAVE_MINIMAL_EMUL and __HAVE_SYSCALL_INTERN. 2001-01-15 21:33:52 +00:00
oki
880b841888 Add support to mmap .bss section.
Use vmcmd_map_pagedvn if possible.
2001-01-15 17:05:32 +00:00
fvdl
07ca2a03bf Correct copyright year. 2001-01-10 02:33:47 +00:00
fvdl
8c4bd70cda Add linux_blkio.c 2001-01-10 02:29:29 +00:00
fvdl
d772be168f Declare linux_ioctl_blkio and call it from the main routine. 2001-01-10 02:28:38 +00:00
fvdl
da9e8a988d Add some BLK* ioctl calls. Currently only the easy and useful ones
are implemented.
2001-01-10 02:28:01 +00:00
fvdl
c99aee0084 Add emulation of KIOCSOUND. 2001-01-09 13:01:03 +00:00
simonb
f514e805ed Move prototypes for mips_user_cachectl() and mips_user_cacheflush()
to <mips/cachectl.h>.
2001-01-07 04:13:16 +00:00
fvdl
3950869204 Set Linux version to 2.0.38 for now, until the clone + "real time signal"
problems are fixed.
2001-01-05 15:31:15 +00:00
fvdl
bcac62574c Implement KDGETMODE ioctl. 2000-12-29 22:06:58 +00:00
fvdl
2d53941bd4 Hardcode what the linux uname() calls return (Linux 2.2.5 is the current
value). A few major applications check for this (like VMware), and
there is no other way to trick them. Needs a more generic solution
eventually.
2000-12-29 21:07:16 +00:00
fvdl
1b9256990d Regen. 2000-12-29 20:11:52 +00:00
fvdl
17f991c744 Don't pass through link(2) directly, as we need to do altpath checks. 2000-12-29 20:11:32 +00:00
fvdl
1575b3e35a Regen. 2000-12-29 20:10:46 +00:00
fvdl
cc449a70ed Don't pass through link(2) directly, as we need to do altpath checks. 2000-12-29 20:10:17 +00:00
fvdl
e8e363d309 Regen. 2000-12-29 20:09:57 +00:00
fvdl
54450b21c0 Don't pass through link(2) directly, as we need to do altpath checks. 2000-12-29 20:09:39 +00:00
fvdl
f90b2fc517 Avoid sign extension problem in offset. 2000-12-29 20:08:54 +00:00
fvdl
77765cf28f Do alternate path checks for link(2). 2000-12-29 20:08:31 +00:00
fvdl
6f552a029f Allow the EJUSTRETURN hack for PTIOCLINUX-passed through ioctl calls. 2000-12-29 20:07:53 +00:00
fvdl
b930296d07 Under Linux it's possible to return values through the ioctl system
call directly (i.e. not a reference argument, but a direct return
value). So far I have only seen this with binaries that talk
to their own device modules, using non-standard ioctl calls.
Hence, allow for a pass-through ioctl call using PTIOCLINUX to
return EJUSTRETURN, signalling that the return value is in
the 'data' field of the structure, which can then be put in 'retval'.
2000-12-29 20:07:25 +00:00
jdolecek
1e46d6c702 use NetBSD utrace(2) facilities for FreeBSD utrace(2) emulation;
use id 'FreeBSD utrace'
2000-12-28 11:18:01 +00:00
sommerfeld
5217f6335b Let COMPAT_LINUX build with DEBUG 2000-12-27 23:47:58 +00:00
fvdl
7fbbc11d9c Regen. 2000-12-27 22:04:35 +00:00
fvdl
7cd004ead8 Add all uid and gid calls, and do the right thing for the older 16 bit
ones.
2000-12-27 22:04:05 +00:00
fvdl
41e840d9c7 Regen. 2000-12-27 22:03:10 +00:00
fvdl
11156e7e47 Add all uid and gid calls, and do the right thing for the older 16 bit
ones.
2000-12-27 22:02:41 +00:00
fvdl
62af6738b1 Use CHECK_ALT_* for chown and lchown, missed in my previous commit.
Get *id16 calls right; most can be passed through directly, but
some need the 16->32 check for -1 values.
2000-12-27 22:01:42 +00:00
jdolecek
c6a69abc26 adapt to recent changes of signal structures 2000-12-27 21:58:52 +00:00
itohy
811fede455 Regen. 2000-12-26 01:57:57 +00:00
itohy
4aee4579ba Declare linux_sys_setgid16() (NOARGS -> STD).
Change syscall #182 from linux_sys_lchown() to linux_sys_lchown16().
2000-12-26 01:57:10 +00:00
fvdl
e60e785474 Don't do the syscall with modified ioctl command if we've successfully
done a 'passthrough' ioctl.
2000-12-22 23:41:16 +00:00
jdolecek
e9e91a0fb5 split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.
2000-12-22 22:58:52 +00:00
fvdl
1a09a359eb Add SIOCGIFBR and SIOCSIFBR (more for reference than anything, currently). 2000-12-22 11:24:43 +00:00
thorpej
7027166972 Regen. 2000-12-21 20:42:42 +00:00
thorpej
c0b556f767 Make an Alpha kernel with COMPAT_LINUX compile again. 2000-12-21 20:42:15 +00:00
thorpej
f7a4dd48fd Only include the 16-bit uid/gid stuff if on i386 or m68k. This is a
little ugly, but hey, so is Linux.
2000-12-21 20:19:22 +00:00
thorpej
e57273c82e Only include the 16-bit chown/fchown/lchown stuff if on i386 or m68k.
This is a little ugly, but hey, so is Linux.
2000-12-21 20:15:53 +00:00
jdolecek
0d8b0305c5 don't define SYSVMSG if it's already defined 2000-12-21 19:30:26 +00:00
fvdl
b542c20c5b Fix yet another typo. 2000-12-21 13:37:02 +00:00
fvdl
b76b718303 Fix another pasto. 2000-12-19 22:24:03 +00:00
jdolecek
2db538c869 separate the freebsd syscall code similarily to other emulations 2000-12-18 20:38:27 +00:00
fvdl
b7ffc98bf8 Fix pasto in previous. 2000-12-18 16:27:20 +00:00
mrg
272c549ab2 copy exec_aout.c:exec_aout_setup_stack to netbsd32_exec_aout_setup_stack,
but use USRSTACK32 not USRSTACK, so that we get 32-bit stack addresses.

now 32 bit a.out binaries work on sparc64.
2000-12-18 14:50:04 +00:00
fvdl
3259cebc4c For unknown ioctls, pass them through to a device using PTIOCLINUX,
so that it may deal with them if it knows them (i.e. LKMs which
deal with Linux binaries).
2000-12-18 14:47:38 +00:00
fvdl
865e7b1375 Pass SIOC* calls that are done on devices (not sockets) through
without trying to interpret done, as is done on Linux. The device
will get them as PTIOCLINUX, with command and arg in the structure
passed in.
2000-12-18 14:46:36 +00:00
fvdl
8578d458e5 Define LINUX_SIOCDEVPRIVATE (currently not emulated for sockets). 2000-12-18 14:44:44 +00:00
fvdl
4d193ccde8 Add seperate entries for 16 bit uid/gid calls, so that border cases
like 0xffff can be handled better (not done yet).
2000-12-18 14:40:02 +00:00
fvdl
0bda0568cf Regen. 2000-12-18 14:37:36 +00:00
fvdl
41623d32a2 Update for Linux calls with 32 bit uids/gids. 2000-12-18 14:37:17 +00:00
fvdl
8839755950 Update for 32 bit Linux uid/gid calls. 2000-12-18 14:36:35 +00:00
jdolecek
f66ae436e9 make compilable without KTRACE, too 2000-12-18 08:53:39 +00:00
jdolecek
29fd738f28 make LKM safe 2000-12-17 16:15:54 +00:00
jdolecek
cec7e3ceca regen 2000-12-17 16:14:40 +00:00
jdolecek
b436e7bba3 add emulation of FreeBSD utrace(2) 2000-12-17 16:11:38 +00:00
jdolecek
df68499f38 make LKM safe 2000-12-17 15:55:47 +00:00
scw
7fb03460dc Sprinkle some register prefixes in the asm() statements. 2000-12-16 22:59:32 +00:00
jdolecek
72014988d6 adapt to recent struct emul changes 2000-12-16 13:30:08 +00:00
mycroft
b29180b2ff Tighten up the ELF signature checks, and actually look for the ABI tag added
in newer glibc versions.
2000-12-15 06:14:21 +00:00
simonb
6ec588df0d Correctly order the contents of the emul_hpux struct so this compiles. 2000-12-14 22:55:36 +00:00
jdolecek
5f0114a837 regen 2000-12-14 20:39:36 +00:00
jdolecek
14b2acc126 add sysinfo() 2000-12-14 20:37:57 +00:00
mycroft
bdf4af93a3 Some namespace hiding I forgot before. 2000-12-14 18:10:35 +00:00
mycroft
ccaa88d980 Declare linux_syscall_intern(). 2000-12-14 18:10:14 +00:00
mycroft
b8d0fc574a Regen. 2000-12-14 18:08:09 +00:00
mycroft
52e8ecc51c Round up sysent[] table size. 2000-12-14 18:07:54 +00:00
augustss
8dab2a36e1 Regen. 2000-12-13 21:42:21 +00:00
augustss
b907acd3fd Add sysinfo. 2000-12-13 21:41:46 +00:00
augustss
ccf2c891cc Implement sysinfo. 2000-12-13 21:41:23 +00:00
itohy
3e9f9f8abf sync with i386, so that exec_conf.c compiles again 2000-12-13 03:49:51 +00:00
mycroft
108d17eb16 Do the md_syscall, __HAVE_MINIMAL_EMUL and __HAVE_SYSCALL_INTERN thangs. 2000-12-13 03:16:36 +00:00
mycroft
165574c579 Regen. 2000-12-13 01:29:35 +00:00
mycroft
c87c56ee90 Round up sysent[] table size. 2000-12-13 01:29:16 +00:00
jdolecek
638d27777e add linux_sys_truncate64() 2000-12-12 22:24:56 +00:00
jdolecek
e60b4a518d regen 2000-12-12 22:23:47 +00:00
jdolecek
405a6ce62f actually, we need to wrap sys_truncate() call so that the /emul/linux/...
path is tried first
fix ftruncate64 entry - first arg to ftruncate is int fd, not path
2000-12-12 22:23:02 +00:00
jdolecek
621dac5bc2 define struct linux_stat64 used by linux_sys_*stat64() 2000-12-12 19:07:59 +00:00
jdolecek
c3dd514d84 regen 2000-12-12 19:03:10 +00:00
jdolecek
daff00c255 add emulation of Linux truncate64(2), ftruncate64(2), *stat64(2) 2000-12-12 19:01:59 +00:00
jdolecek
f8d1770316 define EXEC_AOUT (if not defined) before including linux_syscallargs.h,
to get linux_sys_uselib() prototype
2000-12-12 17:52:56 +00:00
fvdl
0b7398458a Allow for passing through of certain ranges of ioctl command values
directly to a device. The device has to be aware of how to handle
with these special ioctls. Useful for LKMs that deal with Linux
binaries.
2000-12-12 15:11:56 +00:00
mycroft
455360f941 Do the __HAVE_SYSCALL_INTERN and __HAVE_MINIMAL_EMUL dance. 2000-12-12 08:00:26 +00:00
mycroft
f495cd9dc6 Introduce 2 new flags in types.h:
* __HAVE_SYSCALL_INTERN.  If this is defined, e_syscall is replaced by
  e_syscall_intern, which is called at key places in the kernel.  This can be
  used to set a MD syscall handler pointer.  This obsoletes and replaces the
  *_HAS_SEPARATED_SYSCALL flags.
* __HAVE_MINIMAL_EMUL.  If this is defined, certain (deprecated) elements in
  struct emul are omitted.
2000-12-11 05:28:59 +00:00
mycroft
fef5184d84 Regen. 2000-12-11 04:56:01 +00:00
mycroft
fc774b14ce getuid -> getuid_with_euid
getgid -> getgid_with_egid
2000-12-11 04:55:50 +00:00
mycroft
75fbdc005e Nuke LINUX_MACHDEP_PASS_PPID. 2000-12-11 04:55:09 +00:00
mycroft
cfe0002fc5 Regen. 2000-12-11 04:54:29 +00:00
mycroft
6d0c28a87c getpid -> getpid_with_ppid 2000-12-11 04:54:13 +00:00
mycroft
e99a608974 Regen. 2000-12-11 03:09:10 +00:00
mycroft
c0341b165d Round up sysent table size. 2000-12-11 03:09:02 +00:00
mycroft
f0689d5505 Regen. 2000-12-11 03:07:06 +00:00
mycroft
23babc12e5 Round up sysent table size. 2000-12-11 03:06:49 +00:00
thorpej
a1479e118c Fix previous:
- EBADF, not NULL when a file descriptor can't be found.
- Check FIF_WANTCLOSE properly.
2000-12-10 17:34:25 +00:00
fvdl
a499e56944 Add some ioctls for harddisk, floppy disk and console handling.
Implement a few extra cdrom ioctl calls.
Make sure to correctly use FILE_USE and FILE_UNUSE.
2000-12-10 14:12:16 +00:00
fvdl
e772d7a6d5 Add i386-specific code for a few ioctl calls. 2000-12-10 14:09:59 +00:00
fvdl
ec9b1e3f5e The gist of the Linux _IOX definitions was the same for all platforms;
move it to the MI linux_ioctl.h and only leave the MD bits in the MD
header files.

Add defintions for linux_ioctl_hdio and linux_ioctl_fdio.
2000-12-10 14:08:48 +00:00
fvdl
8488f3e039 The gist of the Linux _IOX definitions was the same for all platforms;
move it to the MI linux_ioctl.h and only leave the MD bits in the MD
header files.
2000-12-10 14:07:22 +00:00
fvdl
f86f1f091f Add linux_hdio.c and linux_fdio.c 2000-12-10 14:05:54 +00:00
christos
835b5d35c5 how many different prototypes does linux_syscall() need finally? sheesh! 2000-12-09 19:51:44 +00:00
jdolecek
87a6bee3a9 prototype ibcs2_syscall() in compat/ibcs2/ibcs2_exec.c 2000-12-09 12:45:44 +00:00
jdolecek
8f9b01eba1 prototype svr4_syscall() (only) in compat/svr4/svr4_exec.c 2000-12-09 12:44:26 +00:00
jdolecek
a6ca890142 always fill in e_syscall in respective emul_*; if the emulation doesn't
have it's own separated *_syscall() function, use syscall()
2000-12-09 12:38:23 +00:00
jdolecek
415500a28f regen 2000-12-09 12:27:00 +00:00
jdolecek
c557c9f0f9 add more unimplemented syscalls to list 2000-12-09 12:23:35 +00:00
jdolecek
217ab37653 split ecoff specific code to separate file ultrix_exec_ecoff.c 2000-12-09 12:19:28 +00:00
mycroft
dd92250590 Regen. 2000-12-09 07:11:17 +00:00
mycroft
9b7a9b2897 Get rid of the damn EMUL_GET* flags. 2000-12-09 07:10:34 +00:00
mycroft
77b46f5749 Oops; missed a critical #include. 2000-12-09 06:25:03 +00:00
mycroft
95bdfed457 Add hook for a separate svr4_syscall(). 2000-12-09 06:20:17 +00:00
mycroft
51e3b887d7 Regen. 2000-12-09 06:19:40 +00:00
mycroft
e2743f72a9 Round up the sysent table size. 2000-12-09 06:15:42 +00:00
mycroft
f348afacb9 Regen. 2000-12-09 05:37:01 +00:00
mycroft
d47448bce6 Add the %% separators. 2000-12-09 05:31:10 +00:00
mycroft
9682cf0b09 Add the %% separators. 2000-12-09 05:27:28 +00:00
jdolecek
cc5b7ecb22 put the ecoff specific code from osf1_exec.c to osf1_exec_ecoff.c 2000-12-08 21:39:30 +00:00
jdolecek
f4c6609be7 change emulation name from 'netbsd' to 'aoutm68k' 2000-12-08 20:07:43 +00:00
jdolecek
0576f87ad3 add infrastructure to load emulations and their executable support dynamically
via LKM
2000-12-08 19:42:11 +00:00
jdolecek
6f1bed130e regen 2000-12-06 21:26:07 +00:00
jdolecek
79e6f66114 make LKM safe 2000-12-06 21:25:39 +00:00
jdolecek
3a7eb81dbe make LKM safe (need to use if/endif, #if/#endif is filtered out by makesyscalls.sh) 2000-12-06 21:24:47 +00:00
jdolecek
eb248dea94 regen 2000-12-06 21:02:30 +00:00
jdolecek
6ddca63eb7 make LKM safe 2000-12-06 21:02:00 +00:00
sommerfeld
5348dfb6ac Have recursive make invocations depend on the .MAKE pseudo-target so
make knows to handle them specially.
2000-12-05 17:01:19 +00:00
eeh
433c92930e Fix uninitialized pointer bug. 2000-12-05 15:25:57 +00:00
fvdl
c3d820fa5d Use a copied fktrace syscall arg structure with out 'const int' for the
filedescriptor to copy arguments, avoiding a warning. XXX
2000-12-03 14:48:29 +00:00
fvdl
5ce71a2aed Include opt_* files to make sure prototypes are included. 2000-12-03 14:47:27 +00:00
fvdl
8537802e8d Add systm.h to pull in copyout* prototypes. 2000-12-03 13:15:38 +00:00
scw
47a35be2c9 Initial cut of COMPAT_AOUT_M68K.
This gets most existing m68k a.out binaries working with m68k ELF
kernels.

There are still some remaining ABI issues to track down; most notably,
some ioctl(2) calls are affected by the change.
2000-12-02 20:40:03 +00:00
jdolecek
6f4041b981 regen after addition of linux_sys_swapoff() 2000-12-02 16:45:51 +00:00
jdolecek
1acf11b550 add emulation of linux swapoff(2) 2000-12-02 16:43:50 +00:00
jdolecek
65203b4ec6 if IBCS2_MACHDEP_HAS_SEPARATED_SYSCALL is defined, put ibcs2_syscall to
emul_ibcs2
define IBCS2_MACHDEP_HAS_SEPARATED_SYSCALL in i386 ibcs2_machdep.h
2000-12-02 16:09:44 +00:00
jdolecek
da1aefe9bf if machdep define LINUX_MACHDEP_HAS_SEPARATED_SYSCALL is defined, put
linux_syscall() to emul_linux
define LINUX_MACHDEP_HAS_SEPARATED_SYSCALL for i386
2000-12-02 16:05:04 +00:00
mrg
f5a3788577 pull over lost fix from nebsd32_exec.c:
>revision 1.25
>date: 2000/12/01 08:59:02;  author: mrg;  state: Exp;  lines: +2 -2
>in netbsd32_elf32_probe(), 'pos' is really a pointer to an Elf_Addr, not a
>vaddr_t.  cast the pointer before dereferencing it to avoid the alignment
>fault that broke compat_netbsd32, cuz pos is defined like:
>        Elf_Addr phdr = 0, pos = 0;
>in exec_elf32.c.
2000-12-02 04:08:35 +00:00
jdolecek
df127e0001 make netbsd32_copyargs() an inline 2000-12-01 22:05:18 +00:00
jdolecek
e53f148af5 put a.out/elf32 specific things in netbsd32_exec_{aout|elf32}.c
emul_netbsd32 was moved to netbsd32_netbsd.c
g/c netbsd32_exec.c now
2000-12-01 21:51:08 +00:00
jdolecek
758d9354ff always define COMPAT_OLDSOCK (this tracks rev.1.55 of kern/uipc_syscalls.c)
move definition of emul_netbsd32 from netbsd32_exec.c here
fix couple of compile nits I encountered while compiling this with
sparc cross-compiler
2000-12-01 21:48:24 +00:00
jdolecek
445c16b759 implement linux_sys_setdomainname()/linux_sys_swapon(), using code
from compat_09_sys_setdomainname()/compat_12_sys_swapon().
2000-12-01 21:14:42 +00:00
jdolecek
31cf7b914c regen 2000-12-01 21:11:02 +00:00
jdolecek
058a5a87bd replace compat_09_sys_setdomainname() with linux_sys_setdomainname(),
compat_12_sys_swapon() with linux_sys_swapon() - this is to drop dependency
on COMPAT_12/COMPAT_09
2000-12-01 21:02:55 +00:00
jdolecek
b490742cef if LINUX_MACHDEP_PASS_PPID_AND_EUID is defined for given arch, add
flags EMUL_GETPID_PASS_PPID|EMUL_GETID_PASS_EID to emul_linux
define this option for alpha
2000-12-01 20:31:13 +00:00
jdolecek
5c032b6899 define EXEC_AOUT before including freebsd_exec.h, so that the a.out stuff
gets defined
2000-12-01 19:35:39 +00:00
jdolecek
8e91e3f0bd make LKM safe 2000-12-01 19:26:57 +00:00
jdolecek
2ff42428df put elf32 specific code from svr4_exec.c to separate file svr4_exec_elf32.c 2000-12-01 19:26:26 +00:00
jdolecek
dc7c57f299 make LKM safe 2000-12-01 19:25:10 +00:00
jdolecek
36e6e46132 put aout specific sunos code from sunos_exec.c to separate file
sunos_exec_aout.c
make LKM safe
add EMUL_GETPID_PASS_PPID|EMUL_GETID_PASS_EID to emul_sunos flags
2000-12-01 19:24:36 +00:00
jdolecek
43ac5f6b81 put aout specific sunos code from sunos_exec.c to separate file
sunos_exec_aout.c
2000-12-01 19:23:10 +00:00
jdolecek
7f86cf1b2c make LKM safe 2000-12-01 19:20:56 +00:00
jdolecek
e0c059250f emul_osf1: add flags EMUL_GETPID_PASS_PPID|EMUL_GETID_PASS_EID 2000-12-01 19:20:22 +00:00
jdolecek
70569d32c8 prototype netbsd32_stat12_to_netbsd32() 2000-12-01 19:18:46 +00:00
jdolecek
f1badb80a7 put executable format specific code from ibcs2_exec.c to separate
files ibcs2_exec_coff.c, ibcs2_exec_elf32.c, ibcs2_exec_xout.c as
appropriate
2000-12-01 19:17:41 +00:00
jdolecek
e826fe9d58 split aout-specific code to sepatate file hpux_exec_aout.c 2000-12-01 19:15:12 +00:00
jdolecek
b4a8a5fbce split aout and elf32 specific code to separate files
emul_freebsd: add emul flags
	EMUL_HAS_SYS___syscall|EMUL_GETPID_PASS_PPID|EMUL_GETID_PASS_EID
2000-12-01 19:13:47 +00:00
jdolecek
caae796b52 add emul flag EMUL_HAS_SYS___syscall 2000-12-01 19:12:11 +00:00
jdolecek
011229ffcb make LKM safe 2000-12-01 18:16:54 +00:00
jdolecek
23a13e04be LKMify, g/c no more needed extern declarations, make hpuxtobsdioctl() static 2000-12-01 18:05:53 +00:00
jdolecek
31a6e57929 LKMify 2000-12-01 18:03:54 +00:00
jdolecek
798f64c85b put linux_sys_uselib() to separate file linux_uselib.c 2000-12-01 13:49:35 +00:00
jdolecek
81f0543ba6 fix the emulation path 2000-12-01 13:21:37 +00:00
jdolecek
28c12f0c39 provide extern const struct emul emul_osf1 2000-12-01 12:51:03 +00:00
jdolecek
01040d97a2 add e_path (emulation path) to struct emul, which replaces emulation-specific
*_emul_path variables

change macros CHECK_ALT_{CREAT|EXIST} to use that, 'root' doesn't need
to be passed explicitly any more and *_CHECK_ALT_{CREAT|EXIST} are removed
change explicit emul_find() calls in probe functions to get the emulation
path from the checked exec switch entry's emulation

remove no longer needed header files

add e_flags and e_syscall to struct emul; these are unsed and empty for now
2000-12-01 12:28:30 +00:00
mrg
7af8b6448c in netbsd32_elf32_probe(), 'pos' is really a pointer to an Elf_Addr, not a
vaddr_t.  cast the pointer before dereferencing it to avoid the alignment
fault that broke compat_netbsd32, cuz pos is defined like:
	Elf_Addr phdr = 0, pos = 0;
in exec_elf32.c.
2000-12-01 08:59:02 +00:00
jdolecek
50d91bb255 fix typo - it should be compat_09_netbsd32_uname, not compat_09_netbsd32_ouname 2000-11-30 19:19:43 +00:00
jdolecek
e8fcbc2bf1 always include netbsd32_ntp_adjtime(), LKMify 2000-11-30 19:17:56 +00:00
jdolecek
cad0013a61 only define SYSVMSG, SYSVSEM, SYSVSHM if it's not defined already 2000-11-30 19:14:35 +00:00
jdolecek
6626f506b3 LKMify 2000-11-30 19:05:26 +00:00
jdolecek
6b1add13dc sync netbsd32_execve() with sys_execve() - this involves
VMCMD_RELATIVE support, couple of debugging printfs and addition of
doexechooks() call
also fix one FREE() which should be free()
2000-11-30 12:54:38 +00:00
jdolecek
73f3cd8c7e LKMify 2000-11-29 21:51:49 +00:00
mrg
87650daf07 make this compile again, after execsw/lkm changes. 2000-11-28 13:07:27 +00:00
jdolecek
872ef3b1fb don't use linux_emuldata for now, so that this compiles after
rev 1.2 of compat/linux/common/linux_emuldata.h
2000-11-27 22:23:09 +00:00
jdolecek
d9f0dcbe03 adapt to execsw[] changes 2000-11-27 17:25:24 +00:00
tsutsui
6c33654882 Add declarations of hpux_setregs() and struct emul emul_hpux. 2000-11-27 15:26:17 +00:00
scw
7d7a448f88 Make these compile with the latest execsw[] changes. Someone with
SunOS binaries needs to test this...
2000-11-24 10:21:30 +00:00
thorpej
32831b2eb4 Update for change of name of FPU synch routine. 2000-11-22 08:40:47 +00:00
itojun
fdbcde1abe more COMPAT_OSF1 fix (exec_conf.c conversion?) 2000-11-22 03:56:52 +00:00
itojun
6c7e531e99 make COMPAT_OSF1 to compile. not tested (could someone review?). 2000-11-22 03:48:33 +00:00
jdolecek
ad1c55c73b implement PTRACE_{GET|SET}FPREGS and framework for PTRACE_{PEEK|POKE}USER
this makes it possible to attach to linux process with linux gdb and
see top-most function on traceback; lower functions are not available,
probably due to bad frame setup
it's not possible to setup breakpoints - Linux gdb uses hw breakpoints,
so support for them would need to be written
2000-11-21 12:28:15 +00:00
jdolecek
a53687b13e (de)allocate linux emuldata on fork/exec/exit as needed 2000-11-21 12:23:29 +00:00
jdolecek
33d7a60ccc comment out ps_siginfo from struct emuldata for now, add int debugreg[8]
update comment a bit
2000-11-21 12:21:43 +00:00
jdolecek
baae0324b9 restructure struct emul and execsw, in preparation to make emulations LKMable:
* move all exec-type specific information from struct emul to execsw[] and
  provide single struct emul per emulation
* elf:
  - kern/exec_elf32.c:probe_funcs[] is gone, execsw[] how has one entry
    per emulation and contains pointer to respective probe function
  - interp is allocated via MALLOC() rather than on stack
  - elf_args structure is allocated via MALLOC() rather than malloc()
* ecoff: the per-emulation hooks moved from alpha and mips specific code
  to OSF1 and Ultrix compat code as appropriate, execsw[] has one entry per
  emulation supporting ecoff with appropriate probe function
* the makecmds/probe functions don't set emulation, pointer to emulation is
  part of appropriate execsw[] entry
* constify couple of structures
2000-11-21 00:37:49 +00:00
jdolecek
bc146d0eb0 make const the struct emul * pointers passed/used in stackgap_init(),
stackgap_alloc()
2000-11-20 20:23:07 +00:00
simonb
f2df695c3b Update extern declarations of {hpux,ultrix}_syscallnames for change
to e_syscallnames in struct emul.  Untested on HP, but should be ok.
2000-11-19 12:47:51 +00:00
mrg
822cec2475 get rid of remaining warnings. 2000-11-18 03:23:53 +00:00
mrg
e4f5ca29a9 kill gcc warnings. 2000-11-18 02:00:50 +00:00
thorpej
db3db664bd Make this compile again. 2000-11-17 21:40:04 +00:00
simonb
1982741ab4 Don't need to extern ncpus - <sys/systm.h> has this. 2000-11-17 05:07:45 +00:00
erh
7d91e4941a Regen. 2000-11-17 03:58:01 +00:00
erh
f96aee80d6 Make the linux compatibilty code work on the alpha. (horay!) (at last!)
Two main changes:
	Create a linux_elf64_copyargs that uses the linux specific LinuxAuxInfo
	structure.  This is only used on the alpha.  i386 and m68k use the
	standard elf copyargs function.

	Since linux's approach to binary compatibilty is to look as much
	like osf1 as possible, add all the osf1 syscalls that we have
	implemented to the linux syscall table.  This includes get/setsysinfo,
	ported from FreeBSD.

In order for linux compat to work you must have COMPAT_OSF1, COMPAT_43,
COMPAT_09, COMPAT_12 and COMPAT_13 on also.
2000-11-17 03:55:17 +00:00
erh
dad312de14 Provide some more useful information. 2000-11-17 03:40:25 +00:00
erh
2681c46114 Regen. 2000-11-17 03:07:25 +00:00
erh
447472c902 Port FreeBSD's osf1_sys_getsysinfo() and fill in setsysinfo. These are
incomplete at the moment (notable the fp_control stuff) but they need to
exist for the linux compatibilty code.  All other osf1 syscalls needed for
linux compat are already here.
2000-11-17 03:06:28 +00:00
onoe
1e584c9cec Adopt the recent change to makesyscalls.sh (char * -> const char * const)
to make kdump compilable for arch without linux emulation.
2000-11-15 08:34:03 +00:00
jdolecek
78b866e95a change the type of *syscallnames[] array to 'const char * const foo[]' 2000-11-13 21:32:15 +00:00
eeh
559cfbe78a Don't dereference NULL t_linesw. 2000-11-08 22:51:01 +00:00
erh
1f16400706 Update the names of some unimplemented syscalls to match what linux calls them. Match const in parameters to our sys_writev. 2000-11-08 04:19:00 +00:00
itohy
486a58959c Adapt to the new line discipline scheme. 2000-11-02 11:00:53 +00:00
jdolecek
8d9bc8494c move definition of LINUX_PTRACE_{SET|GET}(FP)REGS flags to
sys/compat/linux/common/linux_ptrace.h, they seem to be actually MI
2000-11-01 21:02:08 +00:00
jdolecek
7b1d98353d Linux LINUX_PTRACE_SINGLESTEP operation should have same
semantics as NetBSD's PT_STEP, so support it on archs which have it
under Linux, ptrace(PTRACE_CONT, pid, 0, 0) is used to continue the
traced process where it left off; adjust addr to (caddr_t) 1 so that
the NetBSD syscall code DTRT
some sligh const poisoning
2000-11-01 20:56:30 +00:00
jdolecek
a6a1220287 regen 2000-11-01 20:43:56 +00:00
jdolecek
27d3e13121 support mlockall(), munlockall() - they are same as respective NetBSD syscalls 2000-11-01 20:38:49 +00:00
erh
5b09e159e7 Add sys/proc.h so this compiles. 2000-10-16 03:18:04 +00:00
onoe
eb1f8f2a3a Map the ioctl number of ifioctl ('i') group as much as possible.
commands are:		FreeBSD	NetBSD
	SIOCALIFADDR	27	28
	SIOCGLIFADDR	28	29
	SIOCDLIFADDR	29	30
	SIOCGIFMTU	51	126
	SIOCSIFMTU	52	127
* SIOCGLIFADDR is necessary for cvsup to work.
commands not emulated are:
	SIOCGIFPHYS, SIOCSIFPHYS, SIOCGIFSTATUS, SIOCSIFLLADDR
2000-10-09 06:19:31 +00:00
eeh
1ecf6779be Add support for variable end of user stacks needed to support COMPAT_NETBSD32:
`struct vmspace' has a new field `vm_minsaddr' which is the user TOS.

	PS_STRINGS is deprecated in favor of curproc->p_pstr which is derived
	from `vm_minsaddr'.

	Bump the kernel version number.
2000-09-28 19:05:06 +00:00
martin
41c6b720f1 The ovadvise syscall is (correctly) listed as STD, so move it's implementation
to another place. This makes kernels without options COMPAT_43 link.
2000-09-24 13:09:31 +00:00
jdolecek
a777f280d1 fix obvious bug in svr4_sys_resolvepath():
since we have not requested locked vnode (LOCKLEAF is not used for namei()
call), the vnode is returned unlocked, so we need to use vrele(), not vput()

This fixes kern/11044.
2000-09-21 21:24:33 +00:00
thorpej
72a24b4eae Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
2000-09-13 15:00:15 +00:00
ad
decb1dcfcf const tty{numbers,letters}, and remove PCVT hack. 2000-09-11 15:12:40 +00:00
fvdl
7f5724ad4c In the case of MAP_ANON, Linux mmap ignores the fd argument completely.
So, always pass -1 to the native syscall in that case, to avoid
errors if a Linux app doesn't specify -1 as the fd (which some do).
2000-09-07 22:20:45 +00:00
bouyer
aacf1f7a6a Back out the suspendsched()/resumesched() thing, per request of Jason Thorpe &
Bill Sommerfeld. suspendsched() will be implemented in a different way.
2000-09-05 16:20:27 +00:00
bouyer
629150f864 Add the sched_suspend/sched_resume functions, as discussed on tech-kern,
with the following modifications to the initial patch:
- rename SHOLD and P_HOST to SSUSPEND and P_SUSPEND to avoid confusion with
  PHOLD()
- don't deal with SSUSPEND/P_SUSPEND in fork1(), if we come here while
  scheduler is suspended we're forking proc0, which can't have P_SUSPEND set.

sched_suspend() suspends the scheduling of users process, by removing all
processes from the run queues and changing their state from SRUN to
SSUSPEND. Also mark all user process but curproc P_SUSPEND.
When a process has to be put in SRUN and is marked P_SUSPEND, it's placed in
the SSUSPEND state instead.
sched_resume() places all SSUSPEND processes back in SRUN, clear the P_SUSPEND
flag.
2000-08-31 14:36:19 +00:00
itohy
a1a00824e1 Regen. 2000-08-31 03:49:44 +00:00
itohy
e2319847de Add linux_sys_sigaltstack(). 2000-08-31 03:46:30 +00:00
sommerfeld
99d6bcc3e1 more range-checking.
In debug code, limit the size of malloced buffers to a reasonable amount.
2000-08-30 01:13:22 +00:00
sommerfeld
90eb61037d Range-check ioc->len 2000-08-29 15:15:13 +00:00
sommerfeld
6b88a0fc51 Emulation stackgap sanity checks, based partly on fixes from
FreeBSD-SA00:42.

Change stackgap_alloc to bounds-check the allocation vs. the stack
gap, returning NULL if there isn't room for the allocation.

Change emul_find() to check for a NULL return from stackgap_alloc()
and convert that into ENAMETOOLONG.

Reorder various emulation syscalls so that all *_CHECK_ALT_{EXIST,CREAT}
calls (which turn into emul_find() under the covers come *after* small,
fixed-size stackgap_alloc() calls.

Clean up ibcs2 {get,set}groups.
2000-08-29 14:33:25 +00:00
thorpej
4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
matt
4e1f5ebf66 When reading dir entry by dir entry, we need to pad out the receive buffer
to at least a block to make ufs_readdir happy.
2000-08-23 21:11:47 +00:00
christos
e2bcf6b0b5 add support for sigaltstack(2) needed for jvm-1.3 support.
XXX: Only on i386, don't have access to other linuxes...
2000-08-23 17:02:18 +00:00
christos
7f6c062b21 regen 2000-08-23 17:01:20 +00:00
christos
303ab3ee07 add support for syscall 186 [sigaltstack] 2000-08-23 16:59:51 +00:00
mrg
8638251139 declare struct firm_event32 2000-08-22 03:35:14 +00:00
thorpej
a616e3a1af splhigh() -> splsched(), and an XXXSMP. 2000-08-21 02:33:04 +00:00
thorpej
b4dc5fb0b7 splhigh() -> splsched() 2000-08-21 02:31:59 +00:00
eeh
1e8c5f2119 Fix netbsd32_ioctls. 2000-08-19 14:38:18 +00:00
cgd
0199b04bef update for changed makesyscalls.master 2000-08-18 19:35:15 +00:00
cgd
3af42e5211 update for changed makesyscalls.sh 2000-08-18 19:26:56 +00:00
cgd
e539b49106 update for my change to makesyscalls.sh, and apparently previous
changes as well...
2000-08-18 19:25:37 +00:00
cgd
287e8a9edf update for new makesyscalls.sh, and also for correct ids for changed
syscalls.master files.  (you need to regenerate after checking in
syscalls.master to get the correct ids.)
2000-08-18 19:19:50 +00:00
matt
8666ad87ba Fix read problem on directories on UFS. 2000-08-18 17:38:33 +00:00
matt
693b01e5da Fix IBCS2_S_IFWGRP 2000-08-17 15:16:01 +00:00
tron
29e1f8bd9f Use accurate rounding in conversion between OSS and NetBSD volume values.
The optimized integer formula was supplied by Wolfgang Solfrank on
"tech-kern@netbsd.org". This fixes problems with e.g  FreeBSD TV (fxtv),
RealPlayer-7.0 Beta 2 (PR pkg/10818) and KDE's "kscd".
2000-08-16 16:14:33 +00:00
matt
52a3078697 fix some size_t/int confusion. 2000-08-11 22:21:41 +00:00
matt
66617b2137 Add ibcs2_sys_gtty. 2000-08-11 22:20:10 +00:00
matt
ef5099c8d8 Use size_t appropriately. 2000-08-11 22:19:29 +00:00
matt
e4dc804075 Regen. 2000-08-11 22:17:58 +00:00
matt
4153441571 add ibcs2_sys_gtty 2000-08-11 22:14:07 +00:00
tv
1d8f5f2ea3 Pretend to do something useful (just fill in oldsigaction with SIG_IGN and
zeroes) if the mapped signal number comes up zero.  Previously, sigaction1()
would return an error, confusing some linux apps trying to set handlers for
"all" signals.
2000-08-09 20:20:49 +00:00
itojun
a282297e9a regen 2000-08-08 02:15:09 +00:00
itojun
eab255c93f s/#ifdefined/#ifdef/ 2000-08-08 02:12:30 +00:00
bjh21
24f9914cb3 Second phase of changes to remove ntp_adjtime(2) from the kernel entirely if
NTP is not defined.

Also removes sysctl_ntptime, since that's unreferenced without NTP.

ntp_gettime(2) is left alone, since it doesn't raise SIGSYS, which sys_nosys()
does.
2000-08-07 18:10:20 +00:00
bjh21
a9397f5bfc Changes to syscalls.master to exclude ntp_adjtime(2) entirely if NTP is not
defined.  Changes to other files will follow in a moment.
2000-08-07 17:59:33 +00:00
itohy
3630c53733 Add #include <sys/proc.h>, since this file touches members of struct proc. 2000-08-07 02:51:04 +00:00
thorpej
7cc27a88c0 Convert namei pathname buffer allocation to use the pool allocator. 2000-08-03 20:41:05 +00:00
jdolecek
e25636b5da g/c RB_DFLTROOT
I've tried hard to find also various usage() messages and remove the
appropriate flag from there as well, hopefully all occurences are covered.
2000-07-29 20:06:27 +00:00
tron
597ed25d3d Adoid excessive use of "return" in "excessive()". 2000-07-28 21:49:09 +00:00
tron
db4919f6b7 Use "NULL" and not "0" for null pointers. 2000-07-28 21:38:44 +00:00
mrg
705b50bf32 fix LP64 warnings. 2000-07-27 14:00:56 +00:00
pk
9c601e5c64 lstat: since namei() returns an error (EISDIR) if there is no parent to lock,
retry the lookup without LOCKPARENT if that happens. This is safe, since
need to have LOCKPARENT only if the vnode is of type VLNK.
2000-07-26 11:43:07 +00:00
nisimura
7d6022a0db version[] string was const'ifed. Pointed out by Izumi Tsutsui. 2000-07-20 08:29:41 +00:00
onoe
0dbbd8cec4 implement new signal syscalls in FreeBSD 4.0-RELEASE, using native syscalls:
sigaction, sigprocmask, sigsuspend, and sigpending.
2000-07-18 14:15:05 +00:00
enami
9496825ae2 Define an auto variable ``cp'', which is used to scan the global variable
``version'', as const char * instead of char * to prevent compiler warning.
2000-07-17 04:04:02 +00:00
thorpej
9d069ade37 Sprinkle some const. 2000-07-14 18:26:46 +00:00
thorpej
195bf5c09f - Fix the likely cause of the "ps(1) hangs machine" problem. Always
vslock the user pages for the data being copied out to userspace,
  so that we won't sleep while holding a lock in case we need to
  fault the pages in.
- Sprinkle some const and ANSI'ify some things while here.
2000-07-14 07:21:21 +00:00
thorpej
ba40fcada3 Sprinkle in some const. 2000-07-14 07:12:47 +00:00
thorpej
75159452f1 Sync w/ kern_time.c and sys_generic.c 2000-07-13 17:39:03 +00:00
thorpej
c55e09bd44 Add a comment about the hzto() return value. 2000-07-13 17:32:06 +00:00
mrg
d132b13d89 regen 2000-07-09 13:40:20 +00:00
mrg
8f9515257a - massive warning fix fest.
- fix pread/pwrite return values (plus some other syscalls that looked
  similarly broken).
- prototypes and clean up for netbsd32_ioctl.c

now getpw*() works under compat32!
2000-07-09 13:39:31 +00:00
mrg
18c0283349 look in /emul/netbsd32 for __stat13() and __lstat13(). 2000-07-09 03:03:35 +00:00
augustss
17ac2f03ee Implement OSS_GETVERSION.
Accept mixer values above max (100).
Handle the info from AUDIO_MIXER_DEVINFO properly, parts of it is opaque.
2000-07-04 09:56:14 +00:00
mrg
c48063facd remove include of <vm/vm.h> 2000-06-29 02:40:37 +00:00
mrg
13f211c52e remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 15:39:24 +00:00
matt
3c173d4927 If we loaded an nmagic on a subpage boundary, adjust epp->ep_d{addr,size} so
that they start on a page boundary.  This is needed so that obreak(2) works
properly.
2000-06-28 00:14:44 +00:00
augustss
040884b5e6 Regen (no difference in generated files, but they were not up-to-date). 2000-06-27 20:59:23 +00:00
mrg
f4e210fb2c remove redundant vm includes 2000-06-26 15:26:35 +00:00
mrg
89d0a3e519 remove redundant vm includes. 2000-06-26 14:38:50 +00:00
mrg
2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
mrg
c543a66253 remove some redundant <vm/vm_xxx.h> includes 2000-06-25 13:26:19 +00:00
matt
3a447126e3 simply the abutting text/data case. 2000-06-23 22:03:22 +00:00
matt
a0cf752d0c For omagic & nmagic, add bss size into data magic (needed for brk to work
right).  Deal with the case that the data segment might fit into all the
trailing part of last text page.
2000-06-21 06:40:04 +00:00
matt
15511d1dcc Move COFF_LDPGSZ to ibcs2_machdep.h. Fix nmagic loader to deal with
subpage mappings.
2000-06-21 05:45:15 +00:00
matt
aef5a7aa9a Allow dynamic twiddling of debug messages.
Fix printf problem when printing debug messages.
fix coff shlib loading.  Add a few sanity checks.
2000-06-16 01:56:36 +00:00
oki
37ebc7e168 Fix copyright notice. This file is derived from
compat/ibcs2/ibcs2_exec.c, keep the copyright notice.
2000-06-15 15:37:05 +00:00
veego
92c3e3856b Fix a comment. 2000-06-11 09:21:16 +00:00
veego
589a5222ec Remove the pcvt support. 2000-06-11 09:19:27 +00:00
oki
41608c00a3 PE/COFF (Win32) compatible binary support (experimental).
It currentry supports only i386.
2000-06-09 22:38:56 +00:00
soren
a9aa2abf94 defopt SYSCALL_DEBUG. 2000-06-06 18:52:30 +00:00
soren
7a3db3e7fe Wrap line. 2000-06-06 18:07:33 +00:00
mycroft
a7c27cd3af Nothing yet. 2000-06-04 16:29:25 +00:00
mycroft
e9deffe0bf Move a bunch of the COFF definitions into exec_coff.h, so they can be used by
other code.   XXX Not tested on SH3 yet.
2000-06-04 16:23:59 +00:00
simonb
38cc1b3975 Add new sysctl node "KERN_SYSVIPC_INFO" with "KERN_SYSVIPC_MSG_INFO",
"KERN_SYSVIPC_SEM_INFO" and "KERN_SYSVIPC_SHM_INFO" to return the
info and data structures for the relevent SysV IPC types.  The return
structures use fixed-size types and should be compat32 safe.  All
user-visible changes are protected with
	#if !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)

Make all variable declarations extern in msg.h, sem.h and shm.h and
add relevent variable declarations to sysv_*.c and remove unneeded
header files from those .c files.

Make compat14 SysV IPC conversion functions and sysctl_file() static.

Change the data pointer to "void *" in sysctl_clockrate(),
sysctl_ntptime(), sysctl_file() and sysctl_doeproc().
2000-06-02 15:53:03 +00:00
eeh
7a92eda021 Include "opt_DDB.h" to enable the DDB sysctls. 2000-05-30 20:54:26 +00:00
thorpej
e03e9e8086 Rather than starting init and creating kthreads by forking and then
doing a cpu_set_kpc(), just pass the entry point and argument all
the way down the fork path starting with fork1().  In order to
avoid special-casing the normal fork in every cpu_fork(), MI code
passes down child_return() and the child process pointer explicitly.

This fixes a race condition on multiprocessor systems; a CPU could
grab the newly created processes (which has been placed on a run queue)
before cpu_set_kpc() would be performed.
2000-05-28 05:48:59 +00:00
thorpej
21fc65e1a8 sleep() -> tsleep() 2000-05-27 04:52:27 +00:00
sommerfeld
40339b39f9 Reduce use of curproc in several places:
- Change ktrace interface to pass in the current process, rather than
p->p_tracep, since the various ktr* function need curproc anyway.

 - Add curproc as a parameter to mi_switch() since all callers had it
handy anyway.

 - Add a second proc argument for inferior() since callers all had
curproc handy.

Also, miscellaneous cleanups in ktrace:

 - ktrace now always uses file-based, rather than vnode-based I/O
(simplifies, increases type safety); eliminate KTRFLAG_FD & KTRFAC_FD.
Do non-blocking I/O, and yield a finite number of times when receiving
EWOULDBLOCK before giving up.

 - move code duplicated between sys_fktrace and sys_ktrace into ktrace_common.

 - simplify interface to ktrwrite()
2000-05-27 00:40:29 +00:00
tv
01780e8115 Add names for many syscalls not yet implemented, including those in
FreeBSD 4.0-RELEASE.  Also implement the following using existing NetBSD
syscalls:  pread, pwrite, getsid, mlockall, munlockall, __getcwd.
2000-05-23 16:05:51 +00:00
jhawk
78732e454b Remove conditionization upon XSERVER -- all the code
so conditionalized is already conditionalized on (NWSDISPLAY > 0),
so is wscons-specific. wscons has no conditionalization on XSERVER;
neither should the linux compatibility code.

Removing this is necessary to keep linux X server emulation functionining
after GENERIC rev 1.337 removing "options XSERVER" (relegating it
to the pccons/pcvt-specific, and therefore depricated).
2000-05-15 01:12:07 +00:00
kristerw
020e448c4b Regen 2000-05-04 21:56:47 +00:00
kristerw
c60bd75960 Added lchflags and issetugid 2000-05-04 21:52:32 +00:00
thorpej
33e0776eda Remove junk after #undef. 2000-05-03 21:41:43 +00:00
simonb
3c359c262d The size of the members of struct ultrix_utsname were nothing like
reality - adjust and fill in "version" the same way that some other
compat routines do.  An Ultrix "uname -a" returns something meaninful
now instead of just "NetBSD     ".
2000-04-28 12:52:52 +00:00