Commit Graph

81814 Commits

Author SHA1 Message Date
kleink 7902fe0dc9 Handle a labeled statement at the beginning of a function correctly;
from Nagae Hidetake <nagae@tk.airnet.ne.jp> in PR bin/12781.
2001-06-16 21:47:42 +00:00
manu a7cdf998ec Removed obsoletes EMUL_NO_BSD_ASYNCIO_PIPE and EMUL_NO_SIGIO_ON_READ flags.
Async I/O OS specifities should now handled in OS specific code. Linux
has been done, but other emulation should be handled. See case LINUX_F_SETFL
in sys/compat/linux/common/linux_file.c:linux_sys_fcntl() for more details.

The data that has been collected yet:

                                  Net Free Open Linux SunOS AIX OSF1 Darwin
send SIGIO to write end of pipe		Y  N    N     N     N    N   Y     Y
send SIGIO to read end of pipe      Y  Y    N     N     N    ?   Y     ?
send SIGIO to write end of socket   Y  Y    Y     N     N    Y   Y     Y
send SIGIO to read end of socket    Y  Y    Y     Y     Y    ?   Y     ?
2001-06-16 21:44:27 +00:00
manu ce10f4da5b Linux does not send a SIGIO to the write end of a socket,
neither it does send any SIGIO for pipes. If async I/O
was requested, we keep the SS_ASYNC in struct socket flag
set, but we clear SB_ASYNC flags on the sending buffer
(for socket), and on the sending and the receiving buffer
(for pipes).

Because we do not alter to SS_ASYNC in struct socket,
the Linux process keeps a consistent view of async I/O
status if it attemps to read the async flag (SS_ASYNC)

This async I/O problem does matters, since some Linux
a programs such as the JDK request async I/O on pipes,
but they fail if they happen to get a SIGIO to the write
end of the pipe.
2001-06-16 21:32:51 +00:00
manu 94a4020177 Use SB_ASYNC in struct sockbuf sb_flags field instead of SS_ASYNC in
struct socket so_state field to decide if we need to send asynchronous
notifications. This makes possible to request notification on write but
not on read, and vice versa.

This is used in Linux emulation code, because when async I/O is requested,
Linux does not send SIGIO to write end of sockets, and it never send any
SIGIO to any end of pipes. Il Linux emulation code, we then set SB_ASYNC
only on the read end of sockets, and on no end for pipes.
2001-06-16 21:29:32 +00:00
jdolecek d5c13f3228 Add 'ed' to list of known/valid disk names 2001-06-16 14:33:08 +00:00
tsutsui 01704d0990 Add iha at pci, which just works on my CATS. 2001-06-16 13:58:18 +00:00
toshii bf923a99b8 Don't set HPCFB_SWAP_BYTE (if little endian). 2001-06-16 12:53:05 +00:00
jdolecek 28dbb7357f Add support for DTYPE_PIPE pipes (a.k.a NEW_PIPE) 2001-06-16 12:08:05 +00:00
jdolecek 60a45fb944 export sys/pipe.h 2001-06-16 12:02:13 +00:00
jdolecek ee882e3a09 Add port of high performance pipe implementation written by John S. Dyson
for FreeBSD project. Besides huge speed boost compared with socketpair-based
pipes, this implementation also uses pagable kernel memory instead of mbufs.

Significant differences to FreeBSD version:
* uses uvm_loan() facility for direct write
* async/SIGIO handling correct also for sync writer, async reader
* limits settable via sysctl, amountpipekva and nbigpipes available via sysctl
* pipes are unidirectional - this is enforced on file descriptor level
	for now only, the code would be updated to take advantage of it
	eventually
* uses lockmgr(9)-based locks instead of home brew variant
* scatter-gather write is handled correctly for direct write case, data
  is transferred by PIPE_DIRECT_CHUNK bytes maximum, to avoid running out of kva

All FreeBSD/NetBSD specific code is within appropriate #ifdef, in preparation
to feed changes back to FreeBSD tree.

This pipe implementation is optional for now, add 'options NEW_PIPE'
to your kernel config to use it.
2001-06-16 12:00:02 +00:00
jdolecek 02d39f046b Import FreeBSD sys/pipe.h rev 1.17 for reference (this was used as a base
for the NetBSD port).
2001-06-16 09:23:11 +00:00
jdolecek 664cf935c7 Import FreeBSD sys_pipe.c rev 1.82 for reference (this was used as a base
for the NetBSD port).
2001-06-16 09:21:34 +00:00
dbj ef86c3badd fix handling of transmit length calculation so we now handle full length xmits 2001-06-16 09:18:46 +00:00
dbj e9d708e25b allow unaligned pointers in bus_dmamap_sync 2001-06-16 09:08:05 +00:00
jdolecek c57b6d9ba4 Add DTYPE_PIPE (to be used by new pipe implementation) and handle
it accordingly.
2001-06-16 08:28:39 +00:00
veego a0106f8d24 Editing Fsize/Bsize caused a segmention fault.
Fix provided by Klaus Klein.
2001-06-16 08:25:20 +00:00
lukem 919eb089e2 change mountd to use its own $mountd variable (instead of $nfs_server).
nfsd will complain if mountd isn't set.  from [misc/13135] by Johnny C. Lam.
2001-06-16 06:13:09 +00:00
tsutsui aa35eff5da Enable some devices which I am/was using:
epic* at pci?
 fxp* at pci?
 sip* at pci?
 tlp* at pci?
 inphys* at mii?
 qsphys* at mii?
