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
86 lines
1.8 KiB
Plaintext
86 lines
1.8 KiB
Plaintext
# $FreeBSD$
|
|
hint.fdc.0.at="isa"
|
|
hint.fdc.0.port="0x3F0"
|
|
hint.fdc.0.irq="6"
|
|
hint.fdc.0.drq="2"
|
|
hint.fd.0.at="fdc0"
|
|
hint.fd.0.drive="0"
|
|
hint.fd.1.at="fdc0"
|
|
hint.fd.1.drive="1"
|
|
hint.ata.0.at="isa"
|
|
hint.ata.0.port="0x1F0"
|
|
hint.ata.0.irq="14"
|
|
hint.ata.1.at="isa"
|
|
hint.ata.1.port="0x170"
|
|
hint.ata.1.irq="15"
|
|
hint.adv.0.at="isa"
|
|
hint.bt.0.at="isa"
|
|
hint.aha.0.at="isa"
|
|
hint.aic.0.at="isa"
|
|
hint.atkbdc.0.at="isa"
|
|
hint.atkbdc.0.port="0x060"
|
|
hint.atkbd.0.at="atkbdc"
|
|
hint.atkbd.0.irq="1"
|
|
hint.atkbd.0.flags="0x1"
|
|
hint.psm.0.at="atkbdc"
|
|
hint.psm.0.irq="12"
|
|
hint.vga.0.at="isa"
|
|
hint.sc.0.at="isa"
|
|
hint.sc.0.flags="0x100"
|
|
hint.vt.0.at="isa"
|
|
hint.npx.0.at="nexus"
|
|
hint.npx.0.port="0x0F0"
|
|
hint.npx.0.irq="13"
|
|
hint.apm.0.at="nexus"
|
|
hint.apm.0.disabled="1"
|
|
hint.apm.0.flags="0x20"
|
|
hint.pcic.0.at="isa"
|
|
hint.pcic.0.irq="10"
|
|
hint.pcic.0.port="0x3e0"
|
|
hint.pcic.0.iomem="0xd0000"
|
|
hint.pcic.1.at="isa"
|
|
hint.pcic.1.irq="11"
|
|
hint.pcic.1.port="0x3e2"
|
|
hint.pcic.1.iomem="0xd4000"
|
|
hint.pcic.1.disabled="1"
|
|
hint.sio.0.at="isa"
|
|
hint.sio.0.port="0x3F8"
|
|
hint.sio.0.flags="0x10"
|
|
hint.sio.0.irq="4"
|
|
hint.sio.1.at="isa"
|
|
hint.sio.1.port="0x2F8"
|
|
hint.sio.1.irq="3"
|
|
hint.sio.2.at="isa"
|
|
hint.sio.2.disabled="1"
|
|
hint.sio.2.port="0x3E8"
|
|
hint.sio.2.irq="5"
|
|
hint.sio.3.at="isa"
|
|
hint.sio.3.disabled="1"
|
|
hint.sio.3.port="0x2E8"
|
|
hint.sio.3.irq="9"
|
|
hint.ppc.0.at="isa"
|
|
hint.ppc.0.irq="7"
|
|
hint.ed.0.at="isa"
|
|
hint.ed.0.port="0x280"
|
|
hint.ed.0.irq="10"
|
|
hint.ed.0.iomem="0xd8000"
|
|
hint.cs.0.at="isa"
|
|
hint.cs.0.port="0x300"
|
|
hint.sn.0.at="isa"
|
|
hint.sn.0.port="0x300"
|
|
hint.sn.0.irq="10"
|
|
hint.ie.0.at="isa"
|
|
hint.ie.0.port="0x300"
|
|
hint.ie.0.irq="10"
|
|
hint.ie.0.iomem="0xd0000"
|
|
hint.fe.0.at="isa"
|
|
hint.fe.0.port="0x300"
|
|
hint.le.0.at="isa"
|
|
hint.le.0.port="0x300"
|
|
hint.le.0.irq="5"
|
|
hint.le.0.iomem="0xd0000"
|
|
hint.lnc.0.at="isa"
|
|
hint.lnc.0.port="0x280"
|
|
hint.lnc.0.irq="10"
|
|
hint.lnc.0.drq="0"
|