Date: Fri, 10 May 1996 11:02:54 +1000 From: Stephen Hocking <sysseh@devetir.qld.gov.au> To: current@freebsd.org Cc: phk@critter.tfs.com Subject: Re: cvs commit: src/sys/i386/i386 locore.s Message-ID: <199605100102.BAA10271@netfl15a.devetir.qld.gov.au> In-Reply-To: Your message of "Thu, 09 May 1996 15:43:24 -0400." <199605091943.PAA21086@daub4.isds.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
>
> Poul-Henning Kamp writes:
> > I belive this fixes the recent boot problems.
>
>
> This appears to fix the problem for me. All kernels (both previously
> OK & previously loosing configs) I've built since applying
> src-cur.1767 have booted just fine.
>
It (alas) has not fixed the problem for me. I've rebuilt trwice from scratch
and with a few different options. I'm now fiddling with the amount of symbol
table space for DDB to see if that can be made to shift things around enough.
I enclose my config file for your amusement.
Stephen
#
#
# Priapus - the watchdog that has to stay up all the time.
#
#
# This directive is mandatory; it defines the architecture to be
# configured for; in this case, the 386 family. You must also 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
#
machine "i386"
cpu "I486_CPU"
#cpu "I586_CPU" # out until transient problem fixed
#
# This is the ``identification'' of the kernel. Usually this should
# be the same as the name of your kernel.
#
ident priapus
#
# The `maxusers' parameter controls the static sizing of a number of
# internal system tables by a complicated formula defined in param.c.
#
maxusers 20
#
# Space savers
#
#options "NMBCLUSTERS=128"
#options "BUFPAGES=128" # 512k for buffers
#
# A math emulator is mandatory if you wish to run on hardware which
# does not have a floating-point processor. Pick either the original,
# bogus (but freely-distributable) math emulator, or a much more
# fully-featured but GPL-licensed emulator taken from Linux.
#
#options MATH_EMULATE #Support for x87 emulation
#options GPL_MATH_EMULATE #Support for x87 emualtion via
#new math emulator
#
# This directive defines a number of things:
# - The compiled kernel is to be called `kernel'
# - The root filesystem might be on partition wd0a
# - The kernel can swap on wd0b and wd1b, defaulting to the former
# - Crash dumps will be written to wd0b, if possible
#
config kernel root on wd0
#####################################################################
# COMPATIBILITY OPTIONS
#
# Implement system calls compatible with 4.3BSD and older versions of
# FreeBSD.
#
options "COMPAT_43"
#
# Allow user-mode programs to manipulat their local descriptor tables.
# This option is required for the WINE Windows(tm) emulator, and is
# not used by anything else (that we know of).
#
options USER_LDT #allow user-level control of i386 ldt
#
# These three options provide support for System V Interface
# Definition-style interprocess communication, in the form of shared
# memory, semaphores, and message queues, respectively.
#
options SYSVSHM
options SYSVSEM
options SYSVMSG
#####################################################################
# DEBUGGING OPTIONS
#
# This line enables the kernel debugger, DDB, and the line following
# allocates extra space for a copy of the debugger symbol table which
# is stored in the initialized data area of the kernel. If you change
# the latter option, remove db_aout.o before compiling.
#
options DDB #Kernel debugger
#options "SYMTAB_SPACE=113498" #This kernel needs LOTS of symtable
#
# KTRACE enables the system-call tracing facility ktrace(2).
#
options KTRACE #kernel tracing
#
# The DIAGNOSTIC option is used in a number of source files to enable
# extra sanity checking of internal structures. This support is not
# enabled by default because of the extra time it would take to check
# for these conditions, which can only occur as a result of
# programming errors.
#
#options DIAGNOSTIC
#####################################################################
# NETWORKING OPTIONS
#
# Protocol families:
# Only the INET (Internet) family is officially supported in FreeBSD.
# Source code for the NS (Xerox Network Service), ISO (OSI), and
# CCITT (X.25) families is provided for amusement value, although we
# try to ensure that it actually compiles.
#
options INET #Internet communications protocols
#options ISO
#options CCITT #X.25 network layer
#options NS #Xerox NS communications protocols
#options TPIP #ISO TP class 4 over IP
#options TPCONS #ISO TP class 0 over X.25
#
# Network interfaces:
# The `loop' pseudo-device is mandatory when networking is enabled.
# The `ether' pseudo-device provides generic code to handle
# Ethernets; it is mandatory when a Ethernet device driver is
# configured.
# The `sl' pseudo-device implements the Serial Line IP (SLIP) service.
# The `ppp' pseudo-device implements the Point-to-Point Protocol.
# The `bpfilter' pseudo-device enables the Berkeley Packet Filter. Be
# aware of the legal and administrative consequences of enabling this
# option. The number of devices determines the maximum number of
# simultaneous BPF clients programs runnable.
#
pseudo-device ether #Generic Ethernet
pseudo-device loop #Network loop back device
pseudo-device sl 2 #Serial Line IP
#pseudo-device ppp 2 #Point-to-point protocol
pseudo-device bpfilter 4 #Berkeley packet filter
pseudo-device tun 1 # Tunnel device
pseudo-device vn # Vnode driver (turns file into device)
pseudo-device disc # Discard device
#options NSIP #XNS over IP
#options EON #ISO CLNP over IP
#options LLC #X.25 link layer for Ethernets
#options HDLC #X.25 link layer for serial lines
#
# Internet family options:
#
# TCP_COMPAT_42 causes the TCP code to emulate certain bugs present in
# 4.2BSD. This option should not be used unless you have a 4.2BSD
# machine and TCP connections fail.
#
# GATEWAY allows the machine to forward packets, and also configures
# larger static sizes of a number of system tables.
#
# MROUTING enables the kernel multicast packet forwarder, which works
# with mrouted(8).
#
# IPFIREWALL enables support for IP firewall construction, in
# conjunction with the `ipfw' program. IPFIREWALL_VERBOSE does
# the obvious thing.
#
# ARP_PROXYALL enables global proxy ARP. Beware! This can burn
# your house down! See netinet/if_ether.c for the gory details.
# (Eventually there will be a better management interface.)
#
options "TCP_COMPAT_42" #emulate 4.2BSD TCP bugs
#options GATEWAY #internetwork gateway
options MROUTING # Multicast routing
#options IPFIREWALL #firewall
#options IPFIREWALL_VERBOSE #print information about
# dropped packets
#options ARP_PROXYALL # global proxy ARP
#####################################################################
# FILESYSTEM OPTIONS
#
# Only the root, /usr, and /tmp filesystems need be statically
# compiled; everything else will be automatically loaded at mount
# time. (Exception: the UFS family---FFS, MFS, and LFS---cannot
# currently be demand-loaded.) Some people still prefer to statically
# compile other filesystems as well.
#
# NB: The LFS, PORTAL, and UNION filesystems are known to be buggy,
# and WILL panic your system if you attempt to do anything with them.
# They are included here as an incentive for some enterprising soul to
# sit down and fix them.
#
# One of these is mandatory:
options FFS #Fast filesystem
options NFS #Network File System
# The rest are optional:
#options "CD9660" #ISO 9660 filesystem
#options FDESC #File descriptor filesystem
#options KERNFS #Kernel filesystem
#options LFS #Log filesystem
options MFS #Memory File System
#options MSDOSFS #MS DOS File System
#options NULLFS #NULL filesystem
#options PORTAL #Portal filesystem
options PROCFS #Process filesystem
#options UMAPFS #UID map filesystem
#options UNION #Union filesystem
options DEVFS #devices filesystem
#
# Disk quotas are supported when this option is enabled. If you
# change the value of this option, you must do a `make clean' in your
# kernel compile directory in order to get a working kernel.
#
#options QUOTA #enable disk quotas
#####################################################################
#
# IBCS2 (SCO Unix, ISC) SVR3.2 emulation stuff
# - Allow me to run SCO binaries!
#
# - Allow me to run Linux binaries
#
options "COMPAT_IBCS2"
options "LINUX"
#options "IBCS2"
#####################################################################
# MISCELLANEOUS DEVICES AND OPTIONS
#
# Of these, only the `log' device is truly mandatory. The `pty'
# device usually turns out to be ``effectively mandatory'', as it is
# required for `telnetd', `rlogind', `screen', `emacs', and `xterm',
# among others.
#
pseudo-device pty 16 #Pseudo ttys
pseudo-device speaker #Play IBM BASIC-style noises out your speaker
pseudo-device log #Kernel syslog interface (/dev/klog)
#pseudo-device gzip #Exec gzipped a.out's
#####################################################################
# HARDWARE DEVICE CONFIGURATION
# ISA and EISA devices:
# Currently there is no separate support for EISA. There should be.
# Micro Channel is not supported at all.
#
# Mandatory ISA devices: isa, sc, npx
#
controller isa0
#
# Options for `isa':
#
# ALLOW_CONFLICT_IOADDR suppresses the I/O address conflict checks, so
# that the PS/2 mouse driver doesn't conflict with the console driver.
#
# ALLOW_CONFLICT_IRQ suppresses the interrupt line conflict checks, so
# that multiple devices can share the same IRQ, provided that the
# hardware supports it (it usually doesn't).
#
# BOUNCE_BUFFERS provides support for ISA DMA on machines with more
# than 16 megabytes of memory. It doesn't hurt on other machines.
# Some broken EISA and VLB hardware may need this, too.
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
#
# Options for `sc':
#
# NCONS specifies the number of virtual consoles. Specification of
# this value is mandatory. Due to a compiler bug, when compiling with
# GCC 2.6.0 this option must be a power of two.
#
# FAT_CURSOR specifies the use of a large block cursor rather than the
# hardware default underline.
#
# HARDFONTS allows the driver to load an ISO-8859-1 font to replace
# the default font in your display adapter's memory.
#
# UCONSOLE enables code to let any user get output intended for the
# console.
#
options "NCONS=4"
options "FAT_CURSOR"
#options HARDFONTS
options UCONSOLE
device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
#
# Optional ISA and EISA devices:
#
#
# ST-506, ESDI, and IDE hard disks: `wdc' and `wd'
#
# NB: ``Enhanced IDE'' is NOT supported at this time.
#
controller wdc0 at isa? port "IO_WD1" bio irq 14 flags 0x80ff80ff vector wdintr
disk wd0 at wdc0 drive 0
disk wd1 at wdc0 drive 1
#controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
#disk wd2 at wdc1 drive 0
#disk wd3 at wdc1 drive 1
#
# Standard floppy disk controllers and floppy tapes: `fdc', `fd', and `ft'
#
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk fd0 at fdc0 drive 0
disk fd1 at fdc0 drive 1
#tape ft0 at fdc0 drive 2
#
# Options for `fd':
#
# FDSEEKWAIT selects a non-default head-settle time (i.e., the time to
# wait after a seek is performed). The default value (1/32 s) is
# usually sufficient. The units are inverse seconds, so a value of 16
# here means to wait 1/16th of a second; you should choose a power of
# two.
#
#options FDSEEKWAIT="16"
#
# Other standard PC hardware: `lpt', `mse', `psm', `sio'
#
# lpt: printer port
# mse: Logitech and ATI InPort bus mouse ports
# psm: PS/2 mouse port (needs ALLOW_CONFLICT_IOADDR, above)
# sio: serial ports (see sio(4))
device lpt0 at isa? port "IO_LPT1" tty irq 7 vector lptintr
#device mse0 at isa? port 0x23c tty irq 5 vector mseintr
#device psm0 at isa? port "IO_KBD" tty irq 12 vector psmintr
device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr
# Options for sio:
#options DSI_SOFT_MODEM #code for DSI Softmodems
#
# Network interfaces: `ed', `el', `ep', `ie', `is', `le', `lnc'
#
# ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
# el: 3Com 3C501 (slow!)
# ep: 3Com 3C509 (buggy)
# ie: AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210
# is: Isolan AT 4141-0; Isolink 4110; Novell NE2100
# le: Digital Equipment EtherWorks 2 and EtherWorks 3 (DEPCA, DE100,
# DE101, DE200, DE201, DE202, DE203, DE204, DE205, DE422)
# lnc: unknown LANCE-based
# ze: PCMCIA ethernet controller.
#
device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 vector edintr
#
# Audio drivers: `snd', `pca'
#
# SB = SoundBlaster; PAS = ProAudioSpectrum; GUS = Gravis UltraSound
# Controls all sound devices
controller snd0
# Yamaha OPL-3 FM - for SB, SB Pro, SB16, PAS
device opl0 at isa? port 0x388
# Yamaha OPL-3 FM - for PAS
#device opl0 at isa? port 0x38a
# SoundBlaster DSP driver - for SB, SB Pro, SB16, PAS(emulating SB)
device sb0 at isa? port 0x220 irq 5 drq 1 vector sbintr
# SoundBlaster 16 DSP driver - for SB16 - requires sb0 device
device sbxvi0 at isa? drq 5
# SoundBlaster 16 MIDI - for SB16 - requires sb0 device
device sbmidi0 at isa? port 0x330
# ProAudioSpectrum PCM and Midi - for PAS
#device pas0 at isa? port 0x388 irq 10 drq 6 vector pasintr
# MPU-401 - for MPU-401 standalone card
#device mpu0 at isa? port 0x330 irq 6 drq 0
# Gravis UltraSound - for GUS, GUS16, GUSMAX
#device gus0 at isa? port 0x220 irq 11 drq 1 vector gusintr
# Gravis UltraSound 16 bit option - for GUS16 - requires gus0
#device gusxvi0 at isa? port 0x530 irq 7 drq 3 vector adintr
# Gravis UltraSound MAX - for GUSMAX - requires gus0
#device gusmax0 at isa? port 0x32c
# MS Sound System
#device mss0 at isa? port 0x530 irq 10 drq 1 vector adintr
# 6850 UART Midi
#device uart0 at isa? port 0x330 irq 5 vector "m6850intr"
device pca0 at isa? tty
# Miscellaneous hardware: `mcd', `wt', `ctx', `apm'
#
# mcd: Mitsumi CD-ROM
# wt: Wangtek and Archive QIC-02/QIC-36 tape drives
# ctx: Cortex-I frame grabber
# apm: Laptop Advanced Power Management (experimental)
#
#device mcd0 at isa? port 0x300 bio irq 10 vector mcdintr
#device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintr
#device ctx0 at isa? port 0x230 iomem 0xd0000
#
# The joystick!
#
device joy0 at isa? port "IO_GAME"
# NB: both lines are required
#device apm0 at isa?
#options APM
#
# PCI devices:
#
# The main PCI bus device is `pci'. It provides auto-detection and
# configuration support for all devices on the PCI bus, using either
# configuration mode defined in the PCI specification.
#
# The `ncr' device provides support for the NCR 53C810 and 53C825
# self-contained SCSI host adapters.
#
# The `de' device provides support for the Digital Equipment DC21040
# self-contained Ethernet adapter.
#
#controller pci0
#device ncr0
#device de0
--
The views expressed above are not those of the Worker's Compensation Board of
Queensland, Australia.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605100102.BAA10271>