2001-06-16 05:47:37 +00:00
matt c8b785d4a5 Rename make_temp_file to xmake_temp_file to avoid a conflict
with libiberty.a
2001-06-16 04:55:37 +00:00
lukem 586521f84e - Implement an optional global watchdog timeout for rc.shutdown, which is
enabled by setting $rcshutdown_timeout to a number of seconds to wait for
  before terminating rc.shutdown.  This is disabled by default.
- Use symbolic names rather than numbers when defining a trap.
- Improve some comments.
2001-06-16 04:09:19 +00:00
matt 38fc9e283d Fix pte_spill to set the index on the proper pvo. Deal with recursion
in pmap_syncicache.
2001-06-16 03:32:48 +00:00
tsutsui c5bc6249f0 Make sure to write out the dump header into an independent block
on the dump device on sun3x. (sync with sun3)
Now savecore(8) can find core dump in dumpdev properly.

XXX "target kcore /dev/mem" on gdb does not work yet.
2001-06-16 00:38:19 +00:00
matt 979edf3c4a pmap_syncicache can be called recursively. Properly deal with that
situation.
2001-06-15 22:28:54 +00:00
matt 60f8375758 Replace printf with (*pr) 2001-06-15 22:27:07 +00:00
thorpej 4c49d6fa2a Split the Tx and Rx interrupt routines into separate functions,
and add some (optional) event counters.
2001-06-15 22:16:00 +00:00
dbj 093fab47ce remove extra args from printf 2001-06-15 21:56:06 +00:00
matt e55c9f74af Add missing braces in pmap_pte_to_pvo (DEBUG|PMAPCHECK defined). Rearrange
some code so that consistency check in pmap_pte_to_pvo do not trigger on
false positives.  Correct/enhance some printfs.
2001-06-15 21:29:54 +00:00
matt 25a2c4d481 While not stricly needed, to match pmap_pvo_find_va, mask of the page
offset bits.
2001-06-15 20:53:45 +00:00
matt 787e1b0b36 When comparing VA's, ignore the page offset bits.
Invert and strengthen a test for pte equality.
2001-06-15 20:43:01 +00:00
tsutsui 8f1c399fa9 Remove etc/pwd.db and etc/spwd.db from ramdisk.fs
since libhack/getpwent.c does not require them.
2001-06-15 19:26:42 +00:00
tsutsui 2d10b0bb85 - Use x_mount and x_umount.
- Use keyword "special" instead of "ln" to specify srcdir for x_* progs
  sinse prognames x_* are not needed for the crunched binary.
2001-06-15 19:19:43 +00:00
nonaka 978de91e79 Fix big-endian vs. MBR parameters. 2001-06-15 18:49:37 +00:00
matt c7c7dab8f1 Stop overloading unused bits in the pte. Use the low 12bits of the vaddr
instead to store them.  Add a macro to fetch the vaddr without them.
Make all variables/routines prefixed with pmap_
Cleanup & fix some of the vsid bitmap usage.
Cleanup DEBUG printfs.  Add some more checks to pmap_pvo_to_pte.
2001-06-15 18:26:06 +00:00
christos af712809f8 add another one I was taught on icb yesterday. 2001-06-15 18:15:56 +00:00
nathanw f71391cb6c Move the check for successful attachment to earlier in the detach
routine, to avoid referencing nonexistent data structures.
2001-06-15 18:05:36 +00:00
drochner b97fed556d vm_map_t -> struct vm_map *
vm_page_t -> struct vm_page *
simple_lock_data_t -> struct simplelock
2001-06-15 17:48:13 +00:00
tsutsui f768d0ff1a Add definitions for weak aliases so that libhack functions
are actually linked instead of libc ones on ELF systems.
Fixes install/13050 and install/13153.
2001-06-15 17:26:50 +00:00
thorpej 7660fd850d In check_exec(), don't bother checking P_TRACED along with
MNT_NOSUID, just check MNT_NOSUID to clear the S{U,G}ID bits
in the attributes for the vnode we're about to exec.

We now check P_TRACED right before we would actually perform
the s{u,g}id function in the exec code.

This closes a race condition between exec of a setuid binary
and ptrace(2).
2001-06-15 17:24:19 +00:00
veego 94c4987ecd It is ./usr/share/man/man8/walnut/{MAKEDEV,makedev}.8 and NOT
./usr/share/man/man8/walnut/{MAKEDEV,makedev}.0
2001-06-15 16:57:08 +00:00
nonaka 7f44dfec92 Compile again. 2001-06-15 15:53:27 +00:00
nonaka 80e152f0fc Use new common bus.h framework. 2001-06-15 15:50:04 +00:00
nonaka 3a3661fb58 Delete unused function. 2001-06-15 15:24:03 +00:00
wiz 4b1c5f37c5 On note by kleink: Add primes.5 to crypto/dist/ssh instead of share/man/man5. 2001-06-15 12:51:58 +00:00
wiz b6449b85de Add RCS Id, adapt to NetBSD, fix punctuation and whitespace. 2001-06-15 12:50:44 +00:00
wiz 0cc24e9a9f On note by kleink: Add primes.5 to crypto/dist/ssh instead of share/man/man5.
Import state of 2001-06-14.
2001-06-15 12:47:39 +00:00
wiz ef7b039e79 Add William Allen Simpson (for primes.5). 2001-06-15 12:30:17 +00:00
wiz 4560022615 add primes(5) 2001-06-15 12:27:35 +00:00
wiz c8ce4ab72d install primes.5 2001-06-15 12:25:10 +00:00
wiz 0c4fb0ee07 Add RCS Id, adapt to NetBSD, and clean up punctuation and whitespace. 2001-06-15 12:24:17 +00:00
wiz 95262c2349 Add primes.5, from William Allen Simpson via OpenBSD. 2001-06-15 12:18:17 +00:00