thorpej
8077f13805
Use device_is_a(), rather than testing the dv_cfdriver pointer.
2006-03-29 04:19:48 +00:00
thorpej
39cd836ee1
Use device_unit().
2006-03-28 17:38:24 +00:00
dyoung
448664e102
Use __arraycount().
2006-03-27 21:27:02 +00:00
drochner
86225028d1
kill the last use of vm_fault_t, from Havard Eidnes
2006-03-20 13:14:37 +00:00
matt
6a9dc55430
More variable sized MALLOC -> malloc changes.
2006-03-19 22:39:28 +00:00
matt
170f4f3a59
MALLOC -> malloc
2006-03-18 18:56:19 +00:00
erh
8ad33681f8
Fix Coverity issues 2321 and 2320. Make sure to free allocated memory.
2006-03-17 06:01:14 +00:00
cube
daab1bf18c
Move malloc calls outside of the block where a lock is held.
2006-03-15 11:36:42 +00:00
cube
37b7f4fbd8
SA introduce a new case of siginfo structure. Be ready for it when the
...
time comes to support SA in COMPAT_NETBSD32 (which is soon).
2006-03-15 09:09:47 +00:00
jonathan
b9c6a2634b
Rework Linux sysctl()-emulation, so that on amd64, we return the same
...
Linux kernel-version as on i386 and ppc (currently 2.4.18), and a date
in Feb 2002.
On all other NetBSD platforms we return a Linux-kernel version of
2.0.38 and a date sometime in 2000, which (AFAIK) predates the
existence of amd64, and therefore predates Linux support for amd64.
To me, it makes much more sense to return the same Linux-kernel-version
and date for both 32-bit x86 and 64-bit x86.
Empirically (and not least), this change also allows SuSE 10 amd64
binaries to run under our Linux amd64 binary emulation (both static
and dynamic-linked, given suitable setup) , which they didn't when we
reported a Linux/x86_64 kernel version of 2.0.38.
2006-03-08 03:55:31 +00:00
thorpej
be8b235384
Clean up fallout proc_is_traced_p() change:
...
- proc_is_traced_p() -> trace_is_enabled(), to match trace_enter() and
trace_exit().
- trace_is_enabled() becomes a real function.
- Remove unnecessary include files from various files that used to care
about KTRACE and SYSTRACE, but do no more.
2006-03-07 03:32:04 +00:00
thorpej
6e72296875
Remove SET/CLR/ISSET definitions.
2006-03-06 23:19:50 +00:00
cube
ceafd0acdb
Regen (SysV IPC).
2006-03-06 14:41:28 +00:00
cube
754cf030b7
Implement the SysV IPC family of syscalls.
2006-03-06 14:40:55 +00:00
christos
1b2709754a
cleanup more SET/CLR/ISSET lossage
2006-03-05 17:33:33 +00:00
cube
40a483cd0b
Regen (ksem_*).
2006-03-05 01:29:28 +00:00
cube
6d0cb97ff8
Implement the ksem_* family of syscalls.
2006-03-05 01:28:20 +00:00
xtraeme
312ebc355d
Instead of getting properties from calling ioctl with AUDIO_GETINFO, use
...
AUDIO_INITINFO(). Now the sound with the linux flash plugin works
properly.
From OpenBSD.
2006-03-04 11:17:08 +00:00
yamt
ec5a93183a
merge yamt-uio_vmspace branch.
...
- use vmspace rather than proc or lwp where appropriate.
the latter is more natural to specify an address space.
(and less likely to be abused for random purposes.)
- fix a swdmover race.
2006-03-01 12:38:10 +00:00
kent
d3dccfb5d8
regenerate for syscalls.master rev.1.16
2006-02-26 17:13:51 +00:00
kent
1d37dd09ca
follow recent changes in sys/kern/syscalls.master
2006-02-26 17:12:44 +00:00
wiz
5d1e8b2745
Fix some typos.
2006-02-25 02:28:55 +00:00
manu
c7fca50583
Fix compat_linux32 time(2) emulation
2006-02-24 06:39:47 +00:00
he
1f315c6ab1
Paste in the conditional declaration of the pps_* extern variables
...
from kern_ntptime.c, so that this file can build under PPS_SYNC.
2006-02-17 15:44:17 +00:00
perry
fbae48b901
Change "inline" back to "__inline" in .h files -- C99 is still too
...
new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
2006-02-16 20:17:12 +00:00
manu
5e9b532be2
Add getcwd (for real this time), fix dup and dup2
2006-02-15 15:23:18 +00:00
manu
f806470fb3
- Move the BSD to Linux and Linux to BSD termio/termios conversion functions
...
to a header where they can be shared between COMPAT_LINUX and COMPAT_LINUX32
- Add termios ioctl emulation to COMPAT_LINUX32
- Add the getcwd system call to COMPAT_LINUX32/amd64
That makes Linux's bash working with COMPAT_LINUX32.
2006-02-15 09:31:17 +00:00
dogcow
663b29bb4a
make linux emulation compile on i386 again.
2006-02-09 23:27:08 +00:00
manu
ee0c5b44de
Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so
...
that the i386 license manager part of amd64 version of Fluent works.
While I'm here, add SysV IPC to COMPAT_LINUX/amd64
2006-02-09 19:18:56 +00:00
yamt
cab41a8b8a
linux_sys_mremap: validate flags.
2006-01-31 14:02:55 +00:00
yamt
e8e7ab8637
implement compat_linux mremap.
2006-01-21 13:34:15 +00:00
cube
16b23e6e66
More ktrace-lwp merge fallout: netbsd_elf32_signature's prototype has
...
changed. Too bad C doesn't have signatures in symbols.
Fixes PR#32388 by Nicolas Joly.
2005-12-27 00:36:00 +00:00
perry
3d4ed1fbc7
__inline__ -> inline
2005-12-24 23:41:33 +00:00
perry
00d6acb4b6
bare asm -> __asm
2005-12-24 22:59:39 +00:00
perry
0f0296d88a
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
2005-12-24 20:45:08 +00:00
christos
55f7db0668
PR/32303: Nicolas Joly: Fix -current amd64 kernel compilation failure with
...
options COMPAT_LINUX
2005-12-16 14:16:14 +00:00
christos
7330d168b8
proc to lwp change
2005-12-14 18:33:32 +00:00
christos
fa7190ea1a
more proc to lwp problems.
2005-12-12 02:51:07 +00:00
christos
95e1ffb156
merge ktrace-lwp.
2005-12-11 12:16:03 +00:00
tron
9ca15b486f
Fix problem in ioctl() handling in OSS audio emulation which caused
...
unintentional changes of the audio settings e.g. when running "kphone".
Patch submitted by George Michaelson on "tech-kern@NetBSD.org".
2005-12-08 19:19:14 +00:00
christos
0e0397d742
netbsd32_timevalp_t is not really a pointer.
2005-12-06 13:37:35 +00:00
christos
58b2cd40fa
remove conflict.
2005-12-05 15:17:18 +00:00
christos
9612f9a4de
untagle a bit.
2005-12-05 15:16:51 +00:00
kleink
cb3b376555
Sync with kern_time.c rev. 1.98:
...
- make settime take timespec.
- pass struct proc down so that we can log a detailed message.
2005-12-05 10:31:00 +00:00
christos
184ad089a7
- make settime take timespec.
...
- avoid wrapping of time in settime.
- pass struct proc down so that we can log a detailed message.
2005-12-05 00:16:33 +00:00
rpaulo
462d39494a
Remove the debugging printf left in linux_sys_getrlimit().
2005-11-30 11:36:22 +00:00
jdolecek
a2e3927e39
undo linux_sys_exit_group() change _again_ - please do not commit known
...
broken code
2005-11-29 22:31:59 +00:00
manu
35923ac2fc
Threads should not send a signal on exit.
2005-11-29 16:24:41 +00:00
thorpej
7d00e1aff3
Overhaul how TTY line disciplines are handled:
...
- Replace references to linesw[0] with a ttyldisc_default() function
that returns the default ("termios") line discipline.
- The linesw[] array is gone, replaced by a linked list.
- ttyldisc_add() and ttyldisc_remove() have been replaced by
ttyldisc_attach() and ttyldisc_detach().
- Things that provide line disciplines are now responsible for
registering those disciplines with the system. The linesw
structures are no longer declared in tty_conf.c
- Line disciplines are now refcounted; a lookup causes a reference to
be held. ttyldisc_release() releases the reference. Attempts to
detach an in-use line discipline result in EBUSY.
- Fix function signature lossage in if_sl.c, if_strip.c, and tty_tb.c
that was masked by the old tty_conf.c
- tty_init() is no longer necessary; delete it and its call from main().
2005-11-27 05:35:52 +00:00
manu
2697809839
To awake all processes sleeping on a futex, set maximum value to 0x7fffffff
...
instead of -1 (0xffffffff): the value is signed...
2005-11-23 22:38:46 +00:00
manu
c06b3dd8a8
Remove a debug printf
2005-11-23 22:23:30 +00:00
manu
23cf341ea0
- Add Linux tkill and tgkill (partial emulation).
...
- Fix getrlimit on amd64
2005-11-23 16:14:57 +00:00
christos
c3ae1990ca
Regen
2005-11-17 17:09:05 +00:00
christos
7faedc67d3
need the non-compat version of shm.h too.
2005-11-17 17:07:03 +00:00
simonb
772f8208fc
Copyright maintenance - only include the copyrights from the original
...
sys/*.h files that were in the files at the time the old structures
were present.
2005-11-12 00:39:22 +00:00
chs
001ec1422b
include additional headers that are now needed.
2005-11-11 23:22:08 +00:00
jdolecek
95d0b66d28
undo the linux_sys_exit_group() change for now - complete CLONE_THREAD support
...
is necessary for this to work properly
2005-11-11 22:45:41 +00:00
christos
88056ee1bd
Move more compat stuff from sys.
2005-11-11 17:10:42 +00:00
tron
19c262ce51
Include "sys/ipc.h" to get definition of "ipc_perm14" structure.
...
This fixes the build of "pecoff_exec" LKM.
2005-11-11 11:59:53 +00:00
simonb
a21c456e2e
Call nanotime() directly, instead of doing the
...
microtime()/TIMEVAL_TO_TIMESPEC() dance.
2005-11-11 07:07:42 +00:00
christos
82eba32c06
need compat/sys/shm.h
2005-11-10 18:47:53 +00:00
christos
306385b2a5
regen.
2005-11-10 18:47:31 +00:00
christos
e2f2b17e31
add the new compat header.
2005-11-10 18:47:16 +00:00
christos
75fdf989ea
These two really don't need the new header.
2005-11-10 18:43:32 +00:00
christos
2a4a5534b4
Include new compat header.
2005-11-10 18:39:30 +00:00
christos
0b0496e3d5
move the compat code out of the sys file.
2005-11-10 18:36:20 +00:00
christos
65de380a95
More ipc support for linux; makes oracle work. From chuq and
...
jlrodriguez at terra dot es
2005-11-10 18:33:37 +00:00
manu
e75bcb9ebf
Fix build problem
2005-11-09 21:56:11 +00:00
manu
f98d5d856e
Improve Linux exit_group emulation by sending a SIGKILL to all other
...
processes in the group instead of letting them live. It would be better
to properly terminate them.
2005-11-09 14:56:50 +00:00
manu
f53c4d1d1e
Prevent integer overflow in timout calculation.
...
changed DEBUG_LINUX to DEBUG_LINUX_FUTEX so that we have less debug
messages on the console
2005-11-09 14:52:18 +00:00
manu
26222780eb
Correctly computes futex timeout.
2005-11-08 21:28:49 +00:00
manu
d72135b371
Include linux_machdep.h so that LINUX_UNAME_ARCH ges defined (fixes
...
uname emulation)
2005-11-07 14:17:45 +00:00
manu
a5d2387dbb
regen
2005-11-06 21:50:28 +00:00
manu
7505cb92a6
Back out sched_{set|get}affinity addition because it breaks the
...
build again on i386 now it is fixed for other archs (Tom's fix and
mine got in colision)
2005-11-06 18:16:31 +00:00
tron
0c24d80f02
Regen with correct RCS Ids.
2005-11-06 14:25:48 +00:00
manu
35f76b0ac2
ifdef out sched_{get|set}affinity for ports that don't use it yet. That
...
should fix build.
2005-11-05 23:44:25 +00:00
dogcow
b3b0932a5d
mirror manu's amd64 changes to implement linux sched_{seg,get}affinity;
...
the kernel and linux lkm now compile again.
2005-11-05 10:56:48 +00:00
manu
2ae48df4fc
regen
2005-11-05 08:11:30 +00:00
manu
0cf4b35fe6
Implement more of Linux futex(2)
2005-11-05 08:07:44 +00:00
manu
41455b2ed0
Implement Linux sched_{set|get}affinity
2005-11-05 08:06:58 +00:00
manu
67fcd6abf5
Fix build when LINUX_NPTL is not defined
2005-11-05 07:26:45 +00:00
manu
2cac35470c
Fix a messed up patch
2005-11-05 00:58:57 +00:00
manu
88a5eb33ed
Instead of ifdef'ing __amd64__ all the Linux NPTL stuff, introduce an
...
ifdef LINUX_NPTL.
Also implement SETTLS flag to Linux clone()
2005-11-05 00:47:26 +00:00
chs
df018c387b
make this compile on m68k by including sys/device.h explicitly.
...
on other platforms it's apparently included implicitly, probably through cpu.h.
2005-11-04 17:00:43 +00:00
manu
b72e0d5382
Fix machine name returned by uname on Linux
2005-11-04 16:58:14 +00:00
manu
78ad642708
regen
2005-11-04 16:57:03 +00:00
manu
e7609e6478
Implement Linux futex ang gettid
2005-11-04 16:54:11 +00:00
manu
3b8100b96a
register_t is not an int on amd64
2005-11-04 16:52:51 +00:00
manu
e1c0c1c9dd
Implement Linux futex and gettid system calls for amd64
2005-11-04 16:51:56 +00:00
manu
0a3dbc01d5
build fix
2005-11-04 16:49:55 +00:00
manu
b7ba0ebc16
Fix pipe linux emulation on amd64
2005-10-31 18:00:30 +00:00
manu
5d2a593dcd
build fix
2005-10-31 17:58:07 +00:00
chs
d17f6e14bc
add support for the linux PROT_GROWS{DOWN,UP} mprotect() flags.
...
fixes PR 30008.
2005-10-30 16:25:50 +00:00
cube
75d561e358
Move prototypes for siginfo32 to/from siginfo converters at the right
...
place.
2005-10-24 15:28:09 +00:00
christos
6f981830a9
PR/31905: Wolfgang Stukenbrock: Termios ioctls TIOCMBIC and TIOCMBIS missing
...
in linux emulation code
2005-10-24 12:58:34 +00:00
cube
fc1218444f
Regen (kqueue, kevent).
2005-10-23 01:34:33 +00:00
cube
97e4d77453
- Split sys_kevent into kevent1 so that it can be used by COMPAT_NETBSD32
...
code.
- To achieve COMPAT_NETBSD32 compatibility, introduce a parameter to
kevent1 that points to functions that do the actual copyin/copyout
operations. This is similar to what was done in FreeBSD by Paul Saab.
- Add the COMPAT_NETBSD32 definitions and hooks.
2005-10-23 01:33:32 +00:00
cube
388b97e039
Implement a few changes needed to properly resolve PR#30924, as
...
discussed in the PR.
- introduce sys/timevar.h to hold kernel-specific stuff relevant to
sys/time.h. Ideally, timevar.h would contain all (or almost) of the
#ifdef _KERNEL part of time.h, but that's a pretty big and tedious
change to make. For now, it will contain only the prototypes I
introduced when working on COMPAT_NETBSD32.
- split copyinout_t into copyin_t and copyout_t, it makes prototypes more
explicit about the meaning of a given argument. Suggested by yamt@.
- move copyinout_t definition in sys/time.h to systm.h as copyin_t and
copyout_t
- make everything uses the new types and include the proper headers at
the proper places.
2005-10-23 00:09:14 +00:00
christos
78063c9188
regen.
2005-10-20 15:35:42 +00:00
christos
0270612ce7
Conditionalize the sigreturn syscall inclusion; from Patrick Welche
2005-10-20 15:35:25 +00:00
christos
e780c5edaf
regen
2005-10-18 19:52:07 +00:00
christos
8fc452caf8
add the missing %% that confused joerg and the parser.
2005-10-18 19:51:47 +00:00
joerg
5e74202601
Regen.
2005-10-18 19:08:51 +00:00
joerg
39fcee12fe
sys_uselib is needed by COMPAT_LINUX for EXEC_AOUT. Since it doesn't get
...
build when EXEC_AOUT is not defined, the syscalls.master entry has to be
conditionalized. Alpha did so already, so let the other archs catch up
with it.
Go-on: christos
2005-10-18 18:37:44 +00:00
chs
ffd3aa297e
make the previous apply only to x86_64.
2005-10-07 14:46:04 +00:00
chs
26a2ca0397
add __attribute__((packed)) to struct netbsd32_stat13. the alignment of
...
64-bit values is annoying in the x86 world: they require 64-bit alignment
in 64-bit mode but only 32-bit alignment in 32-bit mode.
2005-10-07 14:40:06 +00:00
manu
bc210edac8
Fix COMPAT_DARWIN build. This closes PR#31336
2005-10-03 17:11:25 +00:00
he
c6c2d9e696
Suddenly these need explicit inclusion of <sys/socket.h>; they use
...
the MSG_OOB and AF_LINK symbols (among others). Fixes build problem.
2005-09-28 06:40:15 +00:00
chs
8a6025c821
this needs stuff from compat/sys/siginfo.h now, just include it here.
2005-09-27 15:09:04 +00:00
chs
1e20ffb8a1
regen
2005-09-27 15:07:54 +00:00
chs
ad1b7e8d5c
include "opt_compat_sunos.h", netbsd32_syscallargs.h wants it.
2005-09-27 15:07:40 +00:00
chs
94be8205d7
make this compile again.
2005-09-27 14:37:06 +00:00
martin
3faf969174
Adapt to struct vfsops changes during the NFS export rototill.
2005-09-27 13:26:03 +00:00
jmmv
20ac358c50
Instead of trying to clear ufs_args' export member, zero the whole
...
structure so that we don't rely on that (renamed) field. Should fix
the build. Found by he@.
2005-09-24 21:44:15 +00:00
christos
a5d6ab9188
need compat/sys/socket.h
2005-09-24 21:34:35 +00:00
christos
91e84b20b0
make the siginfo converters static and comment out the one that is not used.
2005-09-24 21:34:18 +00:00
christos
6c8e87cff8
add struct forwards.
2005-09-24 21:33:48 +00:00
christos
dd40a9f6f6
include new compat siginfo header.
2005-09-24 17:29:47 +00:00
christos
5c03cd2255
more header cleanup.
2005-09-24 17:27:44 +00:00
christos
ca3a193432
factor out some of the osockaddr, omsghdr code.
2005-09-24 15:51:03 +00:00
chs
33359b3121
need to include sys/socket.h here now, sys/mount.h no longer does it for us.
2005-09-24 15:42:58 +00:00
christos
03ec972e58
maplen was uninitialized.
2005-09-19 02:47:15 +00:00
christos
d359ae5c43
MINSIGSTKSZ on linux is different depending on the platform and usually
...
smaller than ours.
2005-09-19 02:46:49 +00:00
christos
e20c28140a
Add compat signal headers.
2005-09-18 14:30:15 +00:00
yamt
a0bdf5ef81
irix_sys_swapctl: follow uvm_swap_stats changes.
2005-09-17 14:52:55 +00:00
yamt
209478cccf
protect p_nrlwps by sched_lock.
2005-09-17 14:35:51 +00:00
christos
29f3692018
add <compat/sys/signal*.h>
2005-09-16 17:09:52 +00:00
christos
c315b31f19
Fix a comment.
2005-09-15 03:00:16 +00:00
he
70fe9e01e8
This now needs <compat/sys/signal.h> to build.
2005-09-14 13:49:50 +00:00
he
87e3d67bce
This file now needs <compat/sys/stat.h> to build.
2005-09-14 13:49:27 +00:00
christos
ff66f5797e
need linux_syscallargs.h to compile, and remove inline function.
2005-09-13 22:08:21 +00:00
christos
c83d281198
Forgot to reverse the conditional test.
2005-09-13 16:35:24 +00:00
christos
58b392c018
make this compile again.
2005-09-13 03:23:09 +00:00
christos
6acf4b5ca8
add compat netbsd32 context.
2005-09-13 03:22:54 +00:00
christos
063b880cf0
compat code reorg.
2005-09-13 01:42:32 +00:00
christos
49110e63f0
Range checks are not optional. The omission of this one, allows the user
...
to corrupt the heap and/or crash the kernel (Christer Oeberg).
2005-09-12 22:17:49 +00:00
christos
6a2a989266
variable name mistake again.
2005-09-12 22:16:56 +00:00
christos
d9f67be7fe
- Avoid overflow by checking the count argument (Christer Oeberg).
...
- While I am here, don't leak fds either.
2005-09-12 20:54:38 +00:00
jmmv
ec93365612
Initial addition of tmpfs, an efficient memory file-system. This project
...
was developed as part of Google's Summer of Code 2005 program. This
change adds the kernel code, the mount_tmpfs utility, a regression test
suite and does all other related changes to integrate these.
The file-system is still *experimental*. Therefore, it is disabled by
default in all kernels. However, as typically done, a commented-out
entry is added in them to ease its setup.
Note that I haven't commited the required mountd(8) changes to be able
to export tmpfs file-systems because NFS support is still very unstable
and because, before enabling it, I'd like to do some other changes.
OK'ed by my project mentor, William Studenmund (wrstuden@).
2005-09-10 19:20:48 +00:00
rpaulo
257017665e
Add a SYSCTL_SETUP_PROTO() so that it compiles fine in the lkm.
2005-09-02 14:34:00 +00:00
he
eb89cd94e9
Now that <ufs/ufsmount.h> includes <ufs/extattr.h>, we also need
...
<sys/vnode.h> and <sys/vnode_if.h> to bring the definition of struct
vop_getextattr_args into scope. Fixes build problem for arc.
2005-08-31 16:01:56 +00:00
he
54e6da6105
Change from using sys___{,f,l}stat13() to sys___{,f,l}stat30() and
...
associated data structures, following the change to 64-bit inodes.
2005-08-22 10:57:04 +00:00
yamt
0ed4057082
linux_machdepioctl: remove duplicated FILE_USE/UNUSE.
2005-08-21 13:13:50 +00:00
kent
868a42c866
fix a compilation problem on NetBSD/amd64
2005-08-20 15:02:36 +00:00
yamt
e4ab81774d
compat_30_sys_getdents: netbsd 1.2 -> 3.0 in comments/messages.
2005-08-19 13:17:37 +00:00
yamt
34dab5e58c
compat_30_sys_getdents: don't leak kernel stack garbage to userland.
2005-08-19 13:16:56 +00:00
christos
4ce7529a64
change a hard-coded 0xf to _DIRENT_ALIGN (thanks yamt)
2005-08-19 06:01:00 +00:00
christos
b041fac92d
Fix lossage I created with the 64 bit ino_t change.
2005-08-19 04:24:38 +00:00
christos
758a209d23
64 bit inode changes.
2005-08-19 02:03:49 +00:00
christos
c0ee8a4184
Fix systeminfo.
...
1. return length is the string length even if the string would not fit.
2. add SI_ISALIST
3. on 32 bit emulation, don't return sparc64 as the arch!
2005-07-28 03:50:52 +00:00
cube
ae35d4a4e9
Regen (__sigtimedwait(2)).
2005-07-23 22:04:12 +00:00
cube
73fe747f11
Implement __sigtimedwait(2).
2005-07-23 22:03:45 +00:00
cube
a6b803a79f
Constify conversion functions.
2005-07-23 21:51:29 +00:00
cube
21472d491b
Regen (timer_create(2) and friends).
2005-07-23 18:57:07 +00:00
cube
23a1110cbd
Implement the timer_create(2) family of syscalls.
2005-07-23 18:56:15 +00:00
cube
ee24060ae4
Remove duplication of code for netbsd32_wait4() by using stackgap(9).
2005-07-22 22:46:29 +00:00
cube
606552e84c
Rework sunos32_execv{,e} after removal of netbsd32_execve2.
...
XXX COMPAT_SUNOS32 needs a SUNOS32PTR64() macro.
2005-07-13 12:49:32 +00:00
cube
86f97cc446
Do the CHECK_ALT_EXIST dance again in netbsd32_execve(). It was lost in
...
previous commit.
2005-07-13 11:55:19 +00:00
cube
e13e6c14c7
netbsd32_execve2() doesn't exist anymore.
2005-07-13 11:53:57 +00:00
christos
00a78ed413
Delete define for sunos_syscall_intern.
2005-07-12 22:45:11 +00:00
martin
e14ba58310
When returning 64bit values (from netbsd32_lseek) fix up the return
...
value vector (of 32bit values, most likely) via a MD macro.
2005-07-12 15:06:17 +00:00
cube
e937141b42
Regen (*xattr(2)).
2005-07-12 07:46:19 +00:00
cube
728e5e01bd
Add the *xattr(2) family of syscalls. Just like the *extattr(2) family,
...
they're waiting for an actual FS back-end to be tested, but are still
straightforward enough.
2005-07-12 07:45:34 +00:00
cube
0477abe883
Regen (rasctl(2)).
2005-07-11 20:18:52 +00:00
cube
241e7db4d5
Add rasctl(2). Thanks to the regression tests for that syscall, I was able
...
to discover the bugs in netbsd32_setitimer() and netbsd32_execve().
2005-07-11 20:18:05 +00:00
cube
355bcba766
Split sys_execve() and add execve1() that does most of the work, and takes
...
as an argument a function that will retrieve an element of the pointer
arrays in user space. This allows COMPAT_NETBSD32 to share the code for
the emulated version of execve(2), and fixes various issues that came from
the slow drift between the two implementations.
Note: when splitting up a syscall function, I'll use two different ways
of naming the resulting helper function. If it stills does
copyin/out operations, it will be named <syscall>1(). If it does
not (as it was the case for get/setitimer), it will be named
do<syscall>.
2005-07-11 20:15:26 +00:00
cube
08fd92bac5
Split sys_getitimer and sys_setitimer to make it possible to share the
...
relevant code with the COMPAT_NETBSD32 version, and make the latter use
the new functions.
This fixes netbsd32_setitimer() which had drifted from the native syscall
and did not work properly anymore.
2005-07-11 19:50:42 +00:00
christos
25e2fae9e9
Add a sunos_machdep include file to deal with MD implementations of
...
sunos_syscall_intern.
2005-07-11 13:14:49 +00:00
christos
dac018add9
More syscall_intern lossage.
2005-07-10 16:45:33 +00:00
christos
24d0f10c0f
define sunos_syscall_intern now that sparc needs it.
2005-07-10 16:40:49 +00:00
cube
0057da6efa
NOFOLLOW should be passed to NDINIT() instead of FOLLOW for lstat(2).
...
Reported by Martin Husemann.
2005-07-10 16:34:53 +00:00
cube
4a8942e74c
Regen.
2005-07-10 14:32:35 +00:00
cube
7e3a28a419
Add support for fsync_range(2).
2005-07-10 14:32:16 +00:00
cube
c6a5f27efa
Regen.
2005-07-10 11:29:35 +00:00
cube
b01a57e4ce
Implement __clone(2).
2005-07-10 11:28:58 +00:00
cube
91598566dc
Report changes from sys_wait4().
2005-07-10 11:28:03 +00:00
christos
ecc4f71237
define syscall again.
2005-07-10 04:23:30 +00:00
christos
4d0656f353
include the _32 flavor of the machdep file too.
2005-07-10 00:56:19 +00:00
christos
6667cfbdab
We have syscall_intern now.
2005-07-10 00:56:01 +00:00
christos
f1461c7e8a
No point in declaring syscall_intern and syscall in a zillion places.
2005-07-10 00:45:52 +00:00
cube
16e20b37d6
Regen.
2005-07-09 22:40:34 +00:00
cube
57017881b4
Implement pselect(2) and pollts(2).
2005-07-09 22:40:13 +00:00
cube
0056ee71b1
Make netbsd32_select() use selcommon() instead of a gross copy/paste of
...
the old sys_select() code.
2005-07-09 21:58:09 +00:00
cube
0d4567cd91
Regen.
2005-07-08 22:22:19 +00:00
cube
01f1f7ce7d
Add mlockall(2) and munlockall(2).
2005-07-08 22:21:43 +00:00
cube
e1c5d71d3d
Regen
2005-07-08 21:40:26 +00:00
cube
dfc332d6df
Implement the extattr(3) family of syscalls.
...
XXX However, those remain untested as there are currently no backend for
XXX extattr(9) in NetBSD.
2005-07-08 21:39:39 +00:00
cube
a31209bb48
Regen
2005-07-04 00:27:15 +00:00
cube
d500f440df
Implement uuidgen(2).
2005-07-04 00:26:06 +00:00
cube
72f6b3a65c
Constify machine32 and machine_arch32.
2005-07-03 17:18:02 +00:00
cube
6f082c10a9
Make COMPAT_NETBSD32 emulate hw.machine. While it might seem wrong to do
...
so, it introduces breakage because a lot of applications make assumptions
from its value. It's especially bad in the sparc64 case, where 64-bits
instructions can be used in 32-bits addressing mode. However, there are
other means to know the capabilities of the CPU.
2005-07-03 16:53:46 +00:00
christos
7a55962329
the exception numbers are MI.
2005-06-25 08:28:34 +00:00
christos
f63c68071c
minor refactoring; does not work on the i386 yet.
2005-06-25 06:30:19 +00:00
christos
5ae508513d
- include <sys/wait.h> so that this compile
...
- use the code field directly, instead of redoing the logic.
- XXX: the status field must be wrong. I think that the _WSTATUS()
should not be used directly.
2005-06-25 02:19:06 +00:00
manu
d83c516040
More accurate SIGCHLD code and status for siginfo
2005-06-24 22:57:05 +00:00
manu
c8b33aa328
report the right process status
2005-06-22 21:57:30 +00:00
manu
5e803980cd
Fix siginfo to return the right child's status.
2005-06-22 20:20:30 +00:00
manu
6593739f61
Implent CLONE_PARENT_SETTID, CLONE_CHILD_CLEARTID, and CLONE_CHILD_SETTID
...
options to clone(). This makes fork() work on amd64.
clone() prototype has changed and the changes is probably revelant on some
other arches.
2005-06-22 15:10:51 +00:00
atatat
fc1ed39348
Also fix (wrt the new const stuff) the one user of sysctl_locate()
...
outside of the main sysctl code.
2005-06-22 03:13:34 +00:00
atatat
df13e3579e
Change the rest of the sysctl subsystem to use const consistently.
...
The __UNCONST macro is now used only where necessary and the RW macros
are gone. Most of the changes here are consumers of the
sysctl_createv(9) interface that now takes a pair of const pointers
which used not to be.
2005-06-20 02:49:18 +00:00
christos
6f86542bb2
remove duplicate declaration.
2005-06-19 23:46:32 +00:00
christos
4e330f1fbc
We don't have sigcode if we are not in COMPAT_16.
2005-06-14 22:35:20 +00:00
matt
e1245a3c46
Rework the coredump code to have no explicit knownledge of how coredump
...
i/o is done. Instead, pass an opaque cookie which is then passed to a
new routine, coredump_write, which does the actual i/o. This allows the
method of doing i/o to change without affecting any future MD code.
Also, make netbsd32_core.c [re]use core_netbsd.c (in a similar manner that
core_elf64.c uses core_elf32.c) and eliminate that code duplication.
cpu_coredump{,32} is now called twice, first with a NULL iocookie to fill
the core structure and a second to actually write md parts of the coredump.
All i/o is nolonger random access and is suitable for shipping over a stream.
2005-06-10 05:10:12 +00:00
tsutsui
e392fd287f
Remove __P() and parameter names from a prototype declaration.
2005-06-03 23:05:46 +00:00
tsutsui
38825830c7
Appease gcc -Wcast-qual.
2005-06-03 23:03:59 +00:00
martin
12771d0723
Consistently constify
2005-06-03 18:53:50 +00:00
martin
75cc390f62
Avoid shadow warnings.
2005-06-03 18:52:52 +00:00
martin
a2a1dc8e7c
Add extern declaration for "bufpages".
2005-06-02 20:14:55 +00:00
matt
25a0e29a75
When writing coredumps, don't write zero uninstantiated demand-zero pages.
...
Also, with ELF core dumps, trim trailing zeroes from sections. These two
changes can shrink coredumps by over 50% in size.
2005-06-02 17:01:43 +00:00
tsutsui
bce385b9f7
Add a const.
2005-06-02 16:54:52 +00:00
tsutsui
189e121846
Fix shadow warnings.
2005-06-02 15:22:03 +00:00
drochner
c2a5fd0191
more cast-qual fallout
2005-06-02 13:03:27 +00:00
drochner
bce73c1519
in siginfo conversion functions, declare the source operand as "const"
2005-06-02 10:27:43 +00:00
drochner
093f3bf058
remove (caddr_t) casts on "const" pointers, and use __UNCONST()
...
where arguments are copied to the stackgap
2005-06-01 15:34:15 +00:00
drochner
8aa146cea7
avoid shadow warnings
2005-06-01 15:29:41 +00:00
drochner
5a09c73a94
fix const'ification fallout
2005-06-01 15:28:56 +00:00
christos
a7c4860a95
fix shadowed variable
2005-05-31 00:43:17 +00:00
christos
94984f467b
- fix 32 -> 64 pointer casts properly.
...
- add const
- fix shadow
2005-05-31 00:42:37 +00:00
christos
805ebc54c2
- add const
...
- fix shadowed variables
2005-05-31 00:42:10 +00:00
christos
d2dc83130f
- add const
...
- avoid shadowed variables.
2005-05-31 00:41:09 +00:00
chs
a38226d23a
regen
2005-05-30 23:00:39 +00:00
chs
3f12eda6dc
track change to swapctl args in kern/syscalls.master.
2005-05-30 22:59:55 +00:00
christos
fb4b40b7e8
- sprinkle const.
...
- add XXXUNCONST to the emul_find() pbuf argument free'ing. XXX: this needs
an api change.
- avoid variable shadowing.
2005-05-29 22:08:16 +00:00
christos
1473b3a0a1
XXX: Remove fishy volatile.
2005-05-29 22:07:02 +00:00
jmc
36b625d324
Regen
2005-05-23 23:22:27 +00:00
jmc
55c161e3ff
Add clock_* POSIX functions.
2005-05-23 23:21:49 +00:00
fvdl
57409f3466
sigreturn doesn't take arguments. Instead, find out where the signal
...
frame is from the stack pointer in the frame frame.
Also, don't forget to copy %rip back in.
2005-05-22 19:31:15 +00:00
fvdl
e83accc0f6
Regen after sigreturn argument change.
2005-05-22 19:29:40 +00:00
fvdl
8251c0b501
Change sigreturn to have no arguments.
2005-05-22 19:29:15 +00:00
fvdl
beae305307
Use a modified buildcontext function for Linux signals. It doesn't set
...
the unused segment registers, it just uses the already used values.
2005-05-22 14:52:12 +00:00
fvdl
33e2d79f47
Define linux_usertrap function, and set it in struct emul. For all
...
but amd64, it just returns 0, doing nothing.
For amd64, it implements vsyscalls through cheating: if the faulting
address is in the vsyscall area (which is statically known on Linux/amd64),
and the intruction pointer is too, it must have been a vsyscall. In that
case, retrieve the return address from the user stack, fix up %rip and
%rsp, and just execute the normal system call. It will return as if
the vsyscall has been executed.
2005-05-20 12:48:26 +00:00
mrg
f56c2db8b9
tramp and vers are used unconditionally, make them visible everywhere.
2005-05-20 01:06:50 +00:00
manu
53fb6703e5
Add support for Linux SA_RESTORER on amd64.
2005-05-19 21:16:29 +00:00
elad
5888b16eef
Some changes in veriexec.
...
New features:
- Add a veriexec_report() routine to make most reporting consistent and
remove some common code.
- Add 'strict' mode that controls how veriexec behaves.
- Add sysctl knobs:
o kern.veriexec.verbose controls verbosity levels. Value: 0, 1.
o kern.veriexec.strict controls strict level. Values: 0, 1, 2. See
documentation in sysctl(3) for details.
o kern.veriexec.algorithms returns a string with a space separated
list of supported hashing algorithms in veriexec.
- Updated documentation in man pages for sysctl(3) and sysctl(8).
Bug fixes:
- veriexec_removechk(): Code cleanup + handle FINGERPRINT_NOTEVAL
correctly.
- exec_script(): Don't pass 0 as flag when executing a script; use the
defined VERIEXEC_INDIRECT - which is 1. Makes indirect execution
enforcement work.
- Fix some printing formats and types..
2005-05-19 20:16:19 +00:00
christos
362a4a0bd5
Yes, it was a cool trick >20 years ago to use "0123456789abcdef"[a] to
...
implement, xtoa(), but I think defining the samestring 50 times is a bit
too much. Defined HEXDIGITS and hexdigits in subr_prf.c and use it...
2005-05-17 04:14:57 +00:00
fvdl
046b9a57dc
Implement clock_* POSIX functions.
2005-05-16 21:18:34 +00:00
fvdl
5acb6d8367
Regen.
2005-05-16 21:18:18 +00:00
fvdl
fe3dd48a91
Add clock_* POSIX functions.
2005-05-16 21:17:11 +00:00
fvdl
e18d1a8ee1
Regen.
2005-05-16 16:03:58 +00:00
fvdl
711b0df630
Add *xattr functions (they all return EOPNOTSUPP).
2005-05-16 16:02:19 +00:00
fvdl
2d668e070c
Include linux_sigevent.h (to be used later).
2005-05-16 16:00:31 +00:00
fvdl
33e6ca90d5
Add Linux sigevent definitions.
2005-05-16 15:56:41 +00:00
fvdl
7d91366682
Fix up COMPAT_LINUX support for amd64. Still a work in progress, not
...
usable yet ("Hello World" runs, but many other things do not work).
2005-05-15 21:44:41 +00:00
fvdl
49395ac65e
Make the arch_prctl system call use the saved %gs and %fs mechanism.
2005-05-15 21:43:08 +00:00
jmc
9962871387
#endif for LINUX_SS_ONSTACK needs to go after linux_sys_sigaltstack or builds
...
break on platforms that don't define it (alpha, sparc)
2005-05-09 19:04:50 +00:00
manu
89647c7ca6
First work on COMPAT_LINUX/amd64
...
Process startup and dynamiclinking work, but processes hang due to
Linux arch_prctl(2) not being really supported yet.
2005-05-03 16:26:27 +00:00
christos
a5fb891bb9
PR/29696: Joel Carnat: NetBSD freezes when accessing smbfs mounted FS with
...
firefox/linux due to compat getdents() call assumption that all filesystems
support cookies.
2005-04-19 19:00:25 +00:00
yamt
6b2d8b66a4
merge yamt-km branch.
...
- don't use managed mappings/backing objects for wired memory allocations.
save some resources like pv_entry. also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
2005-04-01 11:59:21 +00:00
drochner
b3d10c788a
regen
2005-03-31 16:36:03 +00:00
drochner
014fa21e82
emulate setreuid()/setregid(), from Eric Schnoebelen per PR
...
port-alpha/21870
2005-03-31 16:34:54 +00:00