f71c01cc52
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
190 lines
7.2 KiB
Plaintext
190 lines
7.2 KiB
Plaintext
# This file tells config what files go into building a kernel,
|
|
# files marked standard are always included.
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
# The long compile-with and dependency lines are required because of
|
|
# limitations in config: backslash-newline doesn't work in strings, and
|
|
# dependency lines other than the first are silently ignored.
|
|
#
|
|
#
|
|
font8x16.o optional std8x16font \
|
|
compile-with "uudecode < /usr/share/syscons/fonts/${STD8X16FONT}-8x16.fnt && file2c 'unsigned char font_16[16*256] = {' '};' < ${STD8X16FONT}-8x16 > font8x16.c && ${CC} -c ${CFLAGS} font8x16.c" \
|
|
no-implicit-rule before-depend \
|
|
clean "${STD8X16FONT}-8x16 font8x16.c"
|
|
# make sure apm.h gets made correctly
|
|
apm.h standard \
|
|
compile-with "echo '#define NAPM 0' > apm.h" \
|
|
no-obj no-implicit-rule before-depend
|
|
|
|
#
|
|
atkbdmap.h optional atkbd_dflt_keymap \
|
|
compile-with "/usr/sbin/kbdcontrol -L ${ATKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > atkbdmap.h" \
|
|
no-obj no-implicit-rule before-depend \
|
|
clean "atkbdmap.h"
|
|
#
|
|
alpha/alpha/autoconf.c standard
|
|
alpha/alpha/cpuconf.c standard
|
|
alpha/alpha/atomic.s standard
|
|
alpha/alpha/dec_kn8ae.c optional dec_kn8ae
|
|
alpha/alpha/dec_eb164.c optional dec_eb164
|
|
alpha/alpha/dec_eb64plus.c optional dec_eb64plus
|
|
alpha/alpha/dec_kn20aa.c optional dec_kn20aa
|
|
alpha/alpha/dec_1000a.c optional dec_1000a
|
|
alpha/alpha/dec_1000a.c optional dec_1000a
|
|
alpha/alpha/dec_2100_a50.c optional dec_2100_a50
|
|
alpha/alpha/dec_2100_a500.c optional dec_2100_a500
|
|
alpha/alpha/dec_st550.c optional dec_st550
|
|
alpha/alpha/dec_st6600.c optional dec_st6600
|
|
alpha/alpha/dec_axppci_33.c optional dec_axppci_33
|
|
alpha/alpha/dec_3000_300.c optional dec_3000_300
|
|
alpha/alpha/dec_3000_500.c optional dec_3000_500
|
|
alpha/alpha/dec_kn300.c optional dec_kn300
|
|
alpha/alpha/mountroot.c optional slice
|
|
alpha/alpha/ipl_funcs.c standard
|
|
alpha/alpha/pal.s standard
|
|
alpha/alpha/busdma_machdep.c standard
|
|
alpha/alpha/sgmap.c standard
|
|
alpha/alpha/prom.c standard
|
|
alpha/alpha/promcons.c standard
|
|
alpha/alpha/prom_disp.s standard
|
|
alpha/alpha/alpha-gdbstub.c optional ddb
|
|
alpha/alpha/db_disasm.c optional ddb
|
|
alpha/alpha/db_interface.c optional ddb
|
|
alpha/alpha/db_trace.c optional ddb
|
|
alpha/alpha/exception.s standard
|
|
alpha/alpha/in_cksum.c optional inet
|
|
# locore.s needs to be handled in Makefile to put it first. Otherwise it's
|
|
# now normal.
|
|
# alpha/alpha/locore.s standard
|
|
alpha/alpha/machdep.c standard
|
|
alpha/alpha/fp_emulate.c standard
|
|
alpha/alpha/ieee_float.c standard
|
|
alpha/alpha/mem.c standard
|
|
alpha/alpha/mp_machdep.c optional smp
|
|
alpha/alpha/perfmon.c optional perfmon profiling-routine
|
|
alpha/alpha/perfmon.c optional perfmon
|
|
alpha/alpha/pmap.c standard
|
|
alpha/alpha/procfs_machdep.c standard
|
|
alpha/alpha/simplelock.s optional smp
|
|
alpha/alpha/support.s standard
|
|
alpha/alpha/swtch.s standard
|
|
alpha/alpha/sys_machdep.c standard
|
|
alpha/alpha/trap.c standard
|
|
alpha/alpha/interrupt.c standard
|
|
alpha/alpha/userconfig.c optional userconfig
|
|
alpha/alpha/vm_machdep.c standard
|
|
alpha/alpha/clock.c standard
|
|
alpha/alpha/clock_if.m standard
|
|
alpha/mcbus/mcbus.c optional dec_kn300
|
|
alpha/mcbus/mcmem.c optional dec_kn300
|
|
alpha/mcbus/mcpcia.c optional dec_kn300
|
|
alpha/pci/mcpcia_pci.c optional dec_kn300
|
|
alpha/tlsb/tlsb.c optional dec_kn8ae
|
|
alpha/tlsb/tlsbmem.c optional dec_kn8ae
|
|
alpha/tlsb/tlsbcpu.c optional dec_kn8ae
|
|
alpha/tlsb/gbus.c optional dec_kn8ae
|
|
alpha/tlsb/kftxx.c optional dec_kn8ae
|
|
alpha/tlsb/mcclock_tlsb.c optional dec_kn8ae
|
|
alpha/tlsb/zs_tlsb.c optional dec_kn8ae
|
|
alpha/tlsb/dwlpx.c optional dec_kn8ae
|
|
alpha/pci/dwlpx_pci.c optional dec_kn8ae
|
|
alpha/tc/tcasic.c optional dec_3000_300
|
|
alpha/tc/tcasic.c optional dec_3000_500
|
|
alpha/tc/tc.c optional dec_3000_300
|
|
alpha/tc/tc.c optional dec_3000_500
|
|
alpha/tc/ioasic.c optional dec_3000_300
|
|
alpha/tc/ioasic.c optional dec_3000_500
|
|
alpha/tc/mcclock_ioasic.c optional dec_3000_300
|
|
alpha/tc/mcclock_ioasic.c optional dec_3000_500
|
|
alpha/tc/if_le_ioasic.c optional le dec_3000_300
|
|
alpha/tc/if_le_ioasic.c optional le dec_3000_500
|
|
alpha/tc/if_le_dec.c optional le dec_3000_300
|
|
alpha/tc/if_le_dec.c optional le dec_3000_500
|
|
alpha/tc/am7990.c optional le dec_3000_300
|
|
alpha/tc/am7990.c optional le dec_3000_500
|
|
alpha/tc/tcds.c optional esp dec_3000_300
|
|
alpha/tc/tcds.c optional esp dec_3000_500
|
|
alpha/tc/tcds_dma.c optional tcds dec_3000_300
|
|
alpha/tc/tcds_dma.c optional tcds dec_3000_500
|
|
alpha/tc/esp.c optional esp dec_3000_300
|
|
alpha/tc/esp.c optional esp dec_3000_500
|
|
dev/dec/mcclock.c optional mcclock
|
|
dev/dec/mcclock_if.m optional mcclock
|
|
alpha/alpha/elf_machdep.c standard
|
|
alpha/isa/isa.c optional isa
|
|
alpha/isa/isa_dma.c optional isa
|
|
alpha/isa/mcclock_isa.c optional isa
|
|
alpha/pci/apecs.c optional dec_2100_a50
|
|
alpha/pci/apecs.c optional dec_eb64plus
|
|
alpha/pci/apecs.c optional dec_1000a
|
|
alpha/pci/apecs_pci.c optional dec_2100_a50
|
|
alpha/pci/apecs_pci.c optional dec_eb64plus
|
|
alpha/pci/apecs_pci.c optional dec_1000a
|
|
alpha/pci/cia.c optional dec_eb164
|
|
alpha/pci/cia.c optional dec_kn20aa
|
|
alpha/pci/cia.c optional dec_st550
|
|
alpha/pci/cia.c optional dec_1000a
|
|
alpha/pci/cia_pci.c optional dec_eb164
|
|
alpha/pci/cia_pci.c optional dec_kn20aa
|
|
alpha/pci/cia_pci.c optional dec_st550
|
|
alpha/pci/cia_pci.c optional dec_1000a
|
|
alpha/pci/lca.c optional dec_axppci_33
|
|
alpha/pci/lca_pci.c optional dec_axppci_33
|
|
alpha/pci/pci_eb164_intr.s optional dec_eb164
|
|
alpha/pci/pci_eb164_intr.s optional dec_kn20aa
|
|
alpha/pci/pci_eb164_intr.s optional dec_st550
|
|
alpha/pci/pci_eb64plus_intr.s optional dec_2100_a50
|
|
alpha/pci/pci_eb64plus_intr.s optional dec_eb64plus
|
|
alpha/pci/pcibus.c optional pci
|
|
alpha/pci/t2.c optional dec_2100_a500
|
|
alpha/pci/t2_pci.c optional dec_2100_a500
|
|
alpha/pci/tsunami.c optional dec_st6600
|
|
alpha/pci/tsunami_pci.c optional dec_st6600
|
|
dev/advansys/adv_isa.c optional adv isa
|
|
dev/aic/aic_isa.c optional aic isa
|
|
dev/ata/ata-all.c count ata
|
|
dev/ata/ata-disk.c count atadisk
|
|
dev/ata/ata-dma.c optional ata
|
|
dev/ata/atapi-all.c count atapicd
|
|
dev/ata/atapi-all.c count atapifd
|
|
dev/ata/atapi-all.c count atapist
|
|
dev/ata/atapi-cd.c optional atapicd
|
|
dev/ata/atapi-fd.c optional atapifd
|
|
dev/ata/atapi-tape.c optional atapist
|
|
dev/fb/fb.c optional fb
|
|
dev/fb/fb.c optional vga
|
|
dev/fb/splash.c count splash
|
|
dev/fb/vga.c optional vga
|
|
dev/kbd/atkbd.c optional atkbd
|
|
dev/kbd/atkbdc.c count atkbdc
|
|
dev/kbd/kbd.c optional atkbd
|
|
dev/kbd/kbd.c optional kbd
|
|
dev/kbd/kbd.c optional sc
|
|
dev/kbd/kbd.c optional ukbd
|
|
dev/syscons/schistory.c count sc
|
|
dev/syscons/scmouse.c optional sc
|
|
dev/syscons/scterm.c optional sc
|
|
dev/syscons/scterm-dumb.c optional sc
|
|
dev/syscons/scterm-sc.c optional sc
|
|
dev/syscons/scvgarndr.c optional sc vga
|
|
dev/syscons/scvidctl.c optional sc
|
|
dev/syscons/scvtb.c optional sc
|
|
dev/syscons/syscons.c optional sc
|
|
dev/syscons/sysmouse.c optional sc
|
|
isa/atkbd_isa.c optional atkbd
|
|
isa/atkbdc_isa.c optional atkbdc
|
|
isa/fd.c optional fdc
|
|
isa/ppc.c optional ppc
|
|
isa/psm.c optional psm
|
|
isa/sio.c count sio
|
|
isa/syscons_isa.c optional sc
|
|
isa/vga_isa.c optional vga
|
|
kern/subr_diskmbr.c standard
|
|
libkern/alpha/htonl.S standard
|
|
libkern/alpha/htons.S standard
|
|
libkern/alpha/ntohl.S standard
|
|
libkern/alpha/ntohs.S standard
|
|
libkern/bcmp.c standard
|
|
libkern/ffs.c standard
|