Brian Somers [Mon, 9 Jun 1997 03:27:43 +0000 (03:27 +0000)]
Overhaul ppp:
o Use syslog
o Remove references to stdout/stderr (incl perror())
o Introduce VarTerm - the interactive terminal or zero
o Allow "set timeout" to affect current session
o Change "set debug" to "set log"
o Allow "set log [+|-]flag"
o Make MSEXT and PASSWDAUTH stuff the default
o Move all #ifdef DEBUG stuff into the code - this
shouldn't be too much overhead. It's now controlled
with "set log +debug"
o Add "set log command, debug, tun, warn, error, alert"
o Remove cdefs.h, and assume an ansi compiler.
o Improve all diagnostic output
o Don't trap SIGSEGV
o SIGHUP now terminates again (log files are controlled
by syslog)
o Call CloseModem() when changing devices
o Fix parsing of third arg of "delete"
I think this fixes the "magic is same" problems that some
people have been experiencing.
The man page is being rewritten. It'll follow soon.
John Hay [Sun, 8 Jun 1997 14:03:23 +0000 (14:03 +0000)]
Add libmp and libz to the includes target. This makes "make includes -DCLOBBER;
make depend; make all" work. I think there should be a better than adding
each library directory here.
Bruce Evans [Sat, 7 Jun 1997 04:36:10 +0000 (04:36 +0000)]
Preserve %fs and %gs across context switches. This has a relatively low
cost since it is only done in cpu_switch(), not for every exception.
The extra state is kept in the pcb, and handled much like the npx state,
with similar deficiencies (the state is not preserved across signal
handlers, and error handling loses state).
Bill Paul [Fri, 6 Jun 1997 15:47:57 +0000 (15:47 +0000)]
Clobber unneeded prototypes; in particular, the redeclaration of malloc()
will break compilation if DESTDIR is not set. The update.c module is
actually from the Sun RPC distribution so this is really their bogon, but
I should have noticed it when I integrated the code into rpc.ypupdated.
Brian Somers [Fri, 6 Jun 1997 02:10:03 +0000 (02:10 +0000)]
Make install in include before making world.
Without this, if you try to build a 2.2 release
on -current, it falls on its face here because
/usr/include contains your "make install"d headers
where the /usr/include/* symlinks point to the
RELENG_2_2 headers.
Remove directories belongs to /usr/src to stop mtree to modify /usr/src
permissions.
Having them here is wrong from several other poins too:
they are never be a directories (simlinks only), so why give a chance to mtree to make
them as directories?
Since they never be a directories, permissions of them will never be
modified by old mtree too.
Paul Traina [Wed, 4 Jun 1997 16:44:29 +0000 (16:44 +0000)]
Document a non-standard gdbremote protocol extension (kludge, really)
that I snuck in to our GDB last year. This allows you to debug headless
machines by sharing the console port between the debugger and the system
console. It's not 100% reliabile, but it works well. It's optional
and disabled by default.
Submitted by: Juniper Networks
John Birrell [Wed, 4 Jun 1997 13:03:12 +0000 (13:03 +0000)]
Bring back nanosleep from the cold.
The addition of the nanosleep syscall was correctly added to
libc/sys/Makefile so that it is renamed as _thread_sys_nanosleep().
This syscall is one of those that libc_r has to re-implement because
the only behaviour is to block the process. So libc_r just ignores the
fact that a nanosleep syscall exists and goes its own way - as it has
done all along .... and now it does again. And now a simple program
can sleep again. Phew.
John Birrell [Wed, 4 Jun 1997 12:55:49 +0000 (12:55 +0000)]
Fix mutex initialization.
Malloc cannot use pthread_mutex_init() to initialize a mutex because
the mutex initialization process does a malloc!
libc_r internals skip the malloc and assign an initializer to a static
structure and point the opaque type (pthread_mutex_t in this case) to
that structure. This is done on the assumption that the mutex will never
be destroyed. This style of initialization is only valid inside libc_r
because the structure that is assigned is opaque to the user.
This fix allows a simple program to get to main() again. 8-)
Paul Traina [Wed, 4 Jun 1997 04:52:40 +0000 (04:52 +0000)]
If the boot blocks were using the serial port, read the system console
speed using the boot blocks, instead of a hardcoded value stuck in the
kernel. This way, you can have systems using the same kernel but different
console speeds.
Add a sysctl entry for changing the system console speed.
Lock the user tty speed to match the system console speed.
Satoshi Asami [Wed, 4 Jun 1997 00:12:19 +0000 (00:12 +0000)]
(1) Use the new BSD.x11.dist mtree file to create directories under
/usr/X11R6 if USE_IMAKE or USE_X11 is set. It is mostly designed
after the XFree86 distribution, but also includes some of our own
goodies (libexec, share/doc, etc/rc.d).
(2) Full support for per-port dependency target. An optional
":<target>" can be added to any of the *_DEPENDS variables. Do
not attempt to print out anything about dependencies if NO_DEPENDS
is set (there was already too much code duplication, and this
extra colon has really pushed it over the limit).
Requested by: jfitz
(3) Make "reinstal" pmake-safe.
Reminded in an e-mail from: jkh
Brian Somers [Tue, 3 Jun 1997 21:24:39 +0000 (21:24 +0000)]
Number partitions 1-4, not 0-3.
Any existing config files (using the -f option) will need
to be changed although using the old files will usually result
in an error (partition 0 is invalid).
Doug Rabson [Tue, 3 Jun 1997 13:56:55 +0000 (13:56 +0000)]
Implement the async mount option for NFSv3. This makes NFS pretend that all
writes sent to the server were synchronous and therefore no commits are
needed. This is the same as the vfs.nfs.async variable on the server but
allows each client to choose whether to work this way.
Also make the vfs.nfs.async variable do the 'right' thing for NFSv3, i.e.
pretend that the write was synchronous.
Doug Rabson [Tue, 3 Jun 1997 10:03:40 +0000 (10:03 +0000)]
Fix a problem with nfs_flush where if many B_NEEDCOMMIT buffers are
attached to the vnode, some of them could be re-written synchronously
(if they overflowed the fixed size array nfs_flush had for them). The
fix involves mallocing an array if there are more than its limited
size stack buffer.
Add 2 new ioctls: WORMIOCREADSESSIONINFO and WORMIOCWRITESESSION.
These commands are required for the "Disk-At-Once" write process:
WORMIOCREADSESSIONINFO returns the length of the lead-in and lead-out areas
and WORMIOCWRITESESSION is used to send the table of contents of the disk.
Stefan Eßer [Mon, 2 Jun 1997 19:59:01 +0000 (19:59 +0000)]
Move call of pci_addcfg() before test of cfg->subordinatebus, since the
device probe of a host to PCI bridge may modify that value, based on
its knowledge of device specific registers. This makes the Intel XXpress
work, as verified by: Terje Marthinussen <terjem@cc.uit.no>.
Peter Wemm [Mon, 2 Jun 1997 18:55:44 +0000 (18:55 +0000)]
Fill in some gaps in the cpuid features list..
bit 10 is the old bit for MTRR (presumably this changed, an older P5 I
have has got it, the newer cpus have the new MTRR bit set)
bit 11 is SEP (fast syscalls), bit 23 is MMX
Fill in the other reserved ones with a stub so that we can see them if
they turn up.
Peter Wemm [Mon, 2 Jun 1997 16:30:22 +0000 (16:30 +0000)]
Re-activate the nanosleep style using code, but with the signal handling
semantics of the old sleep for compatability with a few decades of expected
side effects. Apache breaks if we just use nanosleep() for some reason,
here we use a new signanosleep() syscall which is kinda like a hybrid of
sigsuspend and nanosleep..
Reviewed by: ache (and tested on his apache that was failing when
sleep used plain nanosleep)
Doug Rabson [Mon, 2 Jun 1997 08:19:06 +0000 (08:19 +0000)]
Move interrupt handling code from isa.c to a new file. This should make
isa.c (slightly) more portable and will make my life developing the really
portable version much easier.