Index: head/sys/conf/files.i386 =================================================================== --- head/sys/conf/files.i386 (revision 123193) +++ head/sys/conf/files.i386 (revision 123194) @@ -1,406 +1,405 @@ # 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. # linux_genassym.o optional compat_linux \ dependency "$S/i386/linux/linux_genassym.c" \ compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \ no-obj no-implicit-rule \ clean "linux_genassym.o" # linux_assym.h optional compat_linux \ dependency "$S/kern/genassym.sh linux_genassym.o" \ compile-with "sh $S/kern/genassym.sh linux_genassym.o > ${.TARGET}" \ no-obj no-implicit-rule before-depend \ clean "linux_assym.h" # svr4_genassym.o optional compat_svr4 \ dependency "$S/i386/svr4/svr4_genassym.c" \ compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \ no-obj no-implicit-rule \ clean "svr4_genassym.o" # svr4_assym.h optional compat_svr4 \ dependency "$S/kern/genassym.sh svr4_genassym.o" \ compile-with "sh $S/kern/genassym.sh svr4_genassym.o > ${.TARGET}" \ no-obj no-implicit-rule before-depend \ clean "svr4_assym.h" # font.h optional sc_dflt_font \ compile-with "uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'static u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'static u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'static u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h" \ no-obj no-implicit-rule before-depend \ clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8" # 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" # ukbdmap.h optional ukbd_dflt_keymap \ compile-with "/usr/sbin/kbdcontrol -L ${UKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > ukbdmap.h" \ no-obj no-implicit-rule before-depend \ clean "ukbdmap.h" # msysosak.o optional fla \ dependency "$S/contrib/dev/fla/i386/msysosak.o.uu" \ compile-with "uudecode < $S/contrib/dev/fla/i386/msysosak.o.uu" \ no-implicit-rule # trlld.o optional oltr \ dependency "$S/contrib/dev/oltr/i386-elf.trlld.o.uu" \ compile-with "uudecode < $S/contrib/dev/oltr/i386-elf.trlld.o.uu" \ no-implicit-rule # hal.o optional ath_hal \ dependency "$S/contrib/dev/ath/freebsd/i386-elf.hal.o.uu" \ compile-with "uudecode < $S/contrib/dev/ath/freebsd/i386-elf.hal.o.uu" \ no-implicit-rule # # compat/linux/linux_file.c optional compat_linux compat/linux/linux_getcwd.c optional compat_linux compat/linux/linux_ioctl.c optional compat_linux compat/linux/linux_ipc.c optional compat_linux compat/linux/linux_mib.c optional compat_linux compat/linux/linux_misc.c optional compat_linux compat/linux/linux_signal.c optional compat_linux compat/linux/linux_socket.c optional compat_linux compat/linux/linux_stats.c optional compat_linux compat/linux/linux_sysctl.c optional compat_linux compat/linux/linux_uid16.c optional compat_linux compat/linux/linux_util.c optional compat_linux compat/pecoff/imgact_pecoff.c optional pecoff_support compat/svr4/imgact_svr4.c optional compat_svr4 compat/svr4/svr4_fcntl.c optional compat_svr4 compat/svr4/svr4_filio.c optional compat_svr4 compat/svr4/svr4_ioctl.c optional compat_svr4 compat/svr4/svr4_ipc.c optional compat_svr4 compat/svr4/svr4_misc.c optional compat_svr4 compat/svr4/svr4_resource.c optional compat_svr4 compat/svr4/svr4_signal.c optional compat_svr4 compat/svr4/svr4_socket.c optional compat_svr4 compat/svr4/svr4_sockio.c optional compat_svr4 compat/svr4/svr4_stat.c optional compat_svr4 compat/svr4/svr4_stream.c optional compat_svr4 compat/svr4/svr4_syscallnames.c optional compat_svr4 compat/svr4/svr4_sysent.c optional compat_svr4 compat/svr4/svr4_sysvec.c optional compat_svr4 compat/svr4/svr4_termios.c optional compat_svr4 compat/svr4/svr4_ttold.c optional compat_svr4 contrib/dev/fla/fla.c optional fla contrib/dev/oltr/if_oltr.c optional oltr contrib/dev/oltr/trlldbm.c optional oltr contrib/dev/oltr/trlldhm.c optional oltr contrib/dev/oltr/trlldmac.c optional oltr bf_enc.o optional ipsec ipsec_esp \ dependency "$S/crypto/blowfish/arch/i386/bf_enc.S $S/crypto/blowfish/arch/i386/bf_enc_586.S $S/crypto/blowfish/arch/i386/bf_enc_686.S" \ compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \ no-implicit-rule crypto/des/arch/i386/des_enc.S optional ipsec ipsec_esp crypto/des/des_ecb.c optional netsmbcrypto crypto/des/arch/i386/des_enc.S optional netsmbcrypto crypto/des/des_setkey.c optional netsmbcrypto bf_enc.o optional crypto \ dependency "$S/crypto/blowfish/arch/i386/bf_enc.S $S/crypto/blowfish/arch/i386/bf_enc_586.S $S/crypto/blowfish/arch/i386/bf_enc_686.S" \ compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \ no-implicit-rule crypto/des/arch/i386/des_enc.S optional crypto crypto/des/des_ecb.c optional crypto crypto/des/des_setkey.c optional crypto dev/advansys/adv_isa.c optional adv isa dev/aic/aic_isa.c optional aic isa dev/ar/if_ar.c optional ar dev/ar/if_ar_pci.c optional ar pci dev/ar/if_ar_isa.c optional ar isa dev/cm/if_cm_isa.c optional cm isa dev/cx/csigma.c optional cx dev/cx/cxddk.c optional cx dev/cx/if_cx.c optional cx dev/dgb/dgb.c count dgb dev/ed/if_ed_isa.c optional ed isa dev/fb/fb.c optional fb dev/fb/fb.c optional vga dev/fb/splash.c optional splash dev/fb/vga.c optional vga dev/fe/if_fe_isa.c optional fe isa dev/kbd/atkbd.c optional atkbd dev/kbd/atkbdc.c optional 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/kbd/kbd.c optional vt dev/lnc/if_lnc_isa.c optional lnc isa dev/ppc/ppc.c optional ppc dev/ppc/ppc_puc.c optional ppc puc pci dev/sbni/if_sbni.c optional sbni dev/sbni/if_sbni_isa.c optional sbni isa dev/sbni/if_sbni_pci.c optional sbni pci dev/sio/sio.c optional sio dev/sio/sio_isa.c optional sio isa dev/sr/if_sr_isa.c optional sr isa dev/syscons/apm/apm_saver.c optional apm_saver apm dev/syscons/schistory.c optional 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/scvesactl.c optional sc vga vesa 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 dev/uart/uart_cpu_i386.c optional uart geom/geom_bsd.c standard geom/geom_bsd_enc.c standard geom/geom_mbr.c standard geom/geom_mbr_enc.c standard i386/acpica/OsdEnvironment.c optional acpi i386/acpica/acpi_machdep.c optional acpi i386/acpica/acpi_wakeup.c optional acpi acpi_wakecode.h optional acpi \ dependency "$S/i386/acpica/acpi_wakecode.S" \ compile-with "${MAKE} -f $S/i386/acpica/Makefile MAKESRCPATH=$S/i386/acpica" \ no-obj no-implicit-rule before-depend \ clean "acpi_wakecode.h acpi_wakecode.o acpi_wakecode.bin" # i386/acpica/madt.c optional acpi apic i386/bios/apm.c optional apm i386/bios/mca_machdep.c optional mca i386/bios/smapi.c optional smapi i386/bios/smapi_bios.S optional smapi i386/bios/smbios.c optional smbios i386/bios/vpd.c optional vpd i386/i386/apic_vector.s optional apic i386/i386/atomic.c standard \ compile-with "${CC} -c ${CFLAGS} ${DEFINED_PROF:S/^$/-fomit-frame-pointer/} ${.IMPSRC}" i386/i386/autoconf.c standard i386/i386/bios.c standard i386/i386/bioscall.s standard i386/i386/busdma_machdep.c standard i386/i386/critical.c standard i386/i386/db_disasm.c optional ddb i386/i386/db_interface.c optional ddb i386/i386/db_trace.c optional ddb i386/i386/dump_machdep.c standard i386/i386/elan-mmcr.c optional cpu_elan i386/i386/elan-mmcr.c optional cpu_soekris i386/i386/elf_machdep.c standard i386/i386/exception.s standard i386/i386/geode.c optional cpu_geode i386/i386/i386-gdbstub.c optional ddb i386/i386/i686_mem.c standard i386/i386/identcpu.c standard i386/i386/in_cksum.c optional inet i386/i386/initcpu.c standard i386/i386/intr_machdep.c standard i386/i386/io_apic.c optional apic i386/i386/k6_mem.c standard i386/i386/legacy.c standard i386/i386/local_apic.c optional apic i386/i386/locore.s standard no-obj i386/i386/machdep.c standard i386/i386/mem.c standard i386/i386/mp_clock.c optional smp i386/i386/mp_machdep.c optional smp i386/i386/mpboot.s optional smp i386/i386/mptable.c optional apic i386/i386/mptable_pci.c optional apic pci i386/i386/nexus.c standard i386/i386/perfmon.c optional perfmon i386/i386/perfmon.c optional perfmon profiling-routine i386/i386/pmap.c standard i386/i386/support.s standard i386/i386/swtch.s standard i386/i386/sys_machdep.c standard i386/i386/trap.c standard i386/i386/tsc.c standard i386/i386/vm86.c standard i386/i386/vm_machdep.c standard i386/ibcs2/ibcs2_errno.c optional ibcs2 i386/ibcs2/ibcs2_fcntl.c optional ibcs2 i386/ibcs2/ibcs2_ioctl.c optional ibcs2 i386/ibcs2/ibcs2_ipc.c optional ibcs2 i386/ibcs2/ibcs2_isc.c optional ibcs2 i386/ibcs2/ibcs2_isc_sysent.c optional ibcs2 i386/ibcs2/ibcs2_misc.c optional ibcs2 i386/ibcs2/ibcs2_msg.c optional ibcs2 i386/ibcs2/ibcs2_other.c optional ibcs2 i386/ibcs2/ibcs2_signal.c optional ibcs2 i386/ibcs2/ibcs2_socksys.c optional ibcs2 i386/ibcs2/ibcs2_stat.c optional ibcs2 i386/ibcs2/ibcs2_sysent.c optional ibcs2 i386/ibcs2/ibcs2_sysi86.c optional ibcs2 i386/ibcs2/ibcs2_sysvec.c optional ibcs2 i386/ibcs2/ibcs2_util.c optional ibcs2 i386/ibcs2/ibcs2_xenix.c optional ibcs2 i386/ibcs2/ibcs2_xenix_sysent.c optional ibcs2 i386/ibcs2/imgact_coff.c optional ibcs2 i386/isa/asc.c count asc i386/isa/atpic.c standard i386/isa/atpic_vector.s standard i386/isa/clock.c standard i386/isa/ctx.c optional ctx i386/isa/cy.c count cy i386/isa/elink.c optional ep i386/isa/elink.c optional ie i386/isa/gpib.c optional gp i386/isa/gsc.c count gsc i386/isa/if_el.c count el i386/isa/if_le.c count le i386/isa/if_rdp.c count rdp i386/isa/isa.c optional isa i386/isa/isa_compat.c optional isa compat_oldisa \ warning "Old ISA driver compatibility shims present." i386/isa/isa_dma.c optional isa i386/isa/istallion.c optional stli nowerror -i386/isa/loran.c optional loran i386/isa/mse.c optional mse i386/isa/nmi.c standard i386/isa/npx.c optional npx i386/isa/pcf.c optional pcf i386/isa/pcvt/pcvt_drv.c optional vt i386/isa/pcvt/pcvt_ext.c optional vt i386/isa/pcvt/pcvt_kbd.c optional vt i386/isa/pcvt/pcvt_out.c optional vt i386/isa/pcvt/pcvt_sup.c optional vt i386/isa/pcvt/pcvt_vtf.c optional vt i386/isa/pmtimer.c optional pmtimer i386/isa/prof_machdep.c optional profiling-routine i386/isa/spic.c optional spic i386/isa/spigot.c count spigot i386/isa/spkr.c optional speaker i386/isa/stallion.c optional stl nowerror i386/isa/vesa.c optional vga vesa i386/isa/wt.c count wt i386/linux/imgact_linux.c optional compat_linux i386/linux/linux_dummy.c optional compat_linux i386/linux/linux_locore.s optional compat_linux \ dependency "linux_assym.h" i386/linux/linux_machdep.c optional compat_linux i386/linux/linux_ptrace.c optional compat_linux i386/linux/linux_sysent.c optional compat_linux i386/linux/linux_sysvec.c optional compat_linux i386/pci/pci_cfgreg.c optional pci i386/pci/pci_bus.c optional pci i386/svr4/svr4_locore.s optional compat_svr4 \ dependency "svr4_assym.h" \ warning "COMPAT_SVR4 is broken and should be avoided" i386/svr4/svr4_machdep.c optional compat_svr4 # # isdn4bsd, needed for isic | iwic | ifpi | ifpi2 | ihfc | ifpnp | itjc # i4b/layer1/i4b_hdlc.c optional itjc i4b/layer1/i4b_hdlc.c optional ihfc i4b/layer1/i4b_l1dmux.c optional isic i4b/layer1/i4b_l1lib.c optional isic i4b/layer1/i4b_l1dmux.c optional iwic i4b/layer1/i4b_l1lib.c optional iwic i4b/layer1/i4b_l1dmux.c optional ifpi i4b/layer1/i4b_l1lib.c optional ifpi i4b/layer1/i4b_l1dmux.c optional ifpi2 i4b/layer1/i4b_l1lib.c optional ifpi2 i4b/layer1/i4b_l1dmux.c optional ihfc i4b/layer1/i4b_l1lib.c optional ihfc i4b/layer1/i4b_l1dmux.c optional ifpnp i4b/layer1/i4b_l1lib.c optional ifpnp i4b/layer1/i4b_l1dmux.c optional itjc i4b/layer1/i4b_l1lib.c optional itjc # # isdn4bsd, isic # i4b/layer1/isic/i4b_asuscom_ipac.c optional isic i4b/layer1/isic/i4b_avm_a1.c optional isic i4b/layer1/isic/i4b_bchan.c optional isic i4b/layer1/isic/i4b_ctx_s0P.c optional isic i4b/layer1/isic/i4b_drn_ngo.c optional isic i4b/layer1/isic/i4b_dynalink.c optional isic i4b/layer1/isic/i4b_elsa_qs1i.c optional isic i4b/layer1/isic/i4b_elsa_qs1p.c optional isic pci i4b/layer1/isic/i4b_elsa_pcc16.c optional isic i4b/layer1/isic/i4b_hscx.c optional isic i4b/layer1/isic/i4b_isac.c optional isic i4b/layer1/isic/i4b_isic.c optional isic i4b/layer1/isic/i4b_isic_isa.c optional isic i4b/layer1/isic/i4b_isic_pnp.c optional isic i4b/layer1/isic/i4b_itk_ix1.c optional isic i4b/layer1/isic/i4b_l1.c optional isic i4b/layer1/isic/i4b_l1fsm.c optional isic i4b/layer1/isic/i4b_siemens_isurf.c optional isic i4b/layer1/isic/i4b_sws.c optional isic i4b/layer1/isic/i4b_tel_s016.c optional isic i4b/layer1/isic/i4b_tel_s0163.c optional isic i4b/layer1/isic/i4b_tel_s08.c optional isic i4b/layer1/isic/i4b_usr_sti.c optional isic i4b/layer1/isic/i4b_diva.c optional isic # # isdn4bsd, iwic # i4b/layer1/iwic/i4b_iwic_pci.c optional iwic pci i4b/layer1/iwic/i4b_iwic_dchan.c optional iwic pci i4b/layer1/iwic/i4b_iwic_bchan.c optional iwic pci i4b/layer1/iwic/i4b_iwic_fsm.c optional iwic pci i4b/layer1/iwic/i4b_iwic_l1if.c optional iwic pci # # isdn4bsd, ifpi # i4b/layer1/ifpi/i4b_ifpi_pci.c optional ifpi pci i4b/layer1/ifpi/i4b_ifpi_isac.c optional ifpi pci i4b/layer1/ifpi/i4b_ifpi_l1.c optional ifpi pci i4b/layer1/ifpi/i4b_ifpi_l1fsm.c optional ifpi pci # # isdn4bsd, ifpi2 # i4b/layer1/ifpi2/i4b_ifpi2_pci.c optional ifpi2 pci i4b/layer1/ifpi2/i4b_ifpi2_isacsx.c optional ifpi2 pci i4b/layer1/ifpi2/i4b_ifpi2_l1.c optional ifpi2 pci i4b/layer1/ifpi2/i4b_ifpi2_l1fsm.c optional ifpi2 pci # # isdn4bsd, ifpnp # i4b/layer1/ifpnp/i4b_ifpnp_avm.c optional ifpnp i4b/layer1/ifpnp/i4b_ifpnp_isac.c optional ifpnp i4b/layer1/ifpnp/i4b_ifpnp_l1.c optional ifpnp i4b/layer1/ifpnp/i4b_ifpnp_l1fsm.c optional ifpnp # # isdn4bsd, ihfc # i4b/layer1/ihfc/i4b_ihfc_l1if.c optional ihfc i4b/layer1/ihfc/i4b_ihfc_pnp.c optional ihfc i4b/layer1/ihfc/i4b_ihfc_drv.c optional ihfc # # isdn4bsd, itjc # i4b/layer1/itjc/i4b_itjc_pci.c optional itjc i4b/layer1/itjc/i4b_itjc_isac.c optional itjc i4b/layer1/itjc/i4b_itjc_l1.c optional itjc i4b/layer1/itjc/i4b_itjc_l1fsm.c optional itjc # isa/atkbd_isa.c optional atkbd isa/atkbdc_isa.c optional atkbdc isa/fd.c optional fdc isa/psm.c optional psm isa/syscons_isa.c optional sc isa/vga_isa.c optional vga kern/imgact_aout.c optional compat_aout kern/imgact_gzip.c optional gzip libkern/divdi3.c standard libkern/moddi3.c standard libkern/qdivrem.c standard libkern/ucmpdi2.c standard libkern/udivdi3.c standard libkern/umoddi3.c standard pci/cy_pci.c optional cy pci pci/agp_intel.c optional agp pci/agp_via.c optional agp pci/agp_sis.c optional agp pci/agp_ali.c optional agp pci/agp_amd.c optional agp pci/agp_i810.c optional agp pci/agp_nvidia.c optional agp Index: head/sys/conf/files.pc98 =================================================================== --- head/sys/conf/files.pc98 (revision 123193) +++ head/sys/conf/files.pc98 (revision 123194) @@ -1,373 +1,372 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # # modified for PC-9801 # # $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. # linux_genassym.o optional compat_linux \ dependency "$S/i386/linux/linux_genassym.c" \ compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \ no-obj no-implicit-rule \ clean "linux_genassym.o" # linux_assym.h optional compat_linux \ dependency "$S/kern/genassym.sh linux_genassym.o" \ compile-with "sh $S/kern/genassym.sh linux_genassym.o > ${.TARGET}" \ no-obj no-implicit-rule before-depend \ clean "linux_assym.h" # svr4_genassym.o optional compat_svr4 \ dependency "$S/i386/svr4/svr4_genassym.c" \ compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \ no-obj no-implicit-rule \ clean "svr4_genassym.o" # svr4_assym.h optional compat_svr4 \ dependency "$S/kern/genassym.sh svr4_genassym.o" \ compile-with "sh $S/kern/genassym.sh svr4_genassym.o > ${.TARGET}" \ no-obj no-implicit-rule before-depend \ clean "svr4_assym.h" # ukbdmap.h optional ukbd_dflt_keymap \ compile-with "/usr/sbin/kbdcontrol -L ${UKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > ukbdmap.h" \ no-obj no-implicit-rule before-depend \ clean "ukbdmap.h" # trlld.o optional oltr \ dependency "$S/contrib/dev/oltr/i386-elf.trlld.o.uu" \ compile-with "uudecode < $S/contrib/dev/oltr/i386-elf.trlld.o.uu" \ no-implicit-rule # hal.o optional ath_hal \ dependency "$S/contrib/dev/ath/freebsd/i386-elf.hal.o.uu" \ compile-with "uudecode < $S/contrib/dev/ath/freebsd/i386-elf.hal.o.uu" \ no-implicit-rule # # compat/linux/linux_file.c optional compat_linux compat/linux/linux_getcwd.c optional compat_linux compat/linux/linux_ioctl.c optional compat_linux compat/linux/linux_ipc.c optional compat_linux compat/linux/linux_mib.c optional compat_linux compat/linux/linux_misc.c optional compat_linux compat/linux/linux_signal.c optional compat_linux compat/linux/linux_socket.c optional compat_linux compat/linux/linux_stats.c optional compat_linux compat/linux/linux_sysctl.c optional compat_linux compat/linux/linux_uid16.c optional compat_linux compat/linux/linux_util.c optional compat_linux compat/pecoff/imgact_pecoff.c optional pecoff_support compat/svr4/imgact_svr4.c optional compat_svr4 compat/svr4/svr4_fcntl.c optional compat_svr4 compat/svr4/svr4_filio.c optional compat_svr4 compat/svr4/svr4_ioctl.c optional compat_svr4 compat/svr4/svr4_ipc.c optional compat_svr4 compat/svr4/svr4_misc.c optional compat_svr4 compat/svr4/svr4_resource.c optional compat_svr4 compat/svr4/svr4_signal.c optional compat_svr4 compat/svr4/svr4_socket.c optional compat_svr4 compat/svr4/svr4_sockio.c optional compat_svr4 compat/svr4/svr4_stat.c optional compat_svr4 compat/svr4/svr4_stream.c optional compat_svr4 compat/svr4/svr4_syscallnames.c optional compat_svr4 compat/svr4/svr4_sysent.c optional compat_svr4 compat/svr4/svr4_sysvec.c optional compat_svr4 compat/svr4/svr4_termios.c optional compat_svr4 compat/svr4/svr4_ttold.c optional compat_svr4 contrib/dev/oltr/if_oltr.c optional oltr contrib/dev/oltr/trlldbm.c optional oltr contrib/dev/oltr/trlldhm.c optional oltr contrib/dev/oltr/trlldmac.c optional oltr bf_enc.o optional ipsec ipsec_esp \ dependency "$S/crypto/blowfish/arch/i386/bf_enc.S $S/crypto/blowfish/arch/i386/bf_enc_586.S $S/crypto/blowfish/arch/i386/bf_enc_686.S" \ compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \ no-implicit-rule crypto/des/arch/i386/des_enc.S optional ipsec ipsec_esp crypto/des/des_ecb.c optional netsmbcrypto crypto/des/arch/i386/des_enc.S optional netsmbcrypto crypto/des/des_setkey.c optional netsmbcrypto bf_enc.o optional crypto \ dependency "$S/crypto/blowfish/arch/i386/bf_enc.S $S/crypto/blowfish/arch/i386/bf_enc_586.S $S/crypto/blowfish/arch/i386/bf_enc_686.S" \ compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \ no-implicit-rule crypto/des/arch/i386/des_enc.S optional crypto crypto/des/des_ecb.c optional crypto crypto/des/des_setkey.c optional crypto dev/aic/aic_cbus.c optional aic isa dev/ar/if_ar.c optional ar dev/ar/if_ar_pci.c optional ar pci dev/ct/bshw_machdep.c optional ct dev/ct/ct.c optional ct dev/ct/ct_isa.c optional ct isa dev/dgb/dgb.c count dgb dev/ed/if_ed_cbus.c optional ed isa dev/fb/fb.c optional fb dev/fb/fb.c optional gdc dev/fb/splash.c optional splash dev/fe/if_fe_cbus.c optional fe isa dev/kbd/kbd.c optional kbd dev/kbd/kbd.c optional sc dev/kbd/kbd.c optional ukbd dev/kbd/kbd.c optional pckbd dev/lnc/if_lnc_cbus.c optional lnc isa dev/ppc/ppc_puc.c optional ppc puc pci dev/sbni/if_sbni.c optional sbni dev/sbni/if_sbni_pci.c optional sbni pci dev/snc/dp83932.c optional snc dev/snc/dp83932subr.c optional snc dev/snc/if_snc.c optional snc dev/snc/if_snc_cbus.c optional snc isa dev/snc/if_snc_pccard.c optional snc card dev/syscons/apm/apm_saver.c optional apm_saver apm dev/syscons/schistory.c optional sc dev/syscons/scmouse.c optional sc dev/syscons/scterm.c optional sc dev/syscons/scterm-dumb.c optional sc dev/syscons/scvidctl.c optional sc dev/syscons/syscons.c optional sc dev/syscons/sysmouse.c optional sc dev/uart/uart_cpu_pc98.c optional uart geom/geom_bsd.c standard geom/geom_bsd_enc.c standard geom/geom_pc98.c standard geom/geom_pc98_enc.c standard i386/bios/apm.c optional apm i386/i386/apic_vector.s optional apic i386/i386/atomic.c standard \ compile-with "${CC} -c ${CFLAGS} ${DEFINED_PROF:S/^$/-fomit-frame-pointer/} ${.IMPSRC}" i386/i386/autoconf.c standard i386/i386/bios.c standard i386/i386/bioscall.s standard i386/i386/busdma_machdep.c standard i386/i386/critical.c standard i386/i386/db_disasm.c optional ddb i386/i386/db_interface.c optional ddb i386/i386/db_trace.c optional ddb i386/i386/dump_machdep.c standard i386/i386/elf_machdep.c standard i386/i386/exception.s standard i386/i386/i386-gdbstub.c optional ddb i386/i386/i686_mem.c standard i386/i386/identcpu.c standard i386/i386/in_cksum.c optional inet i386/i386/initcpu.c standard i386/i386/intr_machdep.c standard i386/i386/io_apic.c optional apic i386/i386/k6_mem.c standard i386/i386/legacy.c standard i386/i386/local_apic.c optional apic i386/i386/locore.s standard no-obj i386/i386/mem.c standard i386/i386/mp_clock.c optional smp i386/i386/mp_machdep.c optional smp i386/i386/mpboot.s optional smp i386/i386/mptable.c optional apic i386/i386/mptable_pci.c optional apic pci i386/i386/nexus.c standard i386/i386/perfmon.c optional perfmon i386/i386/perfmon.c optional perfmon profiling-routine i386/i386/pmap.c standard i386/i386/support.s standard i386/i386/swtch.s standard i386/i386/sys_machdep.c standard i386/i386/trap.c standard i386/i386/tsc.c standard i386/i386/vm86.c standard i386/i386/vm_machdep.c standard i386/ibcs2/ibcs2_errno.c optional ibcs2 i386/ibcs2/ibcs2_fcntl.c optional ibcs2 i386/ibcs2/ibcs2_ioctl.c optional ibcs2 i386/ibcs2/ibcs2_ipc.c optional ibcs2 i386/ibcs2/ibcs2_isc.c optional ibcs2 i386/ibcs2/ibcs2_isc_sysent.c optional ibcs2 i386/ibcs2/ibcs2_misc.c optional ibcs2 i386/ibcs2/ibcs2_msg.c optional ibcs2 i386/ibcs2/ibcs2_other.c optional ibcs2 i386/ibcs2/ibcs2_signal.c optional ibcs2 i386/ibcs2/ibcs2_socksys.c optional ibcs2 i386/ibcs2/ibcs2_stat.c optional ibcs2 i386/ibcs2/ibcs2_sysent.c optional ibcs2 i386/ibcs2/ibcs2_sysi86.c optional ibcs2 i386/ibcs2/ibcs2_sysvec.c optional ibcs2 i386/ibcs2/ibcs2_util.c optional ibcs2 i386/ibcs2/ibcs2_xenix.c optional ibcs2 i386/ibcs2/ibcs2_xenix_sysent.c optional ibcs2 i386/ibcs2/imgact_coff.c optional ibcs2 i386/isa/atpic.c standard i386/isa/atpic_vector.s standard i386/isa/bs/bs.c optional bs i386/isa/bs/bsfunc.c optional bs i386/isa/bs/bshw.c optional bs i386/isa/bs/bsif.c count bs i386/isa/ctx.c optional ctx i386/isa/cy.c count cy i386/isa/elink.c optional ep i386/isa/elink.c optional ie i386/isa/gpib.c optional gp i386/isa/if_el.c count el i386/isa/if_le.c count le i386/isa/if_rdp.c count rdp i386/isa/isa.c optional isa i386/isa/isa_compat.c optional isa compat_oldisa \ warning "Old ISA driver compatibility shims present." i386/isa/istallion.c optional stli nowerror -i386/isa/loran.c optional loran i386/isa/npx.c optional npx i386/isa/pmtimer.c optional pmtimer i386/isa/prof_machdep.c optional profiling-routine i386/isa/spkr.c optional speaker i386/isa/spigot.c count spigot i386/isa/stallion.c optional stl nowerror i386/isa/wt.c count wt i386/linux/imgact_linux.c optional compat_linux i386/linux/linux_dummy.c optional compat_linux i386/linux/linux_locore.s optional compat_linux \ dependency "linux_assym.h" i386/linux/linux_machdep.c optional compat_linux i386/linux/linux_ptrace.c optional compat_linux i386/linux/linux_sysent.c optional compat_linux i386/linux/linux_sysvec.c optional compat_linux i386/pci/pci_cfgreg.c optional pci i386/pci/pci_bus.c optional pci i386/svr4/svr4_locore.s optional compat_svr4 \ dependency "svr4_assym.h" \ warning "COMPAT_SVR4 is broken and should be avoided" i386/svr4/svr4_machdep.c optional compat_svr4 # # isdn4bsd, needed for isic | iwic | ifpi | ifpi2 | ihfc | ifpnp | itjc # i4b/layer1/i4b_hdlc.c optional itjc i4b/layer1/i4b_hdlc.c optional ihfc i4b/layer1/i4b_l1dmux.c optional isic i4b/layer1/i4b_l1lib.c optional isic i4b/layer1/i4b_l1dmux.c optional iwic i4b/layer1/i4b_l1lib.c optional iwic i4b/layer1/i4b_l1dmux.c optional ifpi i4b/layer1/i4b_l1lib.c optional ifpi i4b/layer1/i4b_l1dmux.c optional ifpi2 i4b/layer1/i4b_l1lib.c optional ifpi2 i4b/layer1/i4b_l1dmux.c optional ihfc i4b/layer1/i4b_l1lib.c optional ihfc i4b/layer1/i4b_l1dmux.c optional ifpnp i4b/layer1/i4b_l1lib.c optional ifpnp i4b/layer1/i4b_l1dmux.c optional itjc i4b/layer1/i4b_l1lib.c optional itjc # # isdn4bsd, isic # i4b/layer1/isic/i4b_asuscom_ipac.c optional isic i4b/layer1/isic/i4b_avm_a1.c optional isic i4b/layer1/isic/i4b_bchan.c optional isic i4b/layer1/isic/i4b_ctx_s0P.c optional isic i4b/layer1/isic/i4b_drn_ngo.c optional isic i4b/layer1/isic/i4b_dynalink.c optional isic i4b/layer1/isic/i4b_elsa_qs1i.c optional isic i4b/layer1/isic/i4b_elsa_qs1p.c optional isic pci i4b/layer1/isic/i4b_elsa_pcc16.c optional isic i4b/layer1/isic/i4b_hscx.c optional isic i4b/layer1/isic/i4b_isac.c optional isic i4b/layer1/isic/i4b_isic.c optional isic i4b/layer1/isic/i4b_isic_isa.c optional isic i4b/layer1/isic/i4b_isic_pnp.c optional isic i4b/layer1/isic/i4b_itk_ix1.c optional isic i4b/layer1/isic/i4b_l1.c optional isic i4b/layer1/isic/i4b_l1fsm.c optional isic i4b/layer1/isic/i4b_siemens_isurf.c optional isic i4b/layer1/isic/i4b_sws.c optional isic i4b/layer1/isic/i4b_tel_s016.c optional isic i4b/layer1/isic/i4b_tel_s0163.c optional isic i4b/layer1/isic/i4b_tel_s08.c optional isic i4b/layer1/isic/i4b_usr_sti.c optional isic i4b/layer1/isic/i4b_diva.c optional isic # # isdn4bsd, iwic # i4b/layer1/iwic/i4b_iwic_pci.c optional iwic pci i4b/layer1/iwic/i4b_iwic_dchan.c optional iwic pci i4b/layer1/iwic/i4b_iwic_bchan.c optional iwic pci i4b/layer1/iwic/i4b_iwic_fsm.c optional iwic pci i4b/layer1/iwic/i4b_iwic_l1if.c optional iwic pci # # isdn4bsd, ifpi # i4b/layer1/ifpi/i4b_ifpi_pci.c optional ifpi pci i4b/layer1/ifpi/i4b_ifpi_isac.c optional ifpi pci i4b/layer1/ifpi/i4b_ifpi_l1.c optional ifpi pci i4b/layer1/ifpi/i4b_ifpi_l1fsm.c optional ifpi pci # # isdn4bsd, ifpi2 # i4b/layer1/ifpi2/i4b_ifpi2_pci.c optional ifpi2 pci i4b/layer1/ifpi2/i4b_ifpi2_isacsx.c optional ifpi2 pci i4b/layer1/ifpi2/i4b_ifpi2_l1.c optional ifpi2 pci i4b/layer1/ifpi2/i4b_ifpi2_l1fsm.c optional ifpi2 pci # # isdn4bsd, ifpnp # i4b/layer1/ifpnp/i4b_ifpnp_avm.c optional ifpnp i4b/layer1/ifpnp/i4b_ifpnp_isac.c optional ifpnp i4b/layer1/ifpnp/i4b_ifpnp_l1.c optional ifpnp i4b/layer1/ifpnp/i4b_ifpnp_l1fsm.c optional ifpnp # # isdn4bsd, ihfc # i4b/layer1/ihfc/i4b_ihfc_l1if.c optional ihfc i4b/layer1/ihfc/i4b_ihfc_pnp.c optional ihfc i4b/layer1/ihfc/i4b_ihfc_drv.c optional ihfc # # isdn4bsd, itjc # i4b/layer1/itjc/i4b_itjc_pci.c optional itjc i4b/layer1/itjc/i4b_itjc_isac.c optional itjc i4b/layer1/itjc/i4b_itjc_l1.c optional itjc i4b/layer1/itjc/i4b_itjc_l1fsm.c optional itjc # kern/imgact_aout.c optional compat_aout kern/imgact_gzip.c optional gzip libkern/divdi3.c standard libkern/moddi3.c standard libkern/qdivrem.c standard libkern/ucmpdi2.c standard libkern/udivdi3.c standard libkern/umoddi3.c standard pc98/apm/apm_bioscall.s optional apm pc98/i386/busio.s standard pc98/i386/busiosubr.c standard pc98/i386/machdep.c standard pc98/pc98/atapi.c optional wdc pc98/pc98/canbepm.c optional canbepm pc98/pc98/canbus.c optional canbus pc98/pc98/canbus_if.m optional canbus pc98/pc98/clock.c standard pc98/pc98/fd.c optional fdc pc98/pc98/isa_dma.c optional isa pc98/pc98/mse.c optional mse pc98/pc98/nmi.c standard pc98/pc98/olpt.c optional olpt pc98/pc98/pc98gdc.c optional gdc pc98/pc98/pc98kbd.c optional pckbd pc98/pc98/pc98_machdep.c standard pc98/pc98/pmc.c optional pmc pc98/pc98/ppc.c optional ppc pc98/pc98/scgdcrndr.c optional sc gdc pc98/pc98/scterm-sck.c optional sc pc98/pc98/scvtbpc98.c optional sc pc98/pc98/sio.c optional sio pc98/pc98/sio_cbus.c optional sio isa pc98/pc98/syscons_pc98.c optional sc pc98/pc98/wd.c count wdc pc98/pc98/wd_cd.c count wcd wdc pccard/mecia.c optional mecia card pci/cy_pci.c optional cy pci pci/agp_intel.c optional agp pci/agp_via.c optional agp pci/agp_sis.c optional agp pci/agp_ali.c optional agp pci/agp_amd.c optional agp pci/agp_i810.c optional agp pci/agp_nvidia.c optional agp Index: head/sys/i386/conf/NOTES =================================================================== --- head/sys/i386/conf/NOTES (revision 123193) +++ head/sys/i386/conf/NOTES (revision 123194) @@ -1,1115 +1,1111 @@ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # # $FreeBSD$ # # # This directive is mandatory; it defines the architecture to be # configured for; in this case, the 386 family based IBM-PC and # compatibles. # machine i386 # # We want LINT to cover profiling as well profile 2 ##################################################################### # SMP OPTIONS: # # The apic device enables the use of the I/O APIC for interrupt delivery. # The apic device can be used in both UP and SMP kernels, but is required # for SMP kernels. Thus, the apic device is not strictly an SMP option, # but it is a prerequisite for SMP. # # Notes: # # Be sure to disable 'cpu I386_CPU' for SMP kernels. # # By default, mixed mode is used to route IRQ0 from the AT timer via # the 8259A master PIC through the ExtINT pin on the first I/O APIC. # This can be disabled via the NO_MIXED_MODE option. In that case, # IRQ0 will be routed via an intpin on the first I/O APIC. Not all # motherboards hook IRQ0 up to the first I/O APIC even though their # MP table or MADT may claim to do so. That is why mixed mode is # enabled by default. # # HTT CPUs should only be used if they are enabled in the BIOS. For # the ACPI case, ACPI only correctly tells us about any HTT CPUs if # they are enabled. However, most HTT systems do not list HTT CPUs # in the MP Table if they are enabled, thus we guess at the HTT CPUs # for the MP Table case. However, we shouldn't try to guess and use # these CPUs if HTTT is disabled. Thus, HTT guessing is only enabled # for the MP Table if the user explicitly asks for it via the # MPTABLE_FORCE_HTT option. Do NOT use this option if you have HTT # disabled in your BIOS. # # Mandatory: device apic # I/O apic # Optional: options MPTABLE_FORCE_HTT # Enable HTT CPUs with the MP Table options NO_MIXED_MODE # Disable use of mixed mode ##################################################################### # CPU OPTIONS # # You must specify at least one CPU (the one you intend to run on); # deleting the specification for CPUs you don't need to use may make # parts of the system run faster. # I386_CPU is mutually exclusive with the other CPU types. # #cpu I386_CPU cpu I486_CPU cpu I586_CPU # aka Pentium(tm) cpu I686_CPU # aka Pentium Pro(tm) # # Options for CPU features. # # CPU_ATHLON_SSE_HACK tries to enable SSE instructions when the BIOS has # forgotten to enable them. # # CPU_BLUELIGHTNING_FPU_OP_CACHE enables FPU operand cache on IBM # BlueLightning CPU. It works only with Cyrix FPU, and this option # should not be used with Intel FPU. # # CPU_BLUELIGHTNING_3X enables triple-clock mode on IBM Blue Lightning # CPU if CPU supports it. The default is double-clock mode on # BlueLightning CPU box. # # CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1). # # CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct # mapped mode. Default is 2-way set associative mode. # # CPU_CYRIX_NO_LOCK enables weak locking for the entire address space # of Cyrix 6x86 and 6x86MX CPUs by setting the NO_LOCK bit of CCR1. # Otherwise, the NO_LOCK bit of CCR1 is cleared. (NOTE 3) # # CPU_DISABLE_5X86_LSSER disables load store serialize (i.e. enables # reorder). This option should not be used if you use memory mapped # I/O device(s). # # CPU_ELAN enables support for AMDs ElanSC520 CPU. # CPU_ELAN_XTAL sets the clock crystal frequency in Hz # CPU_ELAN_PPS enables precision timestamp code. # # CPU_SOEKRIS enables support www.soekris.com hardware. # # CPU_ENABLE_SSE enables SSE/MMX2 instructions support. This is default # on I686_CPU and above. # CPU_DISABLE_SSE explicitly prevent I686_CPU from turning on SSE. # # CPU_FASTER_5X86_FPU enables faster FPU exception handler. # # CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products # for i386 machines. # # CPU_IORT defines I/O clock delay time (NOTE 1). Default values of # I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively # (no clock delay). # # CPU_L2_LATENCY specifed the L2 cache latency value. This option is used # only when CPU_PPRO2CELERON is defined and Mendocino Celeron is detected. # The default value is 5. # # CPU_LOOP_EN prevents flushing the prefetch buffer if the destination # of a jump is already present in the prefetch buffer on Cyrix 5x86(NOTE # 1). # # CPU_PPRO2CELERON enables L2 cache of Mendocino Celeron CPUs. This option # is useful when you use Socket 8 to Socket 370 converter, because most Pentium # Pro BIOSs do not enable L2 cache of Mendocino Celeron CPUs. # # CPU_RSTK_EN enables return stack on Cyrix 5x86 (NOTE 1). # # CPU_SUSP_HLT enables suspend on HALT. If this option is set, CPU # enters suspend mode following execution of HALT instruction. # # CPU_UPGRADE_HW_CACHE eliminates unneeded cache flush instruction(s). # # CPU_WT_ALLOC enables write allocation on Cyrix 6x86/6x86MX and AMD # K5/K6/K6-2 cpus. # # CYRIX_CACHE_WORKS enables CPU cache on Cyrix 486 CPUs with cache # flush at hold state. # # CYRIX_CACHE_REALLY_WORKS enables (1) CPU cache on Cyrix 486 CPUs # without cache flush at hold state, and (2) write-back CPU cache on # Cyrix 6x86 whose revision < 2.7 (NOTE 2). # # NO_F00F_HACK disables the hack that prevents Pentiums (and ONLY # Pentiums) from locking up when a LOCK CMPXCHG8B instruction is # executed. This option is only needed if I586_CPU is also defined, # and should be included for any non-Pentium CPU that defines it. # # NO_MEMORY_HOLE is an optimisation for systems with AMD K6 processors # which indicates that the 15-16MB range is *definitely* not being # occupied by an ISA memory hole. # # CPU_DISABLE_CMPXCHG disables the CMPXCHG instruction on > i386 IA32 # machines. VmWare seems to emulate this instruction poorly, causing # the guest OS to run very slowly. Enabling this with a SMP kernel # will cause the kernel to be unusable. # # NOTE 1: The options, CPU_BTB_EN, CPU_LOOP_EN, CPU_IORT, # CPU_LOOP_EN and CPU_RSTK_EN should not be used because of CPU bugs. # These options may crash your system. # # NOTE 2: If CYRIX_CACHE_REALLY_WORKS is not set, CPU cache is enabled # in write-through mode when revision < 2.7. If revision of Cyrix # 6x86 >= 2.7, CPU cache is always enabled in write-back mode. # # NOTE 3: This option may cause failures for software that requires # locked cycles in order to operate correctly. # options CPU_ATHLON_SSE_HACK options CPU_BLUELIGHTNING_FPU_OP_CACHE options CPU_BLUELIGHTNING_3X options CPU_BTB_EN options CPU_DIRECT_MAPPED_CACHE options CPU_DISABLE_5X86_LSSER options CPU_ELAN options CPU_SOEKRIS options CPU_ELAN_XTAL=32768000 options CPU_ELAN_PPS options CPU_ENABLE_SSE #options CPU_DISABLE_SSE options CPU_FASTER_5X86_FPU options CPU_I486_ON_386 options CPU_IORT options CPU_L2_LATENCY=5 options CPU_LOOP_EN options CPU_PPRO2CELERON options CPU_RSTK_EN options CPU_SUSP_HLT options CPU_UPGRADE_HW_CACHE options CPU_WT_ALLOC options CYRIX_CACHE_WORKS options CYRIX_CACHE_REALLY_WORKS #options NO_F00F_HACK options CPU_DISABLE_CMPXCHG # Debug options options NPX_DEBUG # enable npx debugging (FPU/math emu) #new math emulator # # PERFMON causes the driver for Pentium/Pentium Pro performance counters # to be compiled. See perfmon(4) for more information. # options PERFMON ##################################################################### # NETWORKING OPTIONS # # DEVICE_POLLING adds support for mixed interrupt-polling handling # of network device drivers, which has significant benefits in terms # of robustness to overloads and responsivity, as well as permitting # accurate scheduling of the CPU time between kernel network processing # and other activities. The drawback is a moderate (up to 1/HZ seconds) # potential increase in response times. # It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING # to achieve smoother behaviour. # Additionally, you can enable/disable polling at runtime with the # sysctl variable kern.polling.enable (defaults off), and select # the CPU fraction reserved to userland with the sysctl variable # kern.polling.user_frac (default 50, range 0..100). # # Only the "dc" "fxp" and "sis" devices support this mode of operation at # the time of this writing. options DEVICE_POLLING ##################################################################### # CLOCK OPTIONS # The following options are used for debugging clock behavior only, and # should not be used for production systems. # # CLK_CALIBRATION_LOOP will run the clock calibration loop at startup # until the user presses a key. options CLK_CALIBRATION_LOOP # The following two options measure the frequency of the corresponding # clock relative to the RTC (onboard mc146818a). options CLK_USE_I8254_CALIBRATION options CLK_USE_TSC_CALIBRATION ##################################################################### # MISCELLANEOUS DEVICES AND OPTIONS device speaker #Play IBM BASIC-style noises out your speaker hint.speaker.0.at="isa" hint.speaker.0.port="0x61" device gzip #Exec gzipped a.out's. REQUIRES COMPAT_AOUT! device apm_saver # Requires APM ##################################################################### # HARDWARE BUS CONFIGURATION # # ISA bus # device isa # # Options for `isa': # # AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A # interrupt controller. This saves about 0.7-1.25 usec for each interrupt. # This option breaks suspend/resume on some portables. # # AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A # interrupt controller. This saves about 0.7-1.25 usec for each interrupt. # Automatic EOI is documented not to work for for the slave with the # original i8259A, but it works for some clones and some integrated # versions. # # MAXMEM specifies the amount of RAM on the machine; if this is not # specified, FreeBSD will first read the amount of memory from the CMOS # RAM, so the amount of memory will initially be limited to 64MB or 16MB # depending on the BIOS. If the BIOS reports 64MB, a memory probe will # then attempt to detect the installed amount of RAM. If this probe # fails to detect >64MB RAM you will have to use the MAXMEM option. # The amount is in kilobytes, so for a machine with 128MB of RAM, it would # be 131072 (128 * 1024). # # BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to # reset the CPU for reboot. This is needed on some systems with broken # keyboard controllers. options COMPAT_OLDISA #Use ISA shims and glue for old drivers options AUTO_EOI_1 #options AUTO_EOI_2 options MAXMEM=(128*1024) #options BROKEN_KEYBOARD_RESET # # EISA bus # # The EISA bus device is `eisa'. It provides auto-detection and # configuration support for all devices on the EISA bus. device eisa # By default, only 10 EISA slots are probed, since the slot numbers # above clash with the configuration address space of the PCI subsystem, # and the EISA probe is not very smart about this. This is sufficient # for most machines, but in particular the HP NetServer LC series comes # with an onboard AIC7770 dual-channel SCSI controller on EISA slot #11, # thus you need to bump this figure to 12 for them. options EISA_SLOTS=12 # # MCA bus: # # The MCA bus device is `mca'. It provides auto-detection and # configuration support for all devices on the MCA bus. # No hints are required for MCA. device mca # # PCI bus & PCI options: # device pci # # AGP GART support device agp ##################################################################### # HARDWARE DEVICE CONFIGURATION # # Mandatory devices: # # To include support for VGA VESA video modes options VESA # Turn on extra debugging checks and output for VESA support. options VESA_DEBUG # The pcvt console driver (vt220 compatible). device vt hint.vt.0.at="isa" options XSERVER # support for running an X server on vt options FAT_CURSOR # start with block cursor # This PCVT option is for keyboards such as those used on really old ThinkPads options PCVT_SCANSET=2 # Other PCVT options are documented in pcvt(4). options PCVT_24LINESDEF options PCVT_CTRL_ALT_DEL options PCVT_META_ESC options PCVT_NSCREENS=9 options PCVT_PRETTYSCRNS options PCVT_SCREENSAVER options PCVT_USEKBDSEC options PCVT_VT220KEYB options PCVT_GREENSAVER # # The Numeric Processing eXtension driver. In addition to this, you # may configure a math emulator (see above). If your machine has a # hardware FPU and the kernel configuration includes the npx device # *and* a math emulator compiled into the kernel, the hardware FPU # will be used, unless it is found to be broken or unless "flags" to # npx0 includes "0x08", which requests preference for the emulator. device npx hint.npx.0.flags="0x0" hint.npx.0.irq="13" # # `flags' for npx0: # 0x01 don't use the npx registers to optimize bcopy. # 0x02 don't use the npx registers to optimize bzero. # 0x04 don't use the npx registers to optimize copyin or copyout. # 0x08 use emulator even if hardware FPU is available. # The npx registers are normally used to optimize copying and zeroing when # all of the following conditions are satisfied: # I586_CPU is an option # the cpu is an i586 (perhaps not a Pentium) # the probe for npx0 succeeds # INT 16 exception handling works. # Then copying and zeroing using the npx registers is normally 30-100% faster. # The flags can be used to control cases where it doesn't work or is slower. # Setting them at boot time using userconfig works right (the optimizations # are not used until later in the bootstrap when npx0 is attached). # Flag 0x08 automatically disables the i586 optimized routines. # # # Optional devices: # # 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create # the /dev/3dfx0 device to work with glide implementations. This should get # linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as # the tdfx DRI module from XFree86 and is completely unrelated. # # To enable Linuxulator support, one must also include COMPAT_LINUX in the # config as well, or you will not have the dependencies. The other option # is to load both as modules. device tdfx # Enable 3Dfx Voodoo support options TDFX_LINUX # Enable Linuxulator support # # ACPI support using the Intel ACPI Component Architecture reference # implementation. # # ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer # kernel environment variables to select initial debugging levels for the # Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER # defined when it is built). # # ACPI_MAX_THREADS sets the number of task threads started. # # ACPI_NO_SEMAPHORES makes the AcpiOs*Semaphore routines a no-op. # # ACPICA_PEDANTIC enables strict checking of AML. Our default is to # relax these checks to allow code generated by the Microsoft compiler # to still execute. # # Note that building ACPI into the kernel is deprecated; the module is # normally loaded automatically by the loader. # device acpi options ACPI_DEBUG options ACPI_MAX_THREADS=1 #!options ACPI_NO_SEMAPHORES #!options ACPICA_PEDANTIC # DRM options: # mgadrm: AGP Matrox G200, G400, G450, G550 # r128drm: ATI Rage 128 # radeondrm: ATI Radeon up to 9000/9100 # sisdrm: SiS 300/305,540,630 # tdfxdrm: 3dfx Voodoo 3/4/5 and Banshee # DRM_DEBUG: include debug printfs, very slow # # mga requires AGP in the kernel, and it is recommended # for AGP r128 and radeon cards. device mgadrm device "r128drm" device radeondrm device sisdrm device tdfxdrm options DRM_DEBUG # M-systems DiskOnchip products see src/sys/contrib/dev/fla/README device fla hint.fla.0.at="isa" # # mse: Logitech and ATI InPort bus mouse ports device mse hint.mse.0.at="isa" hint.mse.0.port="0x23c" hint.mse.0.irq="5" # # Network interfaces: # # ar: Arnet SYNC/570i hdlc sync 2/4 port V.35/X.21 serial driver # (requires sppp) # ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan) # cx: Cronyx/Sigma multiport sync/async (with Cisco or PPP framing) # ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503 # HP PC Lan+, various PC Card devices (refer to etc/defauls/pccard.conf) # (requires miibus) # el: 3Com 3C501 (slow!) # ie: AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210; # Intel EtherExpress # le: Digital Equipment EtherWorks 2 and EtherWorks 3 (DEPCA, DE100, # DE101, DE200, DE201, DE202, DE203, DE204, DE205, DE422) # lnc: Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 and # Am79C960) # oltr: Olicom ISA token-ring adapters OC-3115, OC-3117, OC-3118 and OC-3133 # (no hints needed). # Olicom PCI token-ring adapters OC-3136, OC-3137, OC-3139, OC-3140, # OC-3141, OC-3540, OC-3250 # rdp: RealTek RTL 8002-based pocket ethernet adapters # sbni: Granch SBNI12-xx ISA and PCI adapters # sr: RISCom/N2 hdlc sync 1/2 port V.35/X.21 serial driver (requires sppp) # wl: Lucent Wavelan (ISA card only). # Order for ISA/EISA devices is important here device ar hint.ar.0.at="isa" hint.ar.0.port="0x300" hint.ar.0.irq="10" hint.ar.0.maddr="0xd0000" device cx hint.cx.0.at="isa" hint.cx.0.port="0x240" hint.cx.0.irq="15" hint.cx.0.drq="7" device ed #options ED_NO_MIIBUS # Disable ed miibus support hint.ed.0.at="isa" hint.ed.0.port="0x280" hint.ed.0.irq="5" hint.ed.0.maddr="0xd8000" device el 1 hint.el.0.at="isa" hint.el.0.port="0x300" hint.el.0.irq="9" device ie # Hints only required for Starlan hint.ie.2.at="isa" hint.ie.2.port="0x300" hint.ie.2.irq="5" hint.ie.2.maddr="0xd0000" device le 1 hint.le.0.at="isa" hint.le.0.port="0x300" hint.le.0.irq="5" hint.le.0.maddr="0xd0000" device lnc hint.lnc.0.at="isa" hint.lnc.0.port="0x280" hint.lnc.0.irq="10" hint.lnc.0.drq="0" device rdp 1 hint.rdp.0.at="isa" hint.rdp.0.port="0x378" hint.rdp.0.irq="7" hint.rdp.0.flags="2" device sbni hint.sbni.0.at="isa" hint.sbni.0.port="0x210" hint.sbni.0.irq="0xefdead" hint.sbni.0.flags="0" device sr hint.sr.0.at="isa" hint.sr.0.port="0x300" hint.sr.0.irq="5" hint.sr.0.maddr="0xd0000" device oltr hint.oltr.0.at="isa" device wl hint.wl.0.at="isa" hint.wl.0.port="0x300" options WLCACHE # enables the signal-strength cache options WLDEBUG # enables verbose debugging output device ath device ath_hal # Atheros HAL (includes binary component) #device wlan # 802.11 layer # # ATA raid adapters # device pst # # SCSI host adapters: # # ncv: NCR 53C500 based SCSI host adapters. # nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters. # stg: TMC 18C30, 18C50 based SCSI host adapters. device ncv device nsp device stg hint.stg.0.at="isa" hint.stg.0.port="0x140" hint.stg.0.port="11" # # Adaptec FSA RAID controllers, including integrated DELL controllers, # the Dell PERC 2/QC and the HP NetRAID-4M device aac device aacp # SCSI Passthrough interface (optional, CAM required) # # IBM (now Adaptec) ServeRAID controllers device ips # # SafeNet crypto driver: can be moved to the MI NOTES as soon as # it's tested on a big-endian machine # device safe # SafeNet 1141 options SAFE_DEBUG # enable debugging support: hw.safe.debug options SAFE_RNDTEST # enable rndtest support ##################################################################### # # Miscellaneous hardware: # # wt: Wangtek and Archive QIC-02/QIC-36 tape drives # ctx: Cortex-I frame grabber # apm: Laptop Advanced Power Management (experimental) # pmtimer: Timer device driver for power management events (APM or ACPI) # spigot: The Creative Labs Video Spigot video-acquisition board # dgb: Digiboard PC/Xi and PC/Xe series driver (ALPHA QUALITY!) # digi: Digiboard driver # gp: National Instruments AT-GPIB and AT-GPIB/TNT board, PCMCIA-GPIB # asc: GI1904-based hand scanners, e.g. the Trust Amiscan Grey # gsc: Genius GS-4500 hand scanner. # spic: Sony Programmable I/O controller (VAIO notebooks) # stl: Stallion EasyIO and EasyConnection 8/32 (cd1400 based) # stli: Stallion EasyConnection 8/64, ONboard, Brumby (intelligent) # Notes on APM # The flags takes the following meaning for apm0: # 0x0020 Statclock is broken. # If apm is omitted, some systems require sysctl kern.timecounter.method=1 # for correct timekeeping. # Notes on the spigot: # The video spigot is at 0xad6. This port address can not be changed. # The irq values may only be 10, 11, or 15 # I/O memory is an 8kb region. Possible values are: # 0a0000, 0a2000, ..., 0fffff, f00000, f02000, ..., ffffff # The start address must be on an even boundary. # Add the following option if you want to allow non-root users to be able # to access the spigot. This option is not secure because it allows users # direct access to the I/O page. # options SPIGOT_UNSECURE # Notes on the Specialix SI/XIO driver: # The host card is memory, not IO mapped. # The Rev 1 host cards use a 64K chunk, on a 32K boundary. # The Rev 2 host cards use a 32K chunk, on a 32K boundary. # The cards can use an IRQ of 11, 12 or 15. # Notes on the Sony Programmable I/O controller # This is a temporary driver that should someday be replaced by something # that hooks into the ACPI layer. The device is hooked to the PIIX4's # General Device 10 decoder, which means you have to fiddle with PCI # registers to map it in, even though it is otherwise treated here as # an ISA device. At the moment, the driver polls, although the device # is capable of generating interrupts. It largely undocumented. # The port location in the hint is where you WANT the device to be # mapped. 0x10a0 seems to be traditional. At the moment the jogdial # is the only thing truly supported, but aparently a fair percentage # of the Vaio extra features are controlled by this device. # Notes on the Stallion stl and stli drivers: # See src/i386/isa/README.stl for complete instructions. # This is version 0.0.5alpha, unsupported by Stallion. # The stl driver has a secondary IO port hard coded at 0x280. You need # to change src/i386/isa/stallion.c if you reconfigure this on the boards. # The "flags" and "msize" settings on the stli driver depend on the board: # EasyConnection 8/64 ISA: flags 23 msize 0x1000 # EasyConnection 8/64 EISA: flags 24 msize 0x10000 # EasyConnection 8/64 MCA: flags 25 msize 0x1000 # ONboard ISA: flags 4 msize 0x10000 # ONboard EISA: flags 7 msize 0x10000 # ONboard MCA: flags 3 msize 0x10000 # Brumby: flags 2 msize 0x4000 # Stallion: flags 1 msize 0x10000 # Notes on the Digiboard PC/Xi and PC/Xe series driver # # The NDGBPORTS option specifies the number of ports controlled by the # dgb(4) driver. The default value is 16 ports per device. # # The following flag values have special meanings in dgb: # 0x01 - alternate layout of pins # 0x02 - use the windowed PC/Xe in 64K mode device wt 1 hint.wt.0.at="isa" hint.wt.0.port="0x300" hint.wt.0.irq="5" hint.wt.0.drq="1" device ctx hint.ctx.0.at="isa" hint.ctx.0.port="0x230" hint.ctx.0.maddr="0xd0000" device spigot 1 hint.spigot.0.at="isa" hint.spigot.0.port="0xad6" hint.spigot.0.irq="15" hint.spigot.0.maddr="0xee000" device apm hint.apm.0.flags="0x20" device pmtimer # Adjust system timer at wakeup time device gp hint.gp.0.at="isa" hint.gp.0.port="0x2c0" device gsc 1 hint.gsc.0.at="isa" hint.gsc.0.port="0x270" hint.gsc.0.drq="3" device dgb 1 options NDGBPORTS=17 hint.dgb.0.at="isa" hint.dgb.0.port="0x220" hint.dgb.0.maddr="0xfc000" device digi hint.digi.0.at="isa" hint.digi.0.port="0x104" hint.digi.0.maddr="0xd0000" # BIOS & FEP/OS components of device digi. device digi_CX device digi_CX_PCI device digi_EPCX device digi_EPCX_PCI device digi_Xe device digi_Xem device digi_Xr device asc 1 hint.asc.0.at="isa" hint.asc.0.port="0x3EB" hint.asc.0.drq="3" hint.asc.0.irq="10" device spic hint.spic.0.at="isa" hint.spic.0.port="0x10a0" device stl hint.stl.0.at="isa" hint.stl.0.port="0x2a0" hint.stl.0.irq="10" device stli hint.stli.0.at="isa" hint.stli.0.port="0x2a0" hint.stli.0.maddr="0xcc000" hint.stli.0.flags="23" hint.stli.0.msize="0x1000" -# You are unlikely to have the hardware for loran -device loran -hint.loran.0.at="isa" -hint.loran.0.irq="5" # HOT1 Xilinx 6200 card (http://www.vcc.com/) device xrpu # # Laptop/Notebook options: # # See also: # apm under `Miscellaneous hardware' # above. # For older notebooks that signal a powerfail condition (external # power supply dropped, or battery state low) by issuing an NMI: options POWERFAIL_NMI # make it beep instead of panicing # # I2C Bus # # Philips i2c bus support is provided by the `iicbus' device. # # Supported interfaces: # pcf Philips PCF8584 ISA-bus controller # device pcf hint.pcf.0.at="isa" hint.pcf.0.port="0x320" hint.pcf.0.irq="5" #--------------------------------------------------------------------------- # ISDN4BSD # # See /usr/share/examples/isdn/ROADMAP for an introduction to isdn4bsd. # # i4b passive ISDN cards support contains the following hardware drivers: # # isic - Siemens/Infineon ISDN ISAC/HSCX/IPAC chipset driver # iwic - Winbond W6692 PCI bus ISDN S/T interface controller # ifpi - AVM Fritz!Card PCI driver # ifpi2 - AVM Fritz!Card PCI version 2 driver # ihfc - Cologne Chip HFC ISA/ISA-PnP chipset driver # ifpnp - AVM Fritz!Card PnP driver # itjc - Siemens ISAC / TJNet Tiger300/320 chipset # # i4b active ISDN cards support contains the following hardware drivers: # # iavc - AVM B1 PCI, AVM B1 ISA, AVM T1 # # Note that the ``options'' (if given) and ``device'' lines must BOTH # be uncommented to enable support for a given card ! # # In addition to a hardware driver (and probably an option) the mandatory # ISDN protocol stack devices and the mandatory support device must be # enabled as well as one or more devices from the optional devices section. # #--------------------------------------------------------------------------- # isic driver (Siemens/Infineon chipsets) # device isic # # ISA bus non-PnP Cards: # ---------------------- # # Teles S0/8 or Niccy 1008 options TEL_S0_8 hint.isic.0.at="isa" hint.isic.0.maddr="0xd0000" hint.isic.0.irq="5" hint.isic.0.flags="1" # # Teles S0/16 or Creatix ISDN-S0 or Niccy 1016 options TEL_S0_16 hint.isic.0.at="isa" hint.isic.0.port="0xd80" hint.isic.0.maddr="0xd0000" hint.isic.0.irq="5" hint.isic.0.flags="2" # # Teles S0/16.3 options TEL_S0_16_3 hint.isic.0.at="isa" hint.isic.0.port="0xd80" hint.isic.0.irq="5" hint.isic.0.flags="3" # # AVM A1 or AVM Fritz!Card options AVM_A1 hint.isic.0.at="isa" hint.isic.0.port="0x340" hint.isic.0.irq="5" hint.isic.0.flags="4" # # USRobotics Sportster ISDN TA intern options USR_STI hint.isic.0.at="isa" hint.isic.0.port="0x268" hint.isic.0.irq="5" hint.isic.0.flags="7" # # ITK ix1 Micro ( < V.3, non-PnP version ) options ITKIX1 hint.isic.0.at="isa" hint.isic.0.port="0x398" hint.isic.0.irq="10" hint.isic.0.flags="18" # # ELSA PCC-16 options ELSA_PCC16 hint.isic.0.at="isa" hint.isic.0.port="0x360" hint.isic.0.irq="10" hint.isic.0.flags="20" # # ISA bus PnP Cards: # ------------------ # # Teles S0/16.3 PnP options TEL_S0_16_3_P # # Creatix ISDN-S0 P&P options CRTX_S0_P # # Dr. Neuhaus Niccy Go@ options DRN_NGO # # Sedlbauer Win Speed options SEDLBAUER # # Dynalink IS64PH options DYNALINK # # ELSA QuickStep 1000pro ISA options ELSA_QS1ISA # # Siemens I-Surf 2.0 options SIEMENS_ISURF2 # # Asuscom ISDNlink 128K ISA options ASUSCOM_IPAC # # Eicon Diehl DIVA 2.0 and 2.02 options EICON_DIVA # # Compaq Microcom 610 ISDN card (Compaq series PSB2222I) options COMPAQ_M610 # # PCI bus Cards: # -------------- # # Cyclades Cyclom-Y PCI serial driver device cy 1 options CY_PCI_FASTINTR # Use with cy_pci unless irq is shared hint.cy.0.at="isa" hint.cy.0.irq="10" hint.cy.0.maddr="0xd4000" hint.cy.0.msize="0x2000" # #--------------------------------------------------------------------------- # ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI) options ELSA_QS1PCI # # #--------------------------------------------------------------------------- # ifpnp driver for AVM Fritz!Card PnP # # AVM Fritz!Card PnP device ifpnp # #--------------------------------------------------------------------------- # ihfc driver for Cologne Chip ISA chipsets (experimental!) # # Teles 16.3c ISA PnP # AcerISDN P10 ISA PnP # TELEINT ISDN SPEED No.1 device ihfc # #--------------------------------------------------------------------------- # ifpi driver for AVM Fritz!Card PCI # # AVM Fritz!Card PCI device ifpi # #--------------------------------------------------------------------------- # ifpi2 driver for AVM Fritz!Card PCI version 2 # # AVM Fritz!Card PCI version 2 device "ifpi2" # #--------------------------------------------------------------------------- # iwic driver for Winbond W6692 chipset # # ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards) device iwic # #--------------------------------------------------------------------------- # itjc driver for Simens ISAC / TJNet Tiger300/320 chipset # # Traverse Technologies NETjet-S # Teles PCI-TJ device itjc # #--------------------------------------------------------------------------- # iavc driver (AVM active cards, needs i4bcapi driver!) # device iavc # # AVM B1 ISA bus (PnP mode not supported!) # ---------------------------------------- hint.iavc.0.at="isa" hint.iavc.0.port="0x150" hint.iavc.0.irq="5" # #--------------------------------------------------------------------------- # ISDN Protocol Stack - mandatory for all hardware drivers # # Q.921 / layer 2 - i4b passive cards D channel handling device "i4bq921" # # Q.931 / layer 3 - i4b passive cards D channel handling device "i4bq931" # # layer 4 - i4b common passive and active card handling device "i4b" # #--------------------------------------------------------------------------- # ISDN devices - mandatory for all hardware drivers # # userland driver to do ISDN tracing (for passive cards only) device "i4btrc" 4 # # userland driver to control the whole thing device "i4bctl" # #--------------------------------------------------------------------------- # ISDN devices - optional # # userland driver for access to raw B channel device "i4brbch" 4 # # userland driver for telephony device "i4btel" 2 # # network driver for IP over raw HDLC ISDN device "i4bipr" 4 # enable VJ header compression detection for ipr i/f options IPR_VJ # enable logging of the first n IP packets to isdnd (n=32 here) options IPR_LOG=32 # # network driver for sync PPP over ISDN; requires an equivalent # number of sppp device to be configured device "i4bisppp" 4 # # B-channel interface to the netgraph subsystem device "i4bing" 2 # # CAPI driver needed for active ISDN cards (see iavc driver above) device "i4bcapi" # #--------------------------------------------------------------------------- # # Set the number of PV entries per process. Increasing this can # stop panics related to heavy use of shared memory. However, that can # (combined with large amounts of physical memory) cause panics at # boot time due the kernel running out of VM space. # # If you're tweaking this, you might also want to increase the sysctls # "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target". # # The value below is the one more than the default. # options PMAP_SHPGPERPROC=201 # # Change the size of the kernel virtual address space. Due to # constraints in loader(8) on i386, this must be a multiple of 4. # 256 = 1 GB of kernel address space. Increasing this also causes # a reduction of the address space in user processes. 512 splits # the 4GB cpu address space in half (2GB user, 2GB kernel). # options KVA_PAGES=260 ##################################################################### # ABI Emulation # Enable iBCS2 runtime support for SCO and ISC binaries options IBCS2 # Emulate spx device for client side of SVR3 local X interface options SPX_HACK # Enable Linux ABI emulation options COMPAT_LINUX # Enable i386 a.out binary support options COMPAT_AOUT # Enable the linux-like proc filesystem support (requires COMPAT_LINUX # and PSEUDOFS) options LINPROCFS # # SysVR4 ABI emulation # # The svr4 ABI emulator can be statically compiled into the kernel or loaded as # a KLD module. # The STREAMS network emulation code can also be compiled statically or as a # module. If loaded as a module, it must be loaded before the svr4 module # (the /usr/sbin/svr4 script does this for you). If compiling statically, # the `streams' device must be configured into any kernel which also # specifies COMPAT_SVR4. It is possible to have a statically-configured # STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4 # script understands that it doesn't need to load the `streams' module under # those circumstances. # Caveat: At this time, `options KTRACE' is required for the svr4 emulator # (whether static or dynamic). # options COMPAT_SVR4 # build emulator statically options DEBUG_SVR4 # enable verbose debugging device streams # STREAMS network driver (required for svr4). ##################################################################### # VM OPTIONS # Disable the 4 MByte page PSE CPU feature. The PSE feature allows the # kernel to use a 4 MByte pages to map the kernel instead of 4k pages. # This saves on the amount of memory needed for page tables needed to # map the kernel. You should only disable this feature as a temporary # workaround if you are having problems with it enabled. # #options DISABLE_PSE # Disable the global pages PGE CPU feature. The PGE feature allows pages # to be marked with the PG_G bit. TLB entries for these pages are not # flushed from the cache when %cr3 is reloaded. This can make context # switches less expensive. You should only disable this feature as a # temporary workaround if you are having problems with it enabled. # #options DISABLE_PG_G # KSTACK_PAGES is the number of memory pages to assign to the kernel # stack of each thread. options KSTACK_PAGES=3 ##################################################################### # More undocumented options for linting. # Note that documenting these are not considered an affront. options FB_INSTALL_CDEV # install a CDEV entry in /dev # PECOFF module (Win32 Execution Format) options PECOFF_SUPPORT options PECOFF_DEBUG options ENABLE_ALART options I4B_SMP_WORKAROUND options I586_PMC_GUPROF=0x70000 options KBDIO_DEBUG=2 options KBD_MAXRETRY=4 options KBD_MAXWAIT=6 options KBD_RESETDELAY=201 options PSM_DEBUG=1 options TIMER_FREQ=((14318182+6)/12) options VM_KMEM_SIZE options VM_KMEM_SIZE_MAX options VM_KMEM_SIZE_SCALE Index: head/sys/i386/isa/loran.c =================================================================== --- head/sys/i386/isa/loran.c (revision 123193) +++ head/sys/i386/isa/loran.c (nonexistent) @@ -1,633 +0,0 @@ -/* - * ---------------------------------------------------------------------------- - * "THE BEER-WARE LICENSE" (Revision 42): - * wrote this file. As long as you retain this notice you - * can do whatever you want with this stuff. If we meet some day, and you think - * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp - * ---------------------------------------------------------------------------- - * - * - * This device-driver helps the userland controlprogram for a LORAN-C - * receiver avoid monopolizing the CPU. - * - * This is clearly a candidate for the "most weird hardware support in - * FreeBSD" prize. At this time only two copies of the receiver are - * known to exist in the entire world. - * - * Details can be found at: - * ftp://ftp.eecis.udel.edu/pub/ntp/loran.tar.Z - */ - -#include -__FBSDID("$FreeBSD$"); - -#ifdef _KERNEL -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#endif /* _KERNEL */ - -typedef TAILQ_HEAD(, datapoint) dphead_t; - -struct datapoint { - /* Fields used by kernel */ - u_int64_t scheduled; - u_int code; - u_int fri; - u_int agc; - u_int phase; - u_int width; - u_int par; - u_int isig; - u_int qsig; - u_int ssig; - u_int64_t epoch; - TAILQ_ENTRY(datapoint) list; - int vco; - int bounce; - pid_t pid; - struct timespec when; - - int priority; - dphead_t *home; - - /* Fields used only in userland */ - void (*proc)(struct datapoint *); - void *ident; - int index; - char *name; - - - /* Fields used only in userland */ - double ival; - double qval; - double sval; - double mval; - -}; - -/* - * Mode register (PAR) hardware definitions - */ - #define INTEG 0x03 /* integrator mask */ - #define INTEG_1000us 0 - #define INTEG_264us 1 - #define INTEG_36us 2 - #define INTEG_SHORT 3 - #define GATE 0x0C /* gate source mask */ - #define GATE_OPEN 0x0 - #define GATE_GRI 0x4 - #define GATE_PCI 0x8 - #define GATE_STB 0xc - #define MSB 0x10 /* load dac high-order bits */ - #define IEN 0x20 /* enable interrupt bit */ - #define EN5 0x40 /* enable counter 5 bit */ - #define ENG 0x80 /* enable gri bit */ - -#define VCO_SHIFT 8 /* bits of fraction on VCO value */ -#define VCO (2048 << VCO_SHIFT) /* initial vco dac (0 V)*/ - - -#define PGUARD 990 /* program guard time (cycle) (990!) */ - -#ifdef _KERNEL - -#define NLORAN 10 /* Allow ten minor devices */ - -#define NDUMMY 4 /* How many idlers we want */ - -#define PORT 0x0300 /* controller port address */ - - -#define GRI 800 /* pulse-group gate (cycle) */ - -/* - * Analog/digital converter (ADC) hardware definitions - */ -#define ADC PORT+2 /* adc buffer (r)/address (w) */ -#define ADCGO PORT+3 /* adc status (r)/adc start (w) */ - #define ADC_START 0x01 /* converter start bit (w) */ - #define ADC_BUSY 0x01 /* converter busy bit (r) */ - #define ADC_DONE 0x80 /* converter done bit (r) */ - #define ADC_I 0 /* i channel (phase) */ - #define ADC_Q 1 /* q channel (amplitude) */ - #define ADC_S 2 /* s channel (agc) */ - -/* - * Digital/analog converter (DAC) hardware definitions - * Note: output voltage increases with value programmed; the buffer - * is loaded in two 8-bit bytes, the lsb 8 bits with the MSB bit off in - * the PAR register, the msb 4 bits with the MSB on. - */ -#define DACA PORT+4 /* vco (dac a) buffer (w) */ -#define DACB PORT+5 /* agc (dac b) buffer (w) */ - -#define LOAD_DAC(dac, val) if (0) { } else { \ - par &= ~MSB; outb(PAR, par); outb((dac), (val) & 0xff); \ - par |= MSB; outb(PAR, par); outb((dac), ((val) >> 8) & 0xff); \ - } - -/* - * Pulse-code generator (CODE) hardware definitions - * Note: bits are shifted out from the lsb first - */ -#define CODE PORT+6 /* pulse-code buffer (w) */ - #define MPCA 0xCA /* LORAN-C master pulse code group a */ - #define MPCB 0x9F /* LORAN-C master pulse code group b */ - #define SPCA 0xF9 /* LORAN-C slave pulse code group a */ - #define SPCB 0xAC /* LORAN-C slave pulse code group b */ - -/* - * Mode register (PAR) hardware definitions - */ -#define PAR PORT+7 /* parameter buffer (w) */ - -#define TGC PORT+0 /* stc control port (r/w) */ -#define TGD PORT+1 /* stc data port (r/w) */ - -/* - * Timing generator (STC) hardware commands - */ -/* argument sssss = counter numbers 5-1 */ -#define TG_LOADDP 0x00 /* load data pointer */ - /* argument ee = element (all groups except ggg = 000 or 111) */ - #define MODEREG 0x00 /* mode register */ - #define LOADREG 0x08 /* load register */ - #define HOLDREG 0x10 /* hold register */ - #define HOLDINC 0x18 /* hold register (hold cycle increm) */ - /* argument ee = element (group ggg = 111) */ - #define ALARM1 0x07 /* alarm register 1 */ - #define ALARM2 0x0F /* alarm register 2 */ - #define MASTER 0x17 /* master mode register */ - #define STATUS 0x1F /* status register */ -#define ARM 0x20 /* arm counters */ -#define LOAD 0x40 /* load counters */ -#define TG_LOADARM 0x60 /* load and arm counters */ -#define DISSAVE 0x80 /* disarm and save counters */ -#define TG_SAVE 0xA0 /* save counters */ -#define DISARM 0xC0 /* disarm counters */ -/* argument nnn = counter number */ -#define SETTOG 0xE8 /* set toggle output HIGH for counter */ -#define CLRTOG 0xE0 /* set toggle output LOW for counter */ -#define STEP 0xF0 /* step counter */ -/* argument eeggg, where ee = element, ggg - counter group */ -/* no arguments */ -#define ENABDPS 0xE0 /* enable data pointer sequencing */ -#define ENABFOUT 0xE6 /* enable fout */ -#define ENAB8 0xE7 /* enable 8-bit data bus */ -#define DSABDPS 0xE8 /* disable data pointer sequencing */ -#define ENAB16 0xEF /* enable 16-bit data bus */ -#define DSABFOUT 0xEE /* disable fout */ -#define ENABPFW 0xF8 /* enable prefetch for write */ -#define DSABPFW 0xF9 /* disable prefetch for write */ -#define TG_RESET 0xFF /* master reset */ - -#define LOAD_9513(index, val) if (0) {} else { \ - outb(TGC, TG_LOADDP + (index)); \ - outb(TGD, (val) & 0xff); \ - outb(TGD, ((val) >> 8) & 0xff); \ - } - -#define NENV 40 /* size of envelope filter */ -#define CLOCK 50 /* clock period (clock) */ -#define CYCLE 10 /* carrier period (us) */ -#define PCX (NENV * CLOCK) /* envelope gate (clock) */ -#define STROBE 50 /* strobe gate (clock) */ - -/**********************************************************************/ - -extern struct cdevsw loran_cdevsw; - -static dphead_t minors[NLORAN + 1], working; - -static struct datapoint dummy[NDUMMY], *first, *second; - -static u_int64_t ticker; - -static u_char par; - -static MALLOC_DEFINE(M_LORAN, "Loran", "Loran datapoints"); - -static int loranerror; -static char lorantext[160]; - -static u_int vco_is; -static u_int vco_should; -static u_int vco_want; -static u_int64_t vco_when; -static int64_t vco_error; - -/**********************************************************************/ - -static int loranprobe (struct isa_device *dvp); -static void init_tgc (void); -static int loranattach (struct isa_device *isdp); -static void loranenqueue (struct datapoint *); -static d_open_t loranopen; -static d_close_t loranclose; -static d_read_t loranread; -static d_write_t loranwrite; -static ointhand2_t loranintr; -extern struct timecounter loran_timecounter; - -/**********************************************************************/ - -static int -loranprobe(struct isa_device *dvp) -{ - - dvp->id_iobase = PORT; - return (8); -} - -static u_short tg_init[] = { /* stc initialization vector */ - 0x0562, 12, 13, /* counter 1 (p0) Mode J */ - 0x0262, PGUARD, GRI, /* counter 2 (gri) Mode J */ - 0x8562, PCX, 5000 - PCX, /* counter 3 (pcx) */ - 0xc562, 0, STROBE, /* counter 4 (stb) Mode L */ - 0x052a, 0, 0 /* counter 5 (out) */ -}; - -static void -init_tgc(void) -{ - int i; - - /* Initialize the 9513A */ - outb(TGC, TG_RESET); outb(TGC, LOAD+0x1f); /* reset STC chip */ - LOAD_9513(MASTER, 0x8af0); - outb(TGC, TG_LOADDP+1); - tg_init[4] = 7499 - GRI; - for (i = 0; i < 5*3; i++) { - outb(TGD, tg_init[i]); - outb(TGD, tg_init[i] >> 8); - } - outb(TGC, TG_LOADARM+0x1f); /* let the good times roll */ -} - -static int -loranattach(struct isa_device *isdp) -{ - int i; - - isdp->id_ointr = loranintr; - - /* We need to be a "fast-intr" */ - /* isdp->id_ri_flags |= RI_FAST; XXX unimplemented - use newbus! */ - - printf("loran0: LORAN-C Receiver\n"); - - vco_want = vco_should = VCO; - vco_is = vco_should >> VCO_SHIFT; - LOAD_DAC(DACA, vco_is); - - init_tgc(); - - tc_init(&loran_timecounter); - - TAILQ_INIT(&working); - for (i = 0; i < NLORAN + 1; i++) { - TAILQ_INIT(&minors[i]); - make_dev(&loran_cdevsw, i, UID_ROOT, GID_WHEEL, 0600, "loran%d", i); - } - - for (i = 0; i < NDUMMY; i++) { - dummy[i].agc = 4095; - dummy[i].code = 0xac; - dummy[i].fri = PGUARD; - dummy[i].scheduled = PGUARD * 2 * i; - dummy[i].phase = 50; - dummy[i].width = 50; - dummy[i].priority = NLORAN * 256; - dummy[i].home = &minors[NLORAN]; - if (i == 0) - first = &dummy[i]; - else if (i == 1) - second = &dummy[i]; - else - TAILQ_INSERT_TAIL(&working, &dummy[i], list); - } - - inb(ADC); /* Flush any old result */ - outb(ADC, ADC_S); - - par = ENG|IEN; - outb(PAR, par); - - return (1); -} - -static int -loranopen (dev_t dev, int flags, int fmt, struct thread *td) -{ - int idx; - - idx = minor(dev); - if (idx >= NLORAN) - return (ENODEV); - - return(0); -} - -static int -loranclose(dev_t dev, int flags, int fmt, struct thread *td) -{ - return(0); -} - -static int -loranread(dev_t dev, struct uio * uio, int ioflag) -{ - u_long ef; - struct datapoint *this; - int err, c; - int idx; - - idx = minor(dev); - - if (loranerror) { - printf("Loran0: %s", lorantext); - loranerror = 0; - return(EIO); - } - if (TAILQ_EMPTY(&minors[idx])) - tsleep (&minors[idx], (PZERO + 8) |PCATCH, "loranrd", hz*2); - if (TAILQ_EMPTY(&minors[idx])) - return(0); - this = TAILQ_FIRST(&minors[idx]); - ef = read_eflags(); - disable_intr(); - TAILQ_REMOVE(&minors[idx], this, list); - write_eflags(ef); - - c = imin(uio->uio_resid, (int)sizeof *this); - err = uiomove((caddr_t)this, c, uio); - FREE(this, M_LORAN); - return(err); -} - -static void -loranenqueue(struct datapoint *dp) -{ - struct datapoint *dpp; - - TAILQ_FOREACH(dpp, &working, list) { - if (dpp->priority <= dp->priority) - continue; - TAILQ_INSERT_BEFORE(dpp, dp, list); - return; - } - TAILQ_INSERT_TAIL(&working, dp, list); -} - -static int -loranwrite(dev_t dev, struct uio * uio, int ioflag) -{ - u_long ef; - int err = 0, c; - struct datapoint *this; - int idx; - u_int64_t dt; - u_int64_t when; - - idx = minor(dev); - - MALLOC(this, struct datapoint *, sizeof *this, M_LORAN, M_WAITOK); - c = imin(uio->uio_resid, (int)sizeof *this); - err = uiomove((caddr_t)this, c, uio); - if (err) { - FREE(this, M_LORAN); - return (err); - } - if (this->fri == 0) { - FREE(this, M_LORAN); - return (EINVAL); - } - this->par &= INTEG|GATE; - /* XXX more checks needed! */ - this->home = &minors[idx]; - this->priority &= 0xff; - this->priority += idx * 256; - this->bounce = 0; - when = second->scheduled + PGUARD; - if (when > this->scheduled) { - dt = when - this->scheduled; - dt -= dt % this->fri; - this->scheduled += dt; - } - ef = read_eflags(); - disable_intr(); - loranenqueue(this); - write_eflags(ef); - if (this->vco >= 0) - vco_want = this->vco; - return(err); -} - -static void -loranintr(int unit) -{ - u_long ef; - int status = 0, i; -#if 0 - int count = 0; -#endif - int delay; - u_int64_t when; - struct timespec there, then; - struct datapoint *dp, *done; - - ef = read_eflags(); - disable_intr(); - - /* - * Pick up the measurement which just completed, and setup - * the next measurement. We have 1100 microseconds for this - * of which some eaten by the A/D of the S channel and the - * interrupt to get us here. - */ - - done = first; - - nanotime(&there); - done->ssig = inb(ADC); - - par &= ~(ENG | IEN); - outb(PAR, par); - - outb(ADC, ADC_I); - outb(ADCGO, ADC_START); - - /* Interlude: while we wait: setup the next measurement */ - LOAD_DAC(DACB, second->agc); - outb(CODE, second->code); - par &= ~(INTEG|GATE); - par |= second->par; - par |= ENG | IEN; - - while (!(inb(ADCGO) & ADC_DONE)) - continue; - done->isig = inb(ADC); - - outb(ADC, ADC_Q); - outb(ADCGO, ADC_START); - /* Interlude: while we wait: setup the next measurement */ - /* - * We need to load this from the opposite register due to some - * weirdness which you can read about in in the 9513 manual on - * page 1-26 under "LOAD" - */ - LOAD_9513(0x0c, second->phase); - LOAD_9513(0x14, second->phase); - outb(TGC, TG_LOADARM + 0x08); - LOAD_9513(0x14, second->width); - while (!(inb(ADCGO) & ADC_DONE)) - continue; - done->qsig = inb(ADC); - - outb(ADC, ADC_S); - - outb(PAR, par); - - /* - * End of VERY time critical stuff, we have 8 msec to find - * the next measurement and program the delay. - */ - status = inb(TGC); - nanotime(&then); - - first = second; - second = 0; - when = first->scheduled + PGUARD; - TAILQ_FOREACH(dp, &working, list) { - while (dp->scheduled < when) - dp->scheduled += dp->fri; - if (second && dp->scheduled + PGUARD >= second->scheduled) - continue; - second = dp; - } - - delay = (second->scheduled - first->scheduled) - GRI; - - LOAD_9513(0x0a, delay); - - /* Done, the rest is leisure work */ - - vco_error += ((vco_is << VCO_SHIFT) - vco_should) * - (ticker - vco_when); - vco_should = vco_want; - i = vco_should >> VCO_SHIFT; - if (vco_error < 0) - i++; - - if (vco_is != i) { - LOAD_DAC(DACA, i); - vco_is = i; - } - vco_when = ticker; - - /* Check if we overran */ - status &= 0x0c; -#if 0 - - if (status) { - outb(TGC, TG_SAVE + 2); /* save counter #2 */ - outb(TGC, TG_LOADDP + 0x12); /* hold counter #2 */ - count = inb(TGD); - count |= inb(TGD) << 8; - LOAD_9513(0x12, GRI) - } -#endif - - if (status) { - printf( "Missed: %02x %d first:%p second:%p %.09ld\n", - status, delay, first, second, - then.tv_nsec - there.tv_nsec); - first->bounce++; - } - - TAILQ_REMOVE(&working, second, list); - - if (done->bounce) { - done->bounce = 0; - loranenqueue(done); - } else { - done->epoch = ticker; - done->vco = vco_is; - done->when = there; - TAILQ_INSERT_TAIL(done->home, done, list); - wakeup(done->home); - } - - ticker = first->scheduled; - - while ((dp = TAILQ_FIRST(&minors[NLORAN])) != NULL) { - TAILQ_REMOVE(&minors[NLORAN], dp, list); - TAILQ_INSERT_TAIL(&working, dp, list); - } - - when = second->scheduled + PGUARD; - - TAILQ_FOREACH(dp, &working, list) { - while (dp->scheduled < when) - dp->scheduled += dp->fri; - } - write_eflags(ef); -} - -/**********************************************************************/ - -static unsigned -loran_get_timecount(struct timecounter *tc) -{ - unsigned count; - u_long ef; - - ef = read_eflags(); - disable_intr(); - - outb(TGC, TG_SAVE + 0x10); /* save counter #5 */ - outb(TGC, TG_LOADDP +0x15); /* hold counter #5 */ - count = inb(TGD); - count |= inb(TGD) << 8; - - write_eflags(ef); - return (count); -} - -static struct timecounter loran_timecounter = { - loran_get_timecount, /* get_timecount */ - 0, /* no pps_poll */ - 0xffff, /* counter_mask */ - 5000000, /* frequency */ - "loran" /* name */ -}; - - -/**********************************************************************/ - -struct isa_driver lorandriver = { - INTR_TYPE_TTY | INTR_FAST, - loranprobe, - loranattach, - "loran" -}; -COMPAT_ISA_DRIVER(loran, lorandriver); - -static struct cdevsw loran_cdevsw = { - .d_open = loranopen, - .d_close = loranclose, - .d_read = loranread, - .d_write = loranwrite, - .d_name = "loran", -}; - -#endif /* _KERNEL */ Property changes on: head/sys/i386/isa/loran.c ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property