Go to a single dependancy in files.i386. Using a .c file for the
sequencer code won't work since I need to know the size of the program,
so we just include the generated .h file as:
"../../sys/gnu/misc/aic7770/aic7770_seq.h"
Reviewed by:
Submitted by:
Obtained from:
instead. The entire scheme just doesn't work as envisioned (hint: think
about make depend as well as all). Those extremely rare individuals who
actually hack on the sequencer code will know how to keep stuff in sync,
I *do* get the feeling!
of config so YOU MUST RECOMPILE CONFIG. Modifying config was the cleanest
solution to integrating this driver into the tree which will become more
obvious in the next commit.
printf() is inconsistent with the prototype for the library printf() and
gets declared if DIAGNOSTIC is defined because <vm/vm_page.h> includes
<sys/systm.h>.
put the stuff into the right "distribution". As default things end up
in "bindist".
Normal (ie: most) makefiles know naught of this.
More commits will follow, which will direct various parts of the tree
into the distribution we want them in.
Some of the grief of being release-engineer is supposed to go away with this.
Somebody should make a mib variable for it.
Just now it is pointless to dump the kernel, since we have nothing which
can read the dump.
Furthermore is should never be the default to dump.
options DODUMP
will enable dumps.
created by Amancio Hasty (specificly, this, in conjunction with his sound
driver mods for dual-mode DMA will allow VAT compiled for BSD/386 1.1 to
run under FreeBSD 2.x.)
Recommend -Wimplicit in CWARNFLAGS next. There are still a few hundred
potential arg mismatches because no function declaration is in scope.
Don't duplicate option `-I.'.
Remove null editing of the assembler source for all profiled objects.
The required magic has been done since prehistoric times by an
asm("mcount") declaration.
Simplify the clean rule.
Don't try to be clever about timestamps involving genassym. genassym's
timestamp usually got ahead of assym.s's timestamp, so `make' almost
always had to run genassym and compare *assym.s to decide that nothing
needed to be done. The cost is reassembling a few files whenever
genassym is rebuilt. Assembling is almost as fast as comparing.
Always go through genassym.o to build genassym. This would have avoided
numerous bugs involving mkdep -p. Now it just stops genassym from
depending on the name of the temporary object file.
Use ${CFLAGS} for building genassym. Mainly ${CWARNFLAGS} were missing.
1) cut this up into /sys/sys/inflate.h, sys/kern/inflate.c
sys/kern/ingact_gzip.c
2) make a lot more things static
3) make a lot of globals const
4) make some args const
5) first stage of making globals into a struct (not used yet)
The vm_allocate() call which was introduced between revisions 1.4 and
1.5 of imagact_gzip.c broke things. I have backed that out for the time
being. (Davidg: help please)
WARNING: if you have gzip enabled in your kernel, you must now run
config again, as another source file has been added. Otherwise your
kernel compile will fall over.
This is all still WIP. More commits to come.
Suggestions from: phk.
WARNING: THIS MATERIAL MIGHT GO AWAY!
This material needs the core-groups approval to stay here for the 2.0 release.
If the core-group does not concent to this commit, it will be backed out.
***
It is a non-gpl'ed "unzip" which will allow execution of a.out files which
have been sent through "gzip -9". The idea being saved disk-space.
Just now this code has quality rating: "working prototype".
To compress a file to be used with this, do it exactly this way:
gzip -9 -v < /bin/FOO > /tmp/FOO
remember to chmod /tmp/FOO as needed.
DON'T compress all of you binaries right away ! There are several things
which you should consider first:
1. Using compressed binaries, you use >MUCH< more VM, and thus swap-space.
2. It is slow.
3. It might crash your machine.
Apart from that, I welcome comments...
if requested. LKMs which need it should use:
SRCS+= vnode_if.h
CLEANFILES+= vnode_if.h vnode_if.c
These rules were already present for VFS LKMs; now they are enabled all
the time. (VFS LKMs do not need the fragment above; it is still done for them.)
- Make a number of filesystems work again when they are statically compiled
(blush)
- FIFOs are no longer optional; ``options FIFO'' removed from distributed
config files.
This code is mostly taken from the 1.1 port (which was in turn taken from
Dave Mills's kern.tar.Z example). A few significant differences:
1) ntp_gettime() is now a MIB variable rather than a system call. A few
fiddles are done in libc to make it behave the same.
2) mono_time does not participate in the PLL adjustments.
3) A new interface has been defined (in <machine/clock.h>) for doing
possibly machine-dependent things around the time of the clock update.
This is used in Pentium kernels to disable interrupts, set `time', and
reset the CPU cycle counter as quickly as possible to avoid jitter in
microtime(). Measurements show an apparent resolution of a bit more than
8.14usec, which is reasonable given system-call overhead.
has no effect now, and MROUTING should never be defined by default.
(Eventually the code should be dynamically loadable.)
Also, allow for Pentium CPUs in GENERICBT kernels.
Add an `install' rule to Makefile.i386, which looks like this:
mv /kernel /kernel.old
install -c -m 555 -o root -g root -fschg kernel /
I'd like comments on whether or not you think it's a good idea to have
the kernel be immutable by default; I'm happy either way.
CVS:
with BOUNCE_BUFFERS. This is more intuitive, and is better for future
multiplatform support. Added BOUNCE_BUFFERS option to the GENERIC and
LINT kernel config files.
will do most of the work for handling them. Only one extra flag and one
bogus dependency was used for machdep.c and there was never anything
special about the others.
Add locore.s, but commented out. It's still special.
Remove com.c and lpa.c.
SYSTEM_OBS. They are now normal objects.
Remove stale dependencies for the above now-normal objects and for
locore.o and generate dependencies using mkdep. Config doesn't
generate lists of assembler source files so the lists to be mkdep'ed
have to be given explictly. Only the standard *.s files are given,
so the dependencies for gnu/fpemul/*.s are incomplete. *.S files
would be handled right if config put them in CFILES.
Don't define NPX. It was replaced by NNPX > 0 years ago.
Define LOAD_ADDRESS in COPTS so that compiling machdep.c isn't a special
case.
Moving around the dependencies exposed a bug in make. It doesn't
know that assym.s and ./assym.s are the same. Add a rule tell it.
in your kernel config now).
2) Added ps ddb function from 1.1.5. Cleaned it up a bit and moved into its
own file.
3) Added \r handing in db_printf.
4) Added missing memory usage stats to statclock().
5) Added dummy function to pseudo_set so it will be emitted if there
are no other pseudo declarations.