Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Jan 2000 17:12:14 -0800
From:      Mike Smith <msmith@freebsd.org>
To:        Bill Fumerola <billf@chc-chimes.com>
Cc:        current@FreeBSD.org
Subject:   Re: PNPBIOS + Dell PowerEdge = panic() 
Message-ID:  <200001180112.RAA02848@mass.cdrom.com>
In-Reply-To: Your message of "Sun, 16 Jan 2000 00:21:13 EST." <20000116002113.B75768@jade.chc-chimes.com> 

next in thread | previous in thread | raw e-mail | index | archive | help

The problem here is that the i386 nexus_alloc_resource() unconditionally 
calls pmap_mapdev() to map any memory-type resource into the kernel.  
This is definitely a bad idea; IMHO we should only do this when the 
resource is actually activated (and obviously free it when deactivated).

Commentary?  Should I just commit the change and see what happens? 8)

> Hola,
> 
> As the subject indicated PNPBIOS and Dell PowerEdge servers seem
> to be a recipe for disaster. This doesn't bother me too terribly
> much as I don't need PNPBIOS for anything on this machine, but I
> figured the new-bus folks didn't have enough to do, so I'd help.
> 
> This machine is a dual pIII/450 w/512MB. This is not SMP specific, BTW.
> 
> This post exposes my DDB and newbus stupidity. If this was gdb, 
> I'd at least try and pull out some sort of relevent data. I have
> a guess that the sheer amount/range of the ports and iomem has
> something to do with it. That or the fact one starts with 0.
> 
> Thanks and e-mail me privatly or catch me on IRC (bfumerola) if
> you want me to try things with this server.
> 
> -- 
> - bill fumerola - billf@chc-chimes.com - BF1560 - computer horizons corp -
> - ph:(800) 252-2421 - bfumerol@computerhorizons.com - billf@FreeBSD.org  -
> 
> The relative part:
> 
> unknown0: <PNP0c02> at port 0x800-0x83f,0x850-0x85f,0xe0-0xef,0x22,0x2e-0x2f,0x80,0xaa00-0xaa7f iomem 0-0x9ffff,0x100000-0x1fffdfff,0xfff80000-0xffffffff,0xf0000-0xfffff,0xec000-0xeffff irq 15 on isa0
> panic: pmap_mapdev: Couldn't alloc kernel virtual memory
> mp_lock = 00000002; cpuid = 0; lapic.id = 01000000
> Debugger("panic")
> Stopped at      Debugger+0x35:  movb    $0,in_Debugger.555
> 
> The full boot -v:
> 
> -- Forwarded message from Bill Fumerola <billf@boa.internal.chc-chimes.com> --
> 
> SMAP type=01 base=00000000 00000000 len=00000000 000a0000
> SMAP type=02 base=00000000 000f0000 len=00000000 00010000
> SMAP type=01 base=00000000 00100000 len=00000000 1fefe000
> SMAP type=02 base=00000000 1fffe000 len=00000000 00002000
> SMAP type=02 base=00000000 fff80000 len=00000000 00080000
> SMAP type=02 base=00000000 fec00000 len=00000000 00010000
> SMAP type=02 base=00000000 fee00000 len=00000000 00010000
> Copyright (c) 1992-2000 The FreeBSD Project.
> Copyright (c) 1982, 1986, 1989, 1991, 1993
> 	The Regents of the University of California. All rights reserved.
> FreeBSD 4.0-CURRENT #0: Fri Jan 14 20:51:21 GMT 2000
>     jkhblows@crazyhorse.internal.chc-chimes.com:/usr/src/sys/compile/GLUEPNP
> Calibrating clock(s) ... TSC clock: 447668222 Hz, i8254 clock: 1193124 Hz
> CLK_USE_I8254_CALIBRATION not specified - using default frequency
> Timecounter "i8254"  frequency 1193182 Hz
> CLK_USE_TSC_CALIBRATION not specified - using old calibration method
> CPU: Pentium III/Xeon (447.69-MHz 686-class CPU)
>   Origin = "GenuineIntel"  Id = 0x673  Stepping = 3
>   Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,XMM>
> real memory  = 536862720 (524280K bytes)
> Physical memory chunk(s):
> 0x00001000 - 0x0009efff, 647168 bytes (158 pages)
> 0x00300000 - 0x1fffbfff, 533708800 bytes (130300 pages)
> avail memory = 518021120 (505880K bytes)
> Programming 24 pins in IOAPIC #0
> IOAPIC #0 intpin 2 -> irq 0
> SMP: CPU0 apic_initialize():
>      lint0: 0x00000700 lint1: 0x00010400 TPR: 0x00000010 SVR: 0x000001ff
> FreeBSD/SMP: Multiprocessor motherboard
>  cpu0 (BSP): apic id:  1, version: 0x00040011, at 0xfee00000
>  cpu1 (AP):  apic id:  0, version: 0x00040011, at 0xfee00000
>  io0 (APIC): apic id:  2, version: 0x00170011, at 0xfec00000
> bios32: Found BIOS32 Service Directory header at 0xc00ffe80
> bios32: Entry = 0xffe90 (c00ffe90)  Rev = 0  Len = 1
> pcibios: PCI BIOS entry at 0xcc0e
> pnpbios: Found PnP BIOS data at 0xc00fe2d0
> pnpbios: Entry = f0000:e2f4  Rev = 1.0
> Other BIOS signatures found:
> ACPI: 000fdef0
> Preloaded elf kernel "pnpbios" at 0xc02e4000.
> Pentium Pro MTRR support enabled
> md0: Malloc disk
> Creating DISK md0
> Math emulator present
> SMP: CPU0 bsp_apic_configure():
>      lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000010 SVR: 0x000001ff
> pci_open(1):	mode 1 addr port (0x0cf8) is 0x80000090
> pci_open(1a):	mode1res=0x80000000 (0x80000000)
> pci_cfgcheck:	device 0 [class=060000] [hdr=00] is there (id=71a08086)
> devclass_alloc_unit: pcib0 already exists, using next available unit number
> npx0: <math processor> on motherboard
> npx0: INT 16 interface
> pci_open(1):	mode 1 addr port (0x0cf8) is 0x00000000
> pci_open(1a):	mode1res=0x80000000 (0x80000000)
> pci_cfgcheck:	device 0 [class=060000] [hdr=00] is there (id=71a08086)
> pcib0: <Intel 82443GX host to PCI bridge> on motherboard
> found->	vendor=0x8086, dev=0x71a0, revid=0x00
> 	class=06-00-00, hdrtype=0x00, mfdev=0
> 	subordinatebus=0 	secondarybus=0
> 	map[10]: type 1, range 32, base f0000000, size 26
> found->	vendor=0x8086, dev=0x71a1, revid=0x00
> 	class=06-04-00, hdrtype=0x01, mfdev=0
> 	subordinatebus=1 	secondarybus=1
> found->	vendor=0x1011, dev=0x0024, revid=0x03
> 	class=06-04-00, hdrtype=0x01, mfdev=0
> 	subordinatebus=3 	secondarybus=2
> found->	vendor=0x8086, dev=0x7110, revid=0x02
> 	class=06-01-00, hdrtype=0x00, mfdev=1
> 	subordinatebus=0 	secondarybus=0
> found->	vendor=0x8086, dev=0x7111, revid=0x01
> 	class=01-01-80, hdrtype=0x00, mfdev=0
> 	subordinatebus=0 	secondarybus=0
> found->	vendor=0x8086, dev=0x7112, revid=0x01
> 	class=0c-03-00, hdrtype=0x00, mfdev=0
> 	subordinatebus=0 	secondarybus=0
> 	intpin=d, irq=0
> found->	vendor=0x8086, dev=0x7113, revid=0x02
> 	class=06-80-00, hdrtype=0x00, mfdev=0
> 	subordinatebus=0 	secondarybus=0
> 	map[90]: type 1, range 32, base 00000850, size  4
> Freeing (NOT implemented) redirected PCI irq 14.
> found->	vendor=0x10b8, dev=0x0005, revid=0x08
> 	class=02-00-00, hdrtype=0x00, mfdev=0
> 	subordinatebus=0 	secondarybus=0
> 	intpin=a, irq=20
> 	map[10]: type 1, range 32, base 0000dc00, size  8
> 	map[14]: type 1, range 32, base fe000000, size 12
> pci0: <PCI bus> on pcib0
> pcib2: <Intel 82443GX (440 GX) PCI-PCI (AGP) bridge> at device 1.0 on pci0
> found->	vendor=0x1002, dev=0x4744, revid=0x5c
> 	class=03-00-00, hdrtype=0x00, mfdev=0
> 	subordinatebus=0 	secondarybus=0
> 	map[10]: type 1, range 32, base fc000000, size 24
> 	map[14]: type 1, range 32, base 0000fc00, size  8
> 	map[18]: type 1, range 32, base fbfff000, size 12
> pci1: <PCI bus> on pcib2
> vga-pci0: <ATI model 4744 graphics accelerator> port 0xfc00-0xfcff mem 0xfbfff000-0xfbffffff,0xfc000000-0xfcffffff at device 0.0 on pci1
> pcib3: <DEC 21152 PCI-PCI bridge> at device 2.0 on pci0
> Freeing (NOT implemented) redirected PCI irq 11.
> found->	vendor=0x9005, dev=0x001f, revid=0x00
> 	class=01-00-00, hdrtype=0x00, mfdev=0
> 	subordinatebus=0 	secondarybus=0
> 	intpin=a, irq=16
> 	map[10]: type 1, range 32, base 0000ec00, size  8
> 	map[14]: type 1, range 64, base f9fff000, size 12
> found->	vendor=0x8086, dev=0x0960, revid=0x03
> 	class=06-04-00, hdrtype=0x01, mfdev=1
> 	subordinatebus=3 	secondarybus=3
> Freeing (NOT implemented) redirected PCI irq 10.
> found->	vendor=0x8086, dev=0x1960, revid=0x03
> 	class=0e-00-01, hdrtype=0x00, mfdev=1
> 	subordinatebus=0 	secondarybus=0
> 	intpin=a, irq=18
> 	map[10]: type 1, range 32, base f6c00000, size 22
> pci2: <PCI bus> on pcib3
> ahc0: <Adaptec aic7890/91 Ultra2 SCSI adapter> port 0xec00-0xecff mem 0xf9fff000-0xf9ffffff irq 16 at device 4.0 on pci2
> ahc0: Reading SEEPROM...done.
> ahc0: Manual LVD Termination
> ahc0: BIOS eeprom is present
> ahc0: Secondary High byte termination Enabled
> ahc0: Secondary Low byte termination Enabled
> ahc0: Primary Low Byte termination Enabled
> ahc0: Primary High Byte termination Enabled
> ahc0: aic7890/91 Wide Channel A, SCSI Id=7, 16/255 SCBs
> ahc0: Downloading Sequencer Program... 399 instructions downloaded
> pcib4: <PCI to PCI bridge (vendor=8086 device=0960)> at device 10.0 on pci2
> pci3: <PCI bus> on pcib4
> amr0: <AMI MegaRAID> mem 0xf6c00000-0xf6ffffff irq 18 at device 10.1 on pci2
> amr0: firmware 3.00 bios 1.36  16MB memory
> amrd0: <MegaRAID logical drive> on amr0
> amrd0: 17136MB (35094528 sectors) RAID 5 (optimal)
> Creating DISK amrd0
> isab0: <Intel 82371AB PCI to ISA bridge> at device 7.0 on pci0
> isa0: <ISA bus> on isab0
> pci0: Intel PIIX4 ATA controller (vendor=0x8086, dev=0x7111) at 7.1
> pci0: Intel 82371AB/EB (PIIX4) USB controller (vendor=0x8086, dev=0x7112) at 7.2 irq 0
> Timecounter "PIIX"  frequency 3579545 Hz
> chip1: <Intel 82371AB Power management controller> port 0x850-0x85f at device 7.3 on pci0
> tx0: <SMC 83c170> port 0xdc00-0xdcff mem 0xfe000000-0xfe000fff irq 20 at device 8.0 on pci0
> tx0: address 00:e0:29:36:21:2d, type SMC9432TX, Auto-Neg 100Mbps bpf: tx0 attached
> 
> pci_open(1):	mode 1 addr port (0x0cf8) is 0x00000000
> pci_open(1a):	mode1res=0x80000000 (0x80000000)
> pci_cfgcheck:	device 0 [class=060000] [hdr=00] is there (id=71a08086)
> devclass_alloc_unit: pci1 already exists, using next available unit number
> pcib1: <Intel 82443GX host to AGP bridge> on motherboard
> pci4: <PCI bus> on pcib1
> pnpbios: 16 devices, largest 179 bytes
> PNP0c02: adding memory range 0-0x9ffff, size=0xa0000
> PNP0c02: adding memory range 0x100000-0x1fffdfff, size=0x1fefe000
> PNP0c02: adding memory range 0xfff80000-0xffffffff, size=0x80000
> PNP0c02: adding memory range 0xf0000-0xfffff, size=0x10000
> PNP0c02: adding memory range 0xec000-0xeffff, size=0x4000
> PNP0c02: adding io range 0x800-0x83f, size=0x40, align=0x1
> PNP0c02: adding io range 0x850-0x85f, size=0x10, align=0x1
> PNP0c02: adding io range 0xe0-0xef, size=0x10, align=0x1
> PNP0c02: adding io range 0x22-0x22, size=0x1, align=0x1
> PNP0c02: adding io range 0x2e-0x2f, size=0x2, align=0x1
> PNP0c02: adding io range 0x80-0x80, size=0x1, align=0x1
> PNP0c02: adding io range 0xaa00-0xaa7f, size=0x80, align=0x1
> PNP0c02: adding irq mask 0x8000
> PNP0c02: start dependant
> pnpbios: handle 0 device ID PNP0c02 (020cd041)
> PNP0501: adding irq mask 0x10
> PNP0501: adding io range 0x3f8-0x3ff, size=0x8, align=0x8
> PNP0501: start dependant
> pnpbios: handle 2 device ID PNP0501 (0105d041)
> PNP0501: adding irq mask 00x8
> PNP0501: adding io range 0x2f8-0x2ff, size=0x8, align=0x8
> PNP0501: start dependant
> pnpbios: handle 3 device ID PNP0501 (0105d041)
> PNP0401: adding dma mask 0x2
> PNP0401: adding irq mask 0x80
> PNP0401: adding io range 0x378-0x37f, size=0x8, align=0x8
> PNP0401: adding io range 0x778-0x77b, size=0x4, align=0x8
> PNP0401: start dependant
> pnpbios: handle 4 device ID PNP0401 (0104d041)
> PNP0700: adding irq mask 0x40
> PNP0700: adding io range 0x3f0-0x3f5, size=0x6, align=0x8
> PNP0700: adding dma mask 0x4
> PNP0700: start dependant
> pnpbios: handle 5 device ID PNP0700 (0007d041)
> PNP0f13: adding irq mask 0x1000
> PNP0f13: start dependant
> pnpbios: handle 6 device ID PNP0f13 (130fd041)
> PNP0a03: adding io range 0xcf8-0xcff, size=0x8, align=0x1
> PNP0a03: start dependant
> pnpbios: handle 7 device ID PNP0a03 (030ad041)
> PNP0c02: adding irq mask 0x200
> PNP0c02: start dependant
> pnpbios: handle 8 device ID PNP0c02 (020cd041)
> PNP0000: adding irq mask 00x4
> PNP0000: adding io range 0x20-0x21, size=0x2, align=0x1
> PNP0000: adding io range 0xa0-0xa1, size=0x2, align=0x1
> PNP0000: adding io range 0x4d0-0x4d1, size=0x2, align=0x1
> PNP0000: start dependant
> pnpbios: handle 9 device ID PNP0000 (0000d041)
> PNP0003: adding memory range 0xfee00000-0xfee0ffff, size=0x10000
> PNP0003: adding memory range 0xfec00000-0xfec0ffff, size=0x10000
> PNP0003: start dependant
> pnpbios: handle 10 device ID PNP0003 (0300d041)
> PNP0100: adding irq mask 00x1
> PNP0100: adding io range 0x40-0x43, size=0x4, align=0x1
> PNP0100: start dependant
> pnpbios: handle 11 device ID PNP0100 (0001d041)
> PNP0200: adding io range 0x81-0x8f, size=0xf, align=0x1
> PNP0200: adding io range 0-0xf, size=0x10, align=0x1
> PNP0200: adding io range 0xc0-0xdf, size=0x20, align=0x1
> PNP0200: adding dma mask 0x10
> PNP0200: start dependant
> pnpbios: handle 12 device ID PNP0200 (0002d041)
> PNP0303: adding irq mask 00x2
> PNP0303: adding io range 0x60-0x60, size=0x1, align=0x1
> PNP0303: adding io range 0x64-0x64, size=0x1, align=0x1
> PNP0303: start dependant
> pnpbios: handle 13 device ID PNP0303 (0303d041)
> PNP0800: adding io range 0x61-0x61, size=0x1, align=0x1
> PNP0800: start dependant
> pnpbios: handle 14 device ID PNP0800 (0008d041)
> PNP0b00: adding irq mask 0x100
> PNP0b00: adding io range 0x70-0x73, size=0x4, align=0x1
> PNP0b00: start dependant
> pnpbios: handle 15 device ID PNP0b00 (000bd041)
> PNP0c04: adding irq mask 0x2000
> PNP0c04: adding io range 0xf0-0xff, size=0x10, align=0x1
> PNP0c04: start dependant
> pnpbios: handle 16 device ID PNP0c04 (040cd041)
> Trying Read_Port at 203
> Trying Read_Port at 243
> Trying Read_Port at 283
> Trying Read_Port at 2c3
> Trying Read_Port at 303
> Trying Read_Port at 343
> Trying Read_Port at 383
> Trying Read_Port at 3c3
> isa_probe_children: disabling PnP devices
> isa_probe_children: probing non-PnP devices
> fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
> fdc0: FIFO enabled, 8 bytes threshold
> fd0: <1440-KB 3.5" drive> on fdc0 drive 0
> atkbdc0: <keyboard controller (i8042)> at port 0x60-0x6f on isa0
> atkbd0: <AT Keyboard> irq 1 on atkbdc0
> atkbd: the current kbd controller command byte 0065
> atkbd: keyboard ID 0x41ab (2)
> kbdc: RESET_KBD return code:00fa
> kbdc: RESET_KBD status:00aa
> kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x1d0000
> psm0: current command byte:0065
> kbdc: TEST_AUX_PORT status:0000
> kbdc: RESET_AUX return code:00fe
> kbdc: RESET_AUX return code:00fe
> kbdc: RESET_AUX return code:00fe
> kbdc: DIAGNOSE status:0055
> kbdc: TEST_KBD_PORT status:0000
> psm0: failed to reset the aux device.
> vga0: <Generic ISA VGA> at port 0x3b0-0x3df iomem 0xa0000-0xbffff on isa0
> fb0: vga0, vga, type:VGA (5), flags:0x7007f
> fb0: port:0x3b0-0x3df, crtc:0x3d4, mem:0xa0000 0x20000
> fb0: init mode:24, bios mode:3, current mode:24
> fb0: window:0xc00b8000 size:32k gran:32k, buf:0 size:32k
> VGA parameters upon power-up
> 50 18 10 00 00 00 03 00 02 67 5f 4f 50 82 55 81 
> bf 1f 00 4f 0d 0e 00 00 07 80 9c 8e 8f 28 1f 96 
> b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 
> 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff 
> VGA parameters in BIOS for mode 24
> 50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 
> bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 
> b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 
> 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff 
> EGA/VGA parameters to be used for mode 24
> 50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 
> bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 
> b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 
> 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff 
> sc0: <System console> on isa0
> sc0: VGA <16 virtual consoles, flags=0x0>
> sc0: fb0 kbd0
> sio0: irq maps: 0x41 0x51 0x41 0x41
> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
> sio0: type 16550A, console
> sio1: irq maps: 0x41 0x49 0x41 0x41
> sio1 at port 0x2f8-0x2ff irq 3 on isa0
> sio1: type 16550A
> ppc0: parallel port found at 0x378
> ppc0: ECP SPP ECP+EPP SPP
> ppc0: <Parallel port> at port 0x378-0x37f irq 7 flags 0x40 on isa0
> ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
> ppc0: FIFO with 16/16/8 bytes threshold
> isa_probe_children: probing PnP devices
> unknown0: <PNP0c02> at port 0x800-0x83f,0x850-0x85f,0xe0-0xef,0x22,0x2e-0x2f,0x80,0xaa00-0xaa7f iomem 0-0x9ffff,0x100000-0x1fffdfff,0xfff80000-0xffffffff,0xf0000-0xfffff,0xec000-0xeffff irq 15 on isa0
> panic: pmap_mapdev: Couldn't alloc kernel virtual memory
> mp_lock = 00000002; cpuid = 0; lapic.id = 01000000
> Debugger("panic")
> Stopped at      Debugger+0x35:  movb    $0,in_Debugger.555
> db> trace
> Debugger(c0242cd2) at Debugger+0x35
> panic(c0258d00,0,c148d540,3,c0296360) at panic+0xa4
> pmap_mapdev(100000,1fefdfff,2,1fefe000,1fffdfff) at pmap_mapdev+0x46
> nexus_alloc_resource(c147b200,c1483b80,3,c02f8cdc,100000) at nexus_alloc_resource+0xa8
> BUS_ALLOC_RESOURCE(c147b200,c1483b80,3,c02f8cdc,100000) at BUS_ALLOC_RESOURCE+0x43
> bus_generic_alloc_resource(c147b180,c1483b80,3,c02f8cdc,100000) at bus_generic_alloc_resource+0x2d
> BUS_ALLOC_RESOURCE(c147b180,c1483b80,3,c02f8cdc,100000) at BUS_ALLOC_RESOURCE+0x43
> resource_list_alloc(c147c5c4,c147b000,c1483b80,3,c02f8cdc) at resource_list_alloc+0x69
> pci_alloc_resource(c147b000,c1483b80,3,c02f8cdc,100000) at pci_alloc_resource+0x38
> BUS_ALLOC_RESOURCE(c147b000,c1483b80,3,c02f8cdc,100000) at BUS_ALLOC_RESOURCE+0x43
> bus_generic_alloc_resource(c147dc00,c1483b80,3,c02f8cdc,100000) at bus_generic_alloc_resource+0x2d
> BUS_ALLOC_RESOURCE(c147dc00,c1483b80,3,c02f8cdc,100000) at BUS_ALLOC_RESOURCE+0x43
> resource_list_alloc(c147c5c0,c1483f80,c1483b80,3,c02f8cdc,100000,ffffffff,1,2) at resource_list_alloc+0xf1
> isa_probe_children(c1483f80) at isa_probe_children+0x186
> configure(0,2f6c00,300000,0,c011c4d6) at configure+0x41
> mi_startup(c02f8fb4,0,0,a04,0) at mi_startup+0x70
> begin() at begin+0x4b
> db> panic
> panic: from debugger
> mp_lock = 00000003; cpuid = 0; lapic.id = 01000000
> Uptime: 0s
> amr0: flushing cache...
> 
> ----- End forwarded message -----
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message
> 

-- 
\\ Give a man a fish, and you feed him for a day. \\  Mike Smith
\\ Tell him he should learn how to fish himself,  \\  msmith@freebsd.org
\\ and he'll hate you for a lifetime.             \\  msmith@cdrom.com




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200001180112.RAA02848>