Commit Graph

4907 Commits

Author SHA1 Message Date
joerg 99c3eea80c P1003_1B_SEMAPHORE is no longer optional. 2012-03-10 21:51:48 +00:00
joerg 4acff4c01b Implement sem_timedwait. 2012-03-08 21:59:24 +00:00
joerg 3bd1fd2afe Add entry for _ksem_timedwait. 2012-03-08 21:55:45 +00:00
macallan c4a8ce45f6 allow mounting ext2fs and msdosfs
while there also enable lfs but that's untested
2012-03-06 07:37:05 +00:00
rjs bbf374d1d6 Switch to ANSI style declaration. 2012-02-21 18:10:00 +00:00
rmind ad12c77015 Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3!
Approved by core@.
2012-02-19 21:05:51 +00:00
matt d24466683b Add compat_60 stub for the SA syscall (all which just call sys_nosys). 2012-02-19 17:40:46 +00:00
rmind 510eed8079 Make SA calls obsolete (use stubs in kern case, as libc needs them for now). 2012-02-19 17:08:02 +00:00
matt 1d7f24ead8 Change old-style function defintions to C89 prototypes.
Approved by releng.
2012-02-12 16:34:06 +00:00
christos ff4d8f4f03 ansi prototypes 2012-02-03 23:39:59 +00:00
christos e2d86e914d Kill of messy ifdefs, and use an ansi prototype. 2012-02-03 23:38:07 +00:00
matt 2210079e9b Add a hook for freeing an ep_emul_arg. Add a wrapper routine
(exec_free_emul_arg) to call the hook and then clear the ep_emul_arg
and ep_emul_arg_free members in the exec_package.
Change users/accessors to use these routines.
Approved by releng.
2012-02-03 20:11:53 +00:00
christos e135d08485 elf_args needs to be freed with kmem_free() since it is now allocated with
kmem_alloc(). Should fix running 32 bit elf binaries.
2012-02-03 03:54:35 +00:00
dholland 832d4ca72b Be consistent about whether idtype and objtype codes are signed or
unsigned. They are signed. (While unsigned might have been a better
choice, it doesn't really matter and the majority of preexisting uses
were signed. And consistency is good.)
2012-02-01 05:46:45 +00:00
dholland d2d6fa0ae1 Improve the names of some members of struct quotactl_args. These are
effectively function parameter names, but since they need to be
described with the same names in the man page the choices do matter.
Some.
2012-02-01 05:43:53 +00:00
dholland 56cf2d9a90 Regen syscalls with proper id info. 2012-02-01 05:42:17 +00:00
dholland 6d90c35d73 Update compat_netbsd32 for new quotactl. 2012-02-01 05:40:00 +00:00
dholland 59b296daa7 Change the syscall API for quotas over to the new non-proplib one.
- struct vfs_quotactl_args -> struct quotactl_args
   - add sys/stdint.h to sys/quotactl.h for clean userland build
   - install sys/quotactl.h in /usr/include
   - update set lists for same
   - add new marshalling code in libquota
   - add new unmarshalling code in vfs_syscalls.c
   - discard proplib interpreter code in vfs_quotactl.c
   - add dispatching code for the 14 quotactl ops in vfs_quotactl.c
   - mark the proplib quotactl syscall obsolete
   - add a new syscall number for the new quotactl syscall
   - change the name of the syscall to __quotactl()
   - remove the decl of the old quotactl from quota/quotaprop.h
   - add a decl of the new quotactl to sys/quotactl.h
   - update the libc build
   - update ktruss
   - remove proplib marshalling code from libquota
   - update copy of syscall table in gdb ppc sources
   - hack rumphijack to accomodate new quotactl name (as I recall,
     pooka wanted such a name change to simplify something, but I
     don't really see what/how)

This change appears to require a kernel version bump for rumpish
reasons.
2012-02-01 05:34:38 +00:00
matt f7a1e1f692 Add missing *at syscalls among others 2012-01-31 22:53:56 +00:00
matt 1c72d69ada Regen. 2012-01-31 22:53:28 +00:00
matt 886e1e0fe1 Add the *at syscalls and other missing syscalls. 2012-01-31 22:52:19 +00:00
matt f79a630ee2 Add netbsd32_socklenp_t 2012-01-31 22:51:41 +00:00
dholland 27eb63df33 Some further tidying for the COMPAT_50 quotactl code. Mostly cosmetic,
but also use PNBUF_GET() and PNBUF_PUT() for a path buffer instead of
malloc with M_TEMP.
2012-01-29 07:19:48 +00:00
dholland 306e2450d7 Remove the proplib goop from the COMPAT_50 code for the old quotactl;
use the new VFS_QUOTACTL instead.
2012-01-29 07:19:04 +00:00
dholland f0f8fe3be2 Rename static inline "helper" functions:
ufsclass2qtype -> quota_idtype_to_ufs
   qtype2ufsclass -> quota_idtype_from_ufs

The reason for the direction of "ufs" changing is that the old names
were among the symbols using "ufs" to mean "fs-independent". So the
old names were for translating "ufsclass" (fs-independent quota id
type) to "qtype" (ufs-specific quota id type) and vice versa.

These functions are used in only two places, both of which are
inappropriate, so at some point they should probably be removed.
They're also identity transformations so not particularly helpful,
unless one were to make a careful and concerted effort to distinguish
the ufs quota code numbers from the fs-independent ones. This has not
been done and is probably impossible without support from a program
verifier, and maybe not even then.

They are static inline, so no compat concerns arise.

Also adjust the symbols they use to avoid <quota/quotaprop.h>.
2012-01-29 07:16:00 +00:00
dholland b0d7bab70f Add vfs_quotactl() in between the syscall and VFS_QUOTACTL. Call it
from the COMPAT_50 code as well as the current sys_quotactl instead
of going directly to VFS_QUOTACTL. Doesn't actually do anything yet.
2012-01-29 06:29:04 +00:00
dholland 7950da9e90 Change dqblk_to_quotaval() from quota1_subr.c to dqblk_to_quotavals(),
and pass in two single quotaval structs (for blocks and inodes)
instead of an array of (implicitly) QUOTA_NLIMITS quotaval structs
indexed by constants from quotaprop.h.

Note: because this code is used by COMPAT_50 as well as ufs, this
change requires a kernel version bump. (The code is also used by
edquota, but via .PATH so it's not ABI-sensitive there.)
2012-01-29 06:23:20 +00:00
christos 4cdc612f05 Add FNOSIGPIPE for compat32; noted by yamt. 2012-01-25 14:06:07 +00:00
joerg e8bec33be1 Change CMSG_SPACE and CMSG_LEN to provide Integer Constant Expressions
again. This was changed in sys/socket.h r1.51 to work around fallout
from the IPv6 aux data migration. It broke the historic ABI on some
platforms. This commit restores compatibility for netbsd32 code on such
platforms and provides a template for future changes to the CMSG_*
alignment. Revert PCC/Clang workarounds in postfix and tmux.
2012-01-20 14:08:04 +00:00
joerg ccdd230122 Reduce difference between recvfrom/recvmsg for netbsd32 and the native
version. This fixes the bug of lost file descriptors when the control
space is not large enough.
2012-01-13 21:02:03 +00:00
apb 0f20d9487a Instead of calling clockctl_ioctl directly, lookup the cdevsw and
call its d_ioctl function.  This should fix an undefined reference to
`clockctlioctl' when you build a kernel that has COMPAT_50 but does not
have pseudo-device clockctl.
2012-01-04 14:31:17 +00:00
apb 989df4c71f Provide a COMPAT_50 version of the CLOCKCTL_NTP_ADJTIME ioctl.
When time_t was changed from 32 to 64 bits, this ioctl's number
was changed from _IOWR('C', 0x4, struct clockctl_ntp_adjtime)
to _IOWR('C', 0x8, struct clockctl_ntp_adjtime), but the data
structure did not change, so all the compat code has to do is
change the number and try again.
2012-01-04 13:45:55 +00:00
christos 87d8a6fadb - Eliminate so_nbio and turn it into a bit SS_NBIO in so_state.
- Introduce MSG_NBIO so that we can turn non blocking i/o on a per call basis
- Use MSG_NBIO to fix the XXX: multi-threaded issues on the fifo sockets.
- Don't set SO_CANTRCVMORE, if we were interrupted (perhaps do it for all
  errors?).
2011-12-20 23:56:28 +00:00
drochner 5cc2549c59 allow kernels w/o COMPAT_50 to build 2011-12-20 16:38:06 +00:00
apb 381a814261 Add COMPAT_50 and COMPAT_NETBSD32 compatibility code for rnd(4)
ioctl commands.

Tested with "rndctl -ls" using an old 32-bit version of rndctl(8)
(built for NetBSD-5.99.56/i386) and a new 64-bit kernel
(NetBSD-5.99.59/amd64).
2011-12-19 21:53:52 +00:00
dholland 51d1d7e7c4 Rename struct ufs_quota_entry -> struct quotaval. 2011-11-25 16:55:05 +00:00
njoly 63da447932 Adjust setup_linux_rt_sigframe/setup_linux_sigframe prototypes. 2011-11-21 22:00:42 +00:00
dholland c60360c18d Reshuffle decls among the quota headers so everything is in the place
it should be:
   - stuff for the proplib interface goes in <quota/quotaprop.h>
   - stuff for userlevel only goes in <quota/quota.h>
   - stuff shared between user and kernel goes in <sys/quota.h>

Note that <quota/quota.h> and <quota/quotaprop.h> are expected to be
moved or removed later on... one thing at a time.

Update include directives in other files as needed.
2011-11-20 21:43:34 +00:00
christos fb060436c8 remove one more kassert 2011-11-18 17:36:06 +00:00
christos d356aedea4 remove incorrect assertions (the len passed is the size of the bsd structure
not the linux one)
2011-11-18 15:45:47 +00:00
martin 590ed99f9d Provide linux_siginfo_t for all archs, to unbreak kdump build. 2011-11-18 09:17:09 +00:00
christos 6f5d4fe4a7 regen 2011-11-18 04:20:16 +00:00
christos 30d1f33e42 add sigtimedwait support 2011-11-18 04:08:56 +00:00
christos f72d02ff70 - add sigtimedwait support.
- merge the siginfo population code.
2011-11-18 04:07:43 +00:00
christos 4a806ef735 add sigtimedwait 2011-11-18 04:03:50 +00:00
christos d8bca0f24f add a copyin function for sigset so that we can use sigtimedwait1 from
emulations.
2011-11-18 03:34:13 +00:00
njoly 1a2bbb9e17 Fix pipe2 return value. 2011-11-15 14:13:17 +00:00
njoly 1787cd2761 Regen for kqueue1. 2011-11-08 10:59:44 +00:00
njoly c7617a5386 Add kqueue1(2) support. 2011-11-08 10:59:12 +00:00
hannken 2cc7a01f10 Change the vnode locking protocol of VOP_GETATTR() to request at least
a shared lock.  Make all calls outside of file systems respect it.

The calls from file systems need review.

No objections from tech-kern.
2011-10-14 09:23:28 +00:00