Commit Graph

125485 Commits

Author SHA1 Message Date
jhb
df27227bab - Split the IBCS2 ipc foosys() system calls up into subfunctions matching
the organization in svr4_ipc.c.
- Use kern_msgctl(), kern_semctl(), and kern_shmctl() instead of the
  stackgap.
2006-07-08 19:54:12 +00:00
jhb
9f226f3f9d Use ibsc2_key_t rather than key_t. 2006-07-08 19:52:49 +00:00
jhb
5e8693a976 Rework kern_semctl a bit to always assume the UIO_SYSSPACE case. This
mostly consists of pushing a few copyin's and copyout's up into
__semctl() as all the other callers were already doing the UIO_SYSSPACE
case.  This also changes kern_semctl() to set the return value in a passed
in pointer to a register_t rather than td->td_retval[0] directly so that
callers can only set td->td_retval[0] if all the various copyout's succeed.

As a result of these changes, kern_semctl() no longer does copyin/copyout
(except for GETALL/SETALL) so simplify the locking to acquire the semakptr
mutex before the MAC check and hold it all the way until the end of the
big switch statement.  The GETALL/SETALL cases have to temporarily drop it
while they do copyin/malloc and copyout.  Also, simplify the SETALL case to
remove handling for a non-existent race condition.
2006-07-08 19:51:38 +00:00
imp
f7c9fd2027 Create bus_enumerate_hinted_children. This routine will allow drivers
to use the hinted child system.  Bus drivers that use this need to
implmenet the bus_hinted_child method, where they actually add the
child to their bus, as they see fit.  The bus is repsonsible for
getting the attribtues for the child, adding it in the right order,
etc.  ISA hinting will be updated to use this method.

MFC After: 3 days
2006-07-08 17:06:15 +00:00
imp
b79f12507f (apply '(lambda (reformat-region 'style-9-parens)) (read-file isahint.c))
remove redundant parens, per style(9) to reduce that limp, lispy feeling.
2006-07-08 16:50:10 +00:00
imp
76677eaed9 Remove old GENERIC kludge. We no longer need to skip devices named
atkbd.  Version 1.162 of GENERIC fixed this problem in April of 1999.
Subsequent to that, the hints data was removed from GENERIC and move
to hints files.  All the hints file ever created have atkbd at the
right location.  This should have been removed just after RELENG_4 was
branched (and likely around 4.5 in RELENG_4).

MFC After: 3 days
2006-07-08 15:51:55 +00:00
kib
574ae24779 Signals may be delivered to process as well as to the thread. Check the
thread-delivered signals in addition to the process one.

Reviewed by:	mohan
MFC after:	1 month
Approved by:	kan (mentor)
2006-07-08 15:39:11 +00:00
kib
54b7822070 Always supply curthread as argument to nfs_asyncio and nfs_doio
in nfs_strategy. Otherwise, for some buffers, signals would be ignored
at the intr mounts.

Reviewed by:	mohan
MFC after:	1 month
Approved by:	kan (mentor)
2006-07-08 15:36:51 +00:00
des
9f0e376ac7 Turn on libfetch debugging if -v was specified on the command line.
MFC after:	2 weeks
2006-07-08 14:34:56 +00:00
rodrigc
42f2307385 In get_exportlist(), properly loop over mounted filesystems.
PR:	bin/99873
Submitted by:	Danny Braniss <danny at cs dot huji dot ac dot il>
2006-07-08 13:49:24 +00:00
netchild
c46606bd75 Remove after repo copy to src/tools/kerneldoc.
Requested by:	trhodes
Repo copy by:	simon
2006-07-08 12:34:29 +00:00
netchild
4ee1766788 Add (missing) and remove (obsolete) .m files. 2006-07-08 12:32:42 +00:00
netchild
086b30ba47 Forced commit to note repo copy from sys/doc.
Requested by:	trhodes
Repo copy by:	simon
2006-07-08 12:31:33 +00:00
cperciva
f0f632d37c Add note concerning FreeBSD-SA-06:01.texindex.
Suggested by:	csjp
2006-07-08 07:32:41 +00:00
avatar
6e0e0e515b Oops, it is sbin/nfsd that was removed, not the man page.
MFC after:	1 month
2006-07-08 03:22:44 +00:00
avatar
dfb29a8e9d Adding more antiques came from the RELENG_4(or prior) era: sbin/nfsd,
sbin/mount_portal and sbin/kget.

MFC after:	1 month
2006-07-08 03:18:41 +00:00
mlaier
f7e47bf374 Make in-kernel multicast protocols for pfsync and carp work after enabling
dynamic resizing of multicast membership array.

