| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
things like MFILES= or CONFFILES= without having to modify config code.
|
|
|
|
|
| |
Based on patch submitted by: Makoto MATSUSHITA <matusita@jp.freebsd.org>
Reviewed by: marcel, bde
|
| |
|
| |
|
|
|
|
| |
Do so for LINT.
|
|
|
|
|
|
|
| |
the kernel" patch.
This commit is only the "Do not prepend `DESTDIR' to `KMODDIR' as
sys/conf/kmod.mk already does that for us" change.
|
|
|
|
| |
that for us.
|
| |
|
|
|
|
| |
installation. This is need for the release build.
|
|
|
|
| |
Acceptability explained by: rgrimes
|
| |
|
| |
|
|
|
|
| |
live in ``/boot/kernel/''.
|
|
|
|
|
| |
then include the hints with a marker indicating that it is a fallback.
The kernel side of this is to come shortly.
|
|
|
|
|
| |
Do not install a kernel unless a device.hints exists. Yes, you can
create an empty hints file if you refuse to use them.
|
|
|
|
| |
* Don't ignore error returns.
|
|
|
|
| |
exists.
|
|
|
|
|
|
| |
doesn't exist. This could bite you by allowing you merrily install your
modules one on top of the other as the regular file ${DESTDIR}/modules
and think it completed properly...
|
|
|
|
|
|
|
| |
the list of .o files comes from - if we change the list of files that
are built, we need to rescan the files)
Obtained from: bde (indirectly)
|
|
|
|
| |
kernel build dir doesn't really say what your intentions are.
|
|
|
|
|
|
|
| |
world as was our old way, rather than when building a kernel.
Some people do not like the new way, and the release building still assumes
modules are built with the world.
|
| |
|
|
|
|
| |
Submitted by: John DeBoskey <jwd@FreeBSD.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use Warner Losh's "hint" driver to decode ascii strings to fill the
resource table at boot time.
config(8) no longer generates an ioconf.c table - ie: the configuration
no longer has to be compiled into the kernel. You can reconfigure your
isa devices with the likes of this at loader(8) time:
set hint.ed.0.port=0x320
userconfig will be rewritten to use this style interface one day and will
move to /boot/userconfig.4th or something like that.
It is still possible to statically compile in a set of hints into a kernel
if you do not wish to use loader(8). See the "hints" directive in GENERIC
as an example.
All device wiring has been moved out of config(8). There is a set of
helper scripts (see i386/conf/gethints.pl, and the same for alpha and pc98)
that extract the 'at isa? port foo irq bar' from the old files and produces
a hints file. If you install this file as /boot/device.hints (and update
/boot/defaults/loader.conf - You can do a build/install in sys/boot) then
loader will load it automatically for you. You can also compile in the
hints directly with: hints "device.hints" as well.
There are a few things that I'm not too happy with yet. Under this scheme,
things like LINT would no longer be useful as "documentation" of settings.
I have renamed this file to 'NOTES' and stored the example hints strings
in it. However... this is not something that config(8) understands, so
there is a script that extracts the build-specific data from the
documentation file (NOTES) to produce a LINT that can be config'ed and
built. A stack of man4 pages will need updating. :-/
Also, since there is no longer a difference between 'device' and
'pseudo-device' I collapsed the two together, and the resulting 'device'
takes a 'number of units' for devices that still have it statically
allocated. eg: 'device fe 4' will compile the fe driver with NFE set
to 4. You can then set hints for 4 units (0 - 3). Also note that
'device fe0' will be interpreted as "zero units of 'fe'" which would be
bad, so there is a config warning for this. This is only needed for
old drivers that still have static limits on numbers of units.
All the statically limited drivers that I could find were marked.
Please exercise EXTREME CAUTION when transitioning!
Moral support by: phk, msmith, dfr, asmodai, imp, and others
|
|
|
|
| |
ld(1) doesn't seem to have the ability to delete an arbitary symbol.
|
|
|
|
|
|
|
|
| |
config(8). This commit allows control of the creation of the
#include "foo.h" files. We now only create them explicitly when needed.
BTW; these are mostly bad because they usually imply static limits on
numbers of units for devices. eg: struct mysoftc sc[NFOO];
These static limits have Got To Go.
|
|
|
|
|
|
|
|
| |
Symbol values are now represented using array sizes (4 arrays per symbol
so that 16-bit machines can represent 64-bit values) instead of being raw
binary values.
Reviewed by: marcel
|
|
|
|
|
| |
targets. The {depend,clean,cleandepend,tags,install,reinstall} targets
are composits of the {kernel,module}-* targets (based on NO_MODULES).
|
|
|
|
|
|
| |
are only rebuilt if the kernel has changed as well.
While there make 'all' and 'modules' a PHONY target.
|
|
|
|
| |
there.
|
|
|
|
|
|
|
|
|
|
| |
from the sys Makefile's SUBDIRs. This is conditioned in make.conf by the
NO_MODULES variable and the existence of the modules directory. The
actual location of the modules is not modified. Changes in Makefiles
only, this does not affect Peter's recent changes.
Reviewed by: Peter Wemm, who warned me I would get some flack, and
he had the good idea for the NO_MODULES variable.
|
|
|
|
| |
address.
|
|
|
|
|
|
|
|
|
|
| |
non-device code.
* Re-implement the method dispatch to improve efficiency. The new system
takes about 40ns for a method dispatch on a 300Mhz PII which is only
10ns slower than a direct function call on the same hardware.
This changes the new-bus ABI slightly so make sure you re-compile any
driver modules which you use.
|
|
|
|
|
|
|
| |
line in files or files.${arch} instead of 13 lines of code.
This is a small chance that this will break the alpha kernel build - I'll
fix it this evening if it does.
|
|
|
|
| |
Without this, we cannot put sysctl nodes in there.
|
|
|
|
| |
work unmodified still, new config files won't work on the old ones.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
hinted at in the previous config(8) commits. I've spoken about this with
a few people and after the initial suprise wore off they thought it wasn't
a bad idea. The upshot of it is that all the files*, Makefile*, options*
files are all right next to each other in the hope that people making
changes to one set will remember the others.
Note, config(8) looks to sys/conf first, and falls back to sys/$mach/conf
still, so this doesn't stop people working in subdirs for new platforms.
But once it's in the tree it can be moved next to the other files so that
the non-i386 platforms are (hopefully) treated a little better than as if
they were "second class" ports.
This does not change any user editable files. the config program is
still run in the same directory as before, the per-platform files
(GENERIC, LINT etc) are still in the same place.
|
|
|
|
| |
compiled on PC98.
|
|
|
|
|
| |
downwards compatable. If you try and config a s/controller/device/ kernel
with an old config(8), the results will be less than satisfactory.
|
|
|
|
|
|
| |
it's always true on these platforms (and is likely to be on others as
well since loader is the one that is configured for whatever the boot
requirements are)
|
| |
|
|
|
|
|
|
|
|
|
| |
${GEN_CFLAGS} and -U_KERNEL became negative when all all the
genassym.c's were converted to be cross-built.
Makefile.*:
- Cleanups associated with the old genassym.
- Fixed deprecated spelling of ${.IMPSRC} as "$<".
|
|
|
|
|
|
|
| |
because they are already defined in pmap.h, resulting in duplicate
definitions.
Reviewed by: bde
|
| |
|
|
|
|
|
|
| |
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot). This is consistant with the other
BSD's who made this change quite some time ago. More commits to come.
|
|
|
|
| |
kernel.
|
|
|
|
|
|
| |
Fixed some style bugs (always use precisely 1 space after `:' in
dependency specifications).
Removed bogus dependency of ${FULLKERNEL} on ${BEFORE_DEPEND}.
|
|
|
|
|
|
|
|
|
| |
kernel builds so as not to confuse with perl4 when bootstrapping from old
systems. I don't know if this is still applicable but it shouldn't hurt
to be consistant at least.
Also copy vnode_if.sh to vnode_if.pl. Doing a 'sh vnode_if.sh' when it
was a perl script was kinda silly.
|
|
|
|
|
|
|
|
|
| |
the kernel while the vnode_if.h header is a bunch of inlines to call the
code that is in the kernel. Generating the .h file on the fly is kinda
bogus because it has to match the one compiled into the kernel.
IMHO we should have kern/vnode_if.c and sys/vnode_if.h committed in the
tree but that's another battle.
|
|
|
|
|
| |
was getting quite dated. Attempt to minimize diffs between the two so
it's not as painful to do this next time.
|