dcs [Sun, 7 Feb 1999 12:12:29 +0000 (12:12 +0000)]
Remove strange-looking quotes. This part of the code is #if'ed out,
and the variable doesn't even exist (though it is referenced elsewhere).
Just make sure it produces error messages when Mike get back to it.
mjacob [Sat, 6 Feb 1999 17:58:06 +0000 (17:58 +0000)]
Hmm- I must be blind. There *was* already an appropriate typedef still
left there. The typedef that was inserted negated the correct typedef.
This may have just been cvs automerge foo. Sorry.
fenner [Sat, 6 Feb 1999 16:58:50 +0000 (16:58 +0000)]
Don't dump core when p_stat is not in the expected range. This is
only likely to happen when you have a kernel<>userland mismatch,
but it's really annoying when top dumps core and leaves the terminal
in a mangled state; it's much nicer to print nicely formatted gibberish.
mjacob [Sat, 6 Feb 1999 16:39:16 +0000 (16:39 +0000)]
I don't know what happened here- I submitted a *working* patch for
alpha to John Polstra yesterday and it was checked in. Then there
was a bunch of CVS activity, and it ended up with the *broken*
prototype being reinserted. All I see in the history is 'style nits'
as a comment, and I certainly agree with the latter of those two words.
bde [Sat, 6 Feb 1999 08:41:06 +0000 (08:41 +0000)]
Added underscores to some names in svr4_locore.s so that it compiles
with -aout. Added translation back to elf names in asnames.h as
usual. The elf names were inconsistent in the aout case even
internally because a macro adds an underscore to just one of them.
Removed commented out code for a previous life of `svr4_esigcode'.
Didn't add an underscore to `svr4_esigcode' since it is correct for
aout although wrong for elf, like most internal names in assembler
files. These names should be in a different namespace so that gprof
can ignore them.
dillon [Sat, 6 Feb 1999 07:48:56 +0000 (07:48 +0000)]
Flush delayed-write data out prior to issuing a rename rpc. This appears
to fix the problem w/ NFSV3 whereby a make installworld would get into
high-network-bandwidth situations continuously trying to retry nfs writes
that fail with a 'stale file handle' error.
bde [Sat, 6 Feb 1999 07:48:24 +0000 (07:48 +0000)]
Honor ${LDFLAGS} for building svr4_genassym. This is part of fixing
world breakage (mainly for cross-world cases). The world Makefile
attempts to build tools static so that nonexistent or wrong shared
libraries and interpreters don't get used. This is broken anyway
since the world Makefile doesn't know about svr4_genassym.
Force building svr4_genassym static. This is part of "fixing"
aout-to-elf-build breakage. aout-to-elf-build abuses NOTOOLS to
avoid rebuilding all the aout tools. This saves time and avoids
some complications. However, it breaks all the internal tools --
they get linked to target libraries which might not work. Cases
where the host can run the target's static libraries are "fixed"
by encrufting all Makefiles that build internal tools to build the
tools static.
Don't add .depend to CLEANFILES -- it just breaks the separation of
`make cleandepend' from `make clean'.
dillon [Sat, 6 Feb 1999 07:22:21 +0000 (07:22 +0000)]
Add hysteresis to the 'swap_pager_getswapspace; failed' console message.
Also widen the hysteresis levels a little ( these really should be
dynamically configured ).
brian [Sat, 6 Feb 1999 02:54:47 +0000 (02:54 +0000)]
Decouple pap & chap output routines from the corresponding
input routines and take advantage of the new init/continue
interface in libradius. This allows a timely response on
other links in an MP setup while RADIUS requests are in
progress as well as the ability to handle other data from
the peer in parallel. It should also make the future addition
of PAM support trivial.
While I'm in there, validate pap & chap header IDs if
``idcheck'' is enabled (the default) for other FSM packet
types.
NOTE: This involved integrating the generation of chap
challenges and the validation of chap responses
(and commenting what's going on in those routines).
I currently have no way of testing ppps ability
to respond to M$Chap CHALLENGEs correctly, so if
someone could do the honours, it'd be much
appreciated (it *looks* ok!).
Sponsored by: Internet Business Solutions Ltd., Switzerland
peter [Sat, 6 Feb 1999 02:28:52 +0000 (02:28 +0000)]
Back out rev 1.89. The #include is necessary for the #if that tests
the value that config(8) provides when intpm is configured. It seems
that somebody forgot to rerun config at the time and commented this out
instead.
jkh [Fri, 5 Feb 1999 22:15:52 +0000 (22:15 +0000)]
Totally change the way variables are accounted for in sysinstall.
Now we know which variables are internal and which need to be
backed to /etc/rc.conf.site. rc.conf is not touched now.
Also kget kernel change information back properly and set up a loader.rc
file to use it.
yokota [Fri, 5 Feb 1999 11:52:13 +0000 (11:52 +0000)]
- Don't assume the line length in the video memory is always the same as
the screen width.
- Store the current video mode information in the `video_adapter' struct.
- The size of the `v_offscreensize' field in the VESA mode information
block is u_int16, not u_int8.
dillon [Fri, 5 Feb 1999 07:49:29 +0000 (07:49 +0000)]
The elf loader sets the permissions on bss to VM_PROT_READ|VM_PROT_WRITE
rather then VM_PROT_ALL. obreak, on the otherhand, uses VM_PROT_ALL.
This prevents vm_map_insert() from being able to coalesce the heap and
creates an extra map entry. Since current architectures ignore
VM_PROT_EXECUTE anyway, and since not having VM_PROT_EXECUTE on data/bss
may provide protection in the future, obreak now uses read+write rather
then all (r+w+x).
mjacob [Fri, 5 Feb 1999 07:32:52 +0000 (07:32 +0000)]
Extend unit numbers to a full 10 bits (split into sections
of the minor). Establish and use a control mode open. Control
mode opens may open the device without locking, but are prohibited
from all but some ioctls. MTIOCGET always works. MTIOCERRSTAT
works, but the clearing of latched error status is contingent
upon whether another application has the device open, in which
case an interruptible perip acquire is done. MTSETBSIZ, MTSETDNSTY
and MTCOMP also require a periph aquire.
Relative fileno and blkno are tracked. Note that just about any
error will make these undefined, and if you space to EOD or use
hardware block positioning, these are also lost until the next
UNLOAD or REWIND.
Driver state is also tracked and recorded in the unit softc
to be passed back in mt_dsreg for a MTIOCGET call.
Thanks to Dan Strick for suggesting this.
Reintroduce 2 filemarks at EOD for all but QIC devices. I
really think it's wrong, but there is a lot of 3rd party
software that depends upon this (not the least of which is
tcopy). Introduce a SA_QUIRK_1FM to ensure that some devices
can be marked as only being able to do 1 FM at EOD.
At samount time force a load to BOT if we aren't mounted. If the
LOAD command fails, use the REWIND command (e.g., for the IBM 3590
which for some gawdawful reason doesn't support the LOAD (to BOT)
command).
Also at samount time, if you don't know fixed or variable, try to
*set* to one of the known fixed (or variable, for special case)
density codes. We only have to do this once per boot, so it's not
that painful. This is another way to try and figure out the wierd
QIC devices without having to quirk everything in the universe.
A substantial amount of cleanup as to what operations can and what
operations cannot be retried. Don't retry space operations if they
fail- it'll just lead to lossage.
Not yet done is invalidating mounts correctly after errors. ENOTIME.
newton [Fri, 5 Feb 1999 03:47:47 +0000 (03:47 +0000)]
Additional note on last rev: The rationale for this is to allow you
to run Solaris executables (or executables from any other ELF system)
directly off the CD-ROM without having to waste megabytes of disk
by copying them to another filesystem just to brand them.
newton [Fri, 5 Feb 1999 03:43:18 +0000 (03:43 +0000)]
Created sysctl kern.fallback_elf_brand. Defaults to "none", which will
give the same behaviour produced before today. If sysadmin sets it
to a valid ELF brand, ELF image activator will attempt to run unbranded
ELF exectutables as if they were branded with that value.
dillon [Thu, 4 Feb 1999 23:50:49 +0000 (23:50 +0000)]
Fix race in pipe read code whereby a blocked lock can allow another
process to sneak in and write to or close the pipe. The read code
enters a 'piperd' state after doing the lock operation without
checking to see if the state changed, which can cause the process
to wait forever.
dillon [Thu, 4 Feb 1999 18:25:39 +0000 (18:25 +0000)]
vp->v_object must be valid after normal flow of vfs_object_create()
completes, change if() to KASSERT(). This is not a bug, we are
simplify clarifying and optimizing the code.
In if/else in vfs_object_create(), the failure of both conditionals
will lead to a NULL object. Exit gracefully if this case occurs.
( this case does not normally occur, but needed to be handled ).
dillon [Thu, 4 Feb 1999 17:47:52 +0000 (17:47 +0000)]
Fix bug in a KASSERT I introduced in vm_page_qcollapse() rev 1.139.
Since paging is in progress, page scan in vm_page_qcollapse() must be
protected at atleast splbio() to prevent pages from being ripped out from
under the scan.
dcs [Thu, 4 Feb 1999 17:13:49 +0000 (17:13 +0000)]
Make FICL_TRACE default.
Add freebsd.fr, for FreeBSD specific forth source. Add $ and %, to
replace the lost @ and - functionality of include. $ has the opposite
behavior of @ though, since the default behavior was inverted.
dcs [Thu, 4 Feb 1999 17:06:46 +0000 (17:06 +0000)]
Make use of prototypes to silence warnings.
Change include() so it will be able to load files with forth code,
instead of just builtins. Remove #@- from the include section of the
help file, since they don't work in the new version of include, unless
BOOT_FORTH is not defined.
Change bf_run() so it will return the result returned by ficlExec(). Also,
make bf_run() push "interpret" to be executed by ficlExec(), since ficlExec()
doesn't do it by itself. (Things worked previously because nothing
recursed through ficlExec() by the way of bf_run()).
Change/extend comments on builtin behavior.
Search for "interpret" at the end of bf_init(), so /boot/boot.4th can
provide it's own version.
dcs [Thu, 4 Feb 1999 16:53:47 +0000 (16:53 +0000)]
Make ficlExec recursive. This removes vmReset and vmQuit from the
error cases, but the replacement should be doing everything they
did, except what did shouldn't be doing, and might do a little more
they ought to be doing.
kato [Thu, 4 Feb 1999 16:48:26 +0000 (16:48 +0000)]
Recognize Pentium II Xeon, Celeron and Pentium III cpus. Because CPU
names are printed on their packages and shown by BIOS, kernel does not
need to show details.
bde [Thu, 4 Feb 1999 15:24:29 +0000 (15:24 +0000)]
M_TTYS -> M_DEVBUF. M_TTYS is documented to be for "tty data
structures" but since tty structs aren't malloced it is actually
mainly for tty-level (clist) buffers. It was slightly misused
here for com structs, and the previous commit completely misused
it for device buffers.
Fixed some bugs in nearby pccard code:
- memory leak when pccards go away (broken in previous commit).
- bogus bzeroing of the com struct before freeing it.
- style bugs.
bde [Thu, 4 Feb 1999 13:45:14 +0000 (13:45 +0000)]
Set up interrupt-level input buffering dynamically depending on
the input speed, so that it can work at speeds larger than 115200
bps without being flow controlled. The buffer is twice as large
as before at 115200 bps and half as large as before at low speeds
Use a single interrupt-level buffer instead of ping-pong buffers
because the simplifications provided by ping-pong buffers became
complications.
This change is over-engineered. Statically configured buffering
was simpler and faster, and increasing the buffer size to support
1.5Mbps would cost about 1 US cent's worth of RAM per port, but I
was interested in the buffer switching mechanism.
dcs [Thu, 4 Feb 1999 13:28:56 +0000 (13:28 +0000)]
Fix ficlExecFD to take kern/9412 changes into account. Also modify it
not to vmThrow errors. This is not what the comments say it does, and
it doesn't work when there is no ficlExec environment (like it's only
use in sys/boot/common/interp_forth.c).
dcs [Thu, 4 Feb 1999 13:06:47 +0000 (13:06 +0000)]
The previous fix for "type" was absolutely lousy. Not only the buffer
allocated was not big enough, but it ended up to being used where it
was supposed to be used. The person who did that ought to be shot, but
since I'm a good person, I'll forgive myself...
newton [Thu, 4 Feb 1999 12:42:39 +0000 (12:42 +0000)]
Provide elf_brand_inuse() as a method an emulator can use to find out
whether it is currently in use (which is kinda useful when it's about
to unload itself: Lockups are never very much fun, are they?).
markm [Thu, 4 Feb 1999 10:24:45 +0000 (10:24 +0000)]
Fix the handling of certain devices.
Previously the foolowing lines would have broken:
controller fdc0 at isa? disable port ? bio
controller fdc0 at isa? disable port 0x100 bio
While this would work:
controller fdc0 at isa? disable port "IO_FD1" bio
The first of the three lines is useful for making placeholder devices
for PCMCIA-floppies, and the second is useful for non-standard hardware.
The failure is a "(null)" string in ioconf.c that the compiler pukes on.