Otherwise clean up the includes. Don't include anything included by
param.h. Do include systm.h and cons.h to avoid satisfy -Wimplicit.
Don't include console.h or use NOKEY because these are for syscons
and we use generic consoles.
Don't follow null pointer for command "ls -lrt" - don't allow extra
args but do allow trailing blanks.
Check for invalid device numbers. strtol() failures are now checked
for in all cases, but not carefully enough. We should check for
trailing junk, allow any base in all cases (just like config) and
handle signs better . (Use strtoul not strtol and cast by assignment
to the correct type - always an integral type, PARM_ADDR is bogus.
Hex numbers > 0x7fffffff can't be entered now. 0xffffffff has to
be entered as -1.)
Cosmetic.
Return from trap() if trap_fatal() returns. trap_fatal() isn't
fatal if you have ddb. Returning from trap() is usually the right
thing to do and much better than falling through.
Build a dummy frame at the top of tmpstk to help debuggers trace the stack
when the system is idle.
swtch.s: idle():
Initialize the frame pointer so that debuggers don't try to trace a bogus
stack.
Load the frame pointer, load the stack pointer and switch out the old
stack in the unique order that never leaves one of the pointers pointers
invalid so that debuggers can trace idle(). Disabling interrupts
provides sufficient validity for normal operation, but debuggers use
(trace) traps.
. avoid resetting the FDC every time the last motor is going off;
instead, give it a 60-second period for possible later reactivation.
This prevents us from needing to recalibrate the FDC too often,
but still allows for an ``automagic error recovery', just in case the
controller is absolutely stuck. (Simply wait for 60 seconds, and
try it again.)
. made the floppy head settle time after a seek a constant
that might be overridden by a config option. (Well, actually the
divisor of the settle time). Pepople often reported problems with
their floppies, so i need a simply mechanism that allows them
to play with that value. (I personally cannot find any problem
on *my* drives.)
. implement the FD_DEBUG ioctl command, in case the driver
is compiled with DEBUG turned on.
. removed a bogus parameter from a printf; the remaining warnings
from gcc -Wall seem to be warnings about the %b format gcc cannot
understand
. rearrange Garett's code to fit better in the existing structure
of #define/type/function ordering.
. make everything fit into 79 columns again.
This way, it's possible for a user to activate/deactivate floppy driver
debugging, even if (s)he doesn't like the overhead of running DDB.
Since some ppl tend to have problems with their drives, this might be
valuable for investigations.
Leave a warning to the sysop if (s)he didn't yet
enable the /tmp cleanup code.
Made `core' in the cleanup template look `*.core'.
Replace `df -k' by `df -k -t local', since the stats
for kernfs, procfs etc. are not of much interest, and
the inclusion of nfs systems might hang the machine (nor is it a
`disk' statistic as the headline's telling).
weekly:
Modified the locate.updatedb part to work even if there's no
database yet; report errors other than `Permission denied' instead
of silently ignoring all of them.
Added functionality to rebuild the whatis database once a week.
Removed a dialog_clear() which somebody aimlessly had slammed into TellEm()
in absence of any understanding of the structure of this program. :-(
Skip through stage0 for now.
Make write_bootblocks write the disklabel using the kernel-call, and forget
about the boot-blocks for now. This is wrong, but I havn't found the real
problem yet. I will continue work on this problem.
Added a Debug-feature. There is a printf' like Debug() now which sends its
output to ttyv1 (Alt-F2), and all "discarded output" from sub-processes end
up there too. Made TellEm() put it's messages there also, so that we can
see where what happens.
Set the PATH for the shell we shouldn't start at the end :-)
set "npartitions" after the disklabel-editor returns, so that we actually
can edit all the 8 parts of the label.
Perl's scripts are still trying to execute perl out of /usr/gnu/bin/perl.
The hack Larry was using for h2ph.1 doesn't work with the new macros, so
make it a real man page.
Also, we weren't building the .ph files, add them as an afterinstall rule
in the x2p subdirectory.