Reported and testing by:	Maxim Konovalov, Scott Ullrich
Reminded by:			thompsa
MFC after:			2 weeks
2006-07-08 00:01:01 +00:00
marcel
cf1af76565 Apply local modifications to make Unwind Express BETA 10 buildable and
usable in the FreeBSD kernel.
2006-07-07 23:56:34 +00:00
marcel
a446d8ad8b This commit was generated by cvs2svn to compensate for changes in r160160,
which included commits to RCS files with non-trunk default branches.
2006-07-07 23:04:49 +00:00
marcel
5078ab8b1f This commit was generated by cvs2svn to compensate for changes in r160157,
which included commits to RCS files with non-trunk default branches.
2006-07-07 22:59:01 +00:00
marcel
f76eeb002a Import BETA 10 of HP's Unwind Express. This import does not contain
any modifications to make it build as part of the FreeBSD kernel.
Now that the source appears to have stabilized, local changes will
happen on HEAD and will therefore cause affected files to be pulled
from the vendor branch.
2006-07-07 22:59:01 +00:00
pjd
706381c9ed Remove bogus assertion.
Reported by:	Bradley W. Dutton <brad-fbsd-stable@duttonbros.com>
MFC after:	3 days
2006-07-07 14:32:27 +00:00
rwatson
1c2b8b40e8 Following repo-copy of mac_is_present_np.3 to mac_is_present.3, remove
old file, update references, etc.  The C function is already named
mac_is_present().

Obtained from:	TrustedBSD Project
2006-07-07 14:02:17 +00:00
rwatson
f3636a0f28 Forced commit to recognize repo-copy of mac_is_present_np.3 to
mac_is_present.3.

Thanks to:	simon
Obtained from:	TrustedBSD Project
2006-07-07 13:51:56 +00:00
bde
3d1bfe752d Fixed the threshold for using the simple Taylor approximation.
In e_log.c, there was just a off-by-1 (1 ulp) error in the comment
about the threshold.  The precision of the threshold is unimportant,
but the magic numbers in the code are easier to understand when the
threshold is described precisely.

In e_logf.c, mistranslation of the magic numbers gave an off-by-1
(1 * 16 ulps) error in the intended negative bound for the threshold
and an off-by-7 (7 * 16 ulps) error in the intended positive bound for
the threshold, and the intended bounds were not translated from the
double precision bounds so they were unnecessarily small by a factor
of about 2048.

The optimization of using the simple Taylor approximation for args
near a power of 2 is dubious since it only applies to a relatively
small proportion of args, but if it is done then doing it 2048 times
as often _may_ be more efficient.  (My benchmarks show unexplained
dependencies on the data that increase with further optimizations
in this area.)
2006-07-07 04:33:08 +00:00
marcel
c946bc9408 Fix cut-n-paste bug: compare argument s against known aliases,
not the global optarg. This bug goes unnoticed because optarg
is so far always the actual argument for the formal argument s.
2006-07-07 02:44:23 +00:00
gad
f18b69f883 Fix checking of the "lock" file in the spool directory for a queue,
so that the checking will wind up with the correct mode-bits in
the case where the initial open() of that lock file will create it.
Due to this bug, the first job ever sent to a queue could leave
that queue in a "printing is disabled" state.

PR:		93469
Submitted by:	Michael Szklarski of kco.com.pl
MFC after:	1 week
2006-07-07 01:12:26 +00:00
rwatson
e8e07ae08e Move POSIX.1e-specific utility routines from kern_acl.c to
subr_acl_posix1e.c, leaving kern_acl.c containing only ACL system
calls and utility routines common across ACL types.

Add subr_acl_posix1e.c to the build.

Obtained from:	TrustedBSD Project
2006-07-06 23:37:39 +00:00
rwatson
609c06d354 Forced commit to recognize repo-copy of kern_acl.c to subr_acl_posix1e.c,
which will hold POSIX.1e-specific ACL routines.  kern_acl.c will conintue
to hold system calls and general purpose ACL routines common to both
POSIX.1e, NFSv4, and other types of ACLs we may support in the future.

Thanks to:	simon
Obtained from:	TrustedBSD Project
2006-07-06 23:22:34 +00:00
jhb
a63b63284f Regen. 2006-07-06 21:43:14 +00:00
jhb
4d231459c7 - Protect the list of linux ioctl handlers with an sx lock.
- Hold Giant while calling linux ioctl handlers for now as they aren't all
  known to be MPSAFE yet.
- Mark linux_ioctl() MPSAFE.
2006-07-06 21:42:36 +00:00
jhb
5e008b18de - Explicitly acquire Giant around SYSINIT's and SYSUNINIT's since they are
not all known to be MPSAFE yet.
- Actually remove Giant from the kernel linker by taking it out of the
  KLD_LOCK() and KLD_UNLOCK() macros.

