bde [Fri, 6 Mar 1998 13:34:36 +0000 (13:34 +0000)]
Fixed `make -jN' for large N. The usual method of pretending that all
objects depend on all generated headers doesn't work because it gives
cyclic dependencies. Give enough dependencies explicitly. We no
longer need to use .SINGLESHELL for `make depend'. .SINGLESHELL was
more of a bottleneck than usual because `make depend' makes everything.
bde [Fri, 6 Mar 1998 13:13:15 +0000 (13:13 +0000)]
Fixed `make -jN' for large N. Just put the generated headers in
${SRCS} instead of giving inadequate explicit dependencies. There
is still a problem after `make depend; make clean'. Then `make'
barely works, and `make -jN' is confused by absolute paths in
.depend.
msmith [Fri, 6 Mar 1998 09:46:52 +0000 (09:46 +0000)]
Trivial filesystem getpages/putpages implementations, set the second.
These should be considered the first steps in a work-in-progress.
Submitted by: Terry Lambert <terry@freebsd.org>
bde [Fri, 6 Mar 1998 08:26:00 +0000 (08:26 +0000)]
Fixed building with `make -jN'. Put ss_err.h in SRCS so that recent
changes to bsd.lib.mk can handle building it early enough. Don't
use the same rule for ss_err.h and ss_err.c, else `make -jN' would
run the rule twice concurrently. Don't put ss_err.c out of order
in SRCS; doing so was a kludge to get ss_err.h built early enough
for plain `make'.
bde [Fri, 6 Mar 1998 08:08:36 +0000 (08:08 +0000)]
If .depend doesn exist, then pretend that all objects depend on all
headers in ${SRCS}, as in bsd.lmod.mk and bsd.prog.mk. This helps
`make [-j]' work when .depend doesn't exist. Even plain `make'
sometimes only worked because of magic ordering in ${SRCS}.
bde [Fri, 6 Mar 1998 07:00:28 +0000 (07:00 +0000)]
Don't use the FreeBSD misfeature DPSRCS or give explicit dependencies
on generated headers. Just put generated headers in SRCS so that
bsd.*.mk can generate better dependencies.
bde [Fri, 6 Mar 1998 06:48:39 +0000 (06:48 +0000)]
Fixed dependency of ${PROG} on ${DPSRCS}. There were various races
for `make -j'. There are one-off fixes for the problem in a few
Makefiles, e.g., amd/amq/Makefile.
bde [Fri, 6 Mar 1998 05:43:46 +0000 (05:43 +0000)]
Fixed dependencies of ${PROG} on ${DPSRCS} and `all' on ${_ILINKS}.
There were various races for `make -j'. Half-built versions of
vnode_if.h were sometimes #included...
jdp [Fri, 6 Mar 1998 00:28:04 +0000 (00:28 +0000)]
Fix the broken installation of strip. It tried to use the installed
strip program (via "install") to strip itself. But the program
wasn't executable because "install" hadn't made it so yet. I
borrowed the method used for the old strip to get around this.
brian [Thu, 5 Mar 1998 22:17:59 +0000 (22:17 +0000)]
Make SyslogAddr a sockaddr_un rather than a sockaddr.
This wasn't a problem in practice as PATH_LOG and PATH_OLDLOG
are both < sizeof sockaddr::sa_data.
jmb [Thu, 5 Mar 1998 18:38:57 +0000 (18:38 +0000)]
fix a type in the rulesets
same fix as recorded in misc/5924
that problem report was filed against the stable branch
but that's not a reason not to fix it here as well ;)
Reviewed by: jmb
Submitted by: Ruslan Ermilov <ru@ucb.crimea.ua>
tegge [Wed, 4 Mar 1998 23:45:12 +0000 (23:45 +0000)]
Disable redirection of clock interrupt to a higher priority vector.
This does not work on most dual Pentium machines, due to setidt()
being neutralized by f00f_hack().
dufault [Wed, 4 Mar 1998 10:27:00 +0000 (10:27 +0000)]
Reviewed by: msmith, bde long ago
POSIX.4 headers and sysctl variables. Nothing should change
unless POSIX4 is defined or _POSIX_VERSION is set to 199309.
tegge [Tue, 3 Mar 1998 22:56:30 +0000 (22:56 +0000)]
When entering the apic version of slow interrupt handler, level
interrupts are masked, and EOI is sent iff the corresponding ISR bit
is set in the local apic. If the CPU cannot obtain the interrupt
service lock (currently the global kernel lock) the interrupt is
forwarded to the CPU holding that lock.
Clock interrupts now have higher priority than other slow interrupts.
tegge [Tue, 3 Mar 1998 20:55:26 +0000 (20:55 +0000)]
Forward the signal if the process runs on a different CPU. This reduces
the signal handling latency for cpu-bound processes that performs very
few system calls.
The IPI for forcing an additional software trap is no longer dependent upon
BETTER_CLOCK being defined.
tegge [Tue, 3 Mar 1998 20:09:14 +0000 (20:09 +0000)]
Reduce timeout before assuming that forwarding of hardclock or softclock
failed. Don't complain on forwarding failure, unless
BETTER_CLOCK_DIAGNOSTIC is defined.
jkh [Tue, 3 Mar 1998 04:29:01 +0000 (04:29 +0000)]
Update stand-alone DOS I/O routines to be able to read from FAT32/VFAT
partitions. This should allow sysinstall to function properly in all
Win95 installation based scenarios now.
Submitted by: Robert Nordier <rnordier@iafrica.com>
peter [Mon, 2 Mar 1998 05:47:58 +0000 (05:47 +0000)]
Update the ELF image activator to use some of the exec resources rather
than rolling it's own. This means that it now uses the "safe"
exec_map_first_page() to get the ld.so headers rather than risking a panic
on a page fault failure (eg: NFS server goes down).
Since all the ELF tools go to a lot of trouble to make sure everything
lives in the first page for executables, this is a win. I have not seen
any ELF executable on any system where all the headers didn't fit in the
first page with lots of room to spare.
I have been running variations of this code for some time on my pure ELF
systems.
jdp [Sun, 1 Mar 1998 23:41:17 +0000 (23:41 +0000)]
Add bmakefiles for building binutils from the contrib tree.
This finishes up the binutils import. But I am leaving it disabled
in "src/gnu/usr.bin/Makefile" for now. It is not used by anything
yet, so I'll take this opportunity to run one more round of tests
before enabling it.
jdp [Sun, 1 Mar 1998 23:26:32 +0000 (23:26 +0000)]
Configuration changes to support FreeBSD. The linker only works for
ELF, not a.out. But all the other tools support both. I'm not so
sure about the assembler -- it might need more work.
jdp [Sun, 1 Mar 1998 23:20:03 +0000 (23:20 +0000)]
Fix the output format of "nm" so that it works properly for FreeBSD's
"lorder" command.
GNU rejected this change because they felt it would be an unacceptable
incompatibility to change the output format at this point -- even
though it was wrong to begin with.
msmith [Sun, 1 Mar 1998 22:46:53 +0000 (22:46 +0000)]
The intent is to get rid of WILLRELE in vnode_if.src by making
a complement to all ops that return a vpp, VFS_VRELE. This is
initially only for file systems that implement the following ops
that do a WILLRELE:
This is initial DNA that doesn't do anything yet. VFS_VRELE is
implemented but not called.
A default vfs_vrele was created for fs implementations that use the
standard vnode management routines.
VFS_VRELE implementations were made for the following file systems:
Standard (vfs_vrele)
ffs mfs nfs msdosfs devfs ext2fs
Custom
union umapfs
Just EOPNOTSUPP
fdesc procfs kernfs portal cd9660
These implementations may change as VOP changes are implemented.
In the next phase, in the vop implementations calls to vrele and the vrele
part of vput will be moved to the top layer vfs_vnops and made visible
to all layers. vput will be replaced by unlock in these cases. Unlocking
will still be done in the per fs layer but the refcount decrement will be
triggered at the top because it doesn't hurt to hold a vnode reference a
little longer. This will have minimal impact on the structure of the
existing code.
This will only be done for vnode arguments that are released by the various
fs vop implementations.
Wider use of VFS_VRELE will likely require restructuring of the code.
Reviewed by: phk, dyson, terry et. al.
Submitted by: Michael Hancock <michaelh@cet.co.jp>
msmith [Sun, 1 Mar 1998 21:26:09 +0000 (21:26 +0000)]
Fix mmap() on msdosfs. In the words of the submitter:
|In the process of evaluating the getpages/putpages issues I discovered
|that mmap on MSDOSFS does not work. This is because I blindly merged
|NetBSD changes in msdosfs_bmap and msdosfs_strategy. Apparently, their
|blocksize is always DEV_BSIZE (even in files), while in FreeBSD
|blocksize in files is v_mount->mnt_stat.f_iosize (i.e. clustersize in
|MSDOSFS case). The patch is below.
sos [Sun, 1 Mar 1998 18:57:29 +0000 (18:57 +0000)]
First pre alpha Work In Progress commit of a IDE/ATAPI tape driver.
It does endeed work, but there is still some problems to solve.
I get a "nonrecovered data error" from time to time, but besides
this it has backed up several Gigs allready.
Please report any success/failure directly to me.
Thanks to Warner Losh for providing a drive to use in writing
this driver!
jkh [Sun, 1 Mar 1998 05:10:28 +0000 (05:10 +0000)]
Wargh! Who went and changed all the getopt() comparisons from -1 to
EOF? The getopt(3) manpage clearly states that the return value is *-1*,
not EOF! Besides, getopt(3) isn't reading from a file. :)
Noticed-while: merging to 2.2 (where this is correct).
dyson [Sun, 1 Mar 1998 04:18:54 +0000 (04:18 +0000)]
1) Use a more consistent page wait methodology.
2) Do not unnecessarily force page blocking when paging
pages out.
3) Further improve swap pager performance and correctness,
including fixing the paging in progress deadlock (except
in severe I/O error conditions.)
4) Enable vfs_ioopt=1 as a default.
5) Fix and enable the page prezeroing in SMP mode.
All in all, SMP systems especially should show a significant
improvement in "snappyness."
phk [Sat, 28 Feb 1998 21:16:13 +0000 (21:16 +0000)]
Prevent the TSC from being used on APM machines, we have no idea if
it runs at a constant frequency. This was less of an issue before,
because the TSC only interpolated in the HZ intervals, but now where
the timecounter is used all the way, this becomes much more visible.