Pointy hat to:	jhb (2)
2006-07-06 21:39:39 +00:00
jhb
1e5e29d1c8 Don't try to copyin extra data for IPC_RMID requests to msgctl() or
shmctl().  None of the other ABI's do this (including the native FreeBSD
ABI), and uselessly trying to do a copyin() can actually result in a
bogus EFAULT if the a process specifies NULL for the optional argument
(which is what they should do in this case).
2006-07-06 21:38:24 +00:00
jhb
e216ca9f3b Regen. 2006-07-06 21:33:14 +00:00
jhb
54c687571c Add kern_setgroups() and kern_getgroups() and use them to implement
ibcs2_[gs]etgroups() rather than using the stackgap.  This also makes
ibcs2_[gs]etgroups() MPSAFE.  Also, it cleans up one bit of weirdness in
the old setgroups() where it allocated an entire credential just so it had
a place to copy the group list into.  Now setgroups just allocates a
NGROUPS_MAX array on the stack that it copies into and then passes to
kern_setgroups().
2006-07-06 21:32:20 +00:00
jhb
6fe08fdbd3 Use the regular poll(2) function to implement poll(2) for the IBCS2 compat
ABI as FreeBSD's poll(2) is ABI compatible.  The ibcs2_poll() function
attempted to implement poll(2) using a wrapper around select(2).  Besides
being somewhat ugly, it also had at least one bug in that instead of
allocating complete fdset's on the stack via the stackgap it just allocated
pointers to fdsets.
2006-07-06 21:29:05 +00:00
jkim
c025122efb Enhanced floppy controllers have Data Rate Select Register (DSR) at 0x3f4.
Use it to reset controller and to select data rate.  According to Intel
80277AA datasheet, software reset behaves the same as DOR reset except
that it is self clearing.  National Semiconductor PC8477B datasheet says
the same.  As a side effect, we no longer use Configuration Control
Register (CCR) at 0x3f7 for these controllers, which is often missing
in modern hardware.
2006-07-06 21:12:18 +00:00
wsalamon
3f67fc0a68 Audit the remaining parameters to the extattr system calls. Generate
the audit records for those calls.

Obtained from: TrustedBSD Project
Approved by: rwatson (mentor)
2006-07-06 19:33:38 +00:00
rwatson
fba25d1a75 Remove now unneeded opt_mac.h and mac.h includes. 2006-07-06 13:25:51 +00:00
rwatson
ef5c0fe5ce Remove unneeded mac.h include.
MFC after:	3 days
2006-07-06 13:25:01 +00:00
rwatson
c9e5505f09 Remove now unneeded opt_mac.h and mac.h includes.
MFC after:	3 days
2006-07-06 13:24:22 +00:00
rwatson
9d9a014802 Use #include "", not #include <> for opt_foo.h.
MFC after:	3 days
2006-07-06 13:22:08 +00:00
oleg
4b612ce603 Since kernel & userland use different timebase and netstat is reading kernel
memory directly, we should do timebase conversion for route lifetime.

Approved by:	glebius (mentor)
2006-07-06 11:59:27 +00:00
delphij
2df60b4a2c Oops, library bumps should be reflected with OLD_LIBS.
Pointed out by:	maxim
2006-07-06 11:43:53 +00:00
delphij
493c71b1e7 Reflect library bumps caused by gethostbyaddr(3) change. 2006-07-06 11:35:27 +00:00
yongari
c8a7db4bee Fix a missing unlock operation in interrupt handler.
PR:		kern/99205
Submitted by:	Alexey Illarionov <littlesavage AT rambler DOT ru>
MFC after:	1 week
2006-07-06 10:39:58 +00:00
alc
3841b0dbab Make two simplifications to pmap_ts_referenced(): Eliminate an unnecessary
test and exit the loop in a shorter way.
2006-07-06 06:17:08 +00:00
oleg
6cf0e874f4 Adjust rt_(set|get)metrics() to do kernel <-> userland timebase conversion.
We need it since kernel timebase has changed (time_second -> time_uptime).

Approved by:	glebius (mentor)
2006-07-06 00:24:36 +00:00
oleg
e6e6ae67a2 Complete timebase (time_second -> time_uptime) conversion.
PR:		kern/94249
Reviewed by:	andre (few months ago)
Approved by:	glebius (mentor)
2006-07-05 23:37:21 +00:00
bde
ebfec8dd17 Fixed tanh(-0.0) on ia64 and optimizeed tanh(x) for 2**-55 <= |x| <
2**-28 as a side effect, by merging with the float precision version
of tanh() and the double precision version of sinh().

For tiny x, tanh(x) ~= x, and we used the expression x*(one+x) to
return this value (x) and set the inexact flag iff x != 0.  This
doesn't work on ia64 since gcc -O does the dubious optimization
x*(one+x) = x+x*x so as to use fma, so the sign of -0.0 was lost.

Instead, handle tiny x in the same as sinh(), although this is imperfect:
- return x directly and set the inexact flag in a less efficient way.
- increased the threshold for non-tinyness from 2**-55 to 2**-28 so that
  many more cases are optimized than are pessimized.

Updated some comments and fixed bugs in others (ranges for half-open
intervals mostly had the open end backwards, and there were nearby style
bugs).
2006-07-05 22:59:33 +00:00