Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Apr 1997 21:07:01 -0700 (PDT)
From:      rsm@spyder.ssw.com
To:        freebsd-gnats-submit@freebsd.org
Subject:   kern/3260: FreeBSD 2.2.1 (and 2.2) npx0 boot problem on IBM Aptiva M71
Message-ID:  <199704120407.VAA11931@freefall.freebsd.org>
Resent-Message-ID: <199704120410.VAA12086@freefall.freebsd.org>

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

>Number:         3260
>Category:       kern
>Synopsis:       FreeBSD 2.2.1 (and 2.2) npx0 boot problem on IBM Aptiva M71
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Apr 11 21:10:01 PDT 1997
>Last-Modified:
>Originator:     Robert Miles
>Organization:
>Release:        2.2.1 and 2.2
>Environment:
Unavailable.
>Description:
I currently run NetBSD 1.2 on my IBM Aptiva M71, and am considering
switching to FreeBSD 2.2 because of better device support, both
for current and anticipated devices.  However, the 2.2 and 2.2.1
boot floppies do not function properly.  The machine hangs (i.e.
cycling power is the only way to recover) during the autoconfig
process.  The last lines printed are:

npx0 on motherboard
npx0: INT 16 interface
apm0: disabled, not probed

This problem does not occur with the 2.1.7 boot floppy, i.e. that does
properly run "sysinstall" after autoconfig.

Using NetBSD I was able to build custom FreeBSD kernels with which to
diagnose the problem.  Only when I excluded the npx0 device would the
kernel stop hanging the machine.  Subsequently, I discovered that the
boot floppy's kernel can be made to work, either by disabling the npx0
device in CLI mode, or setting npx0 flags to 7 in CLI mode.

Here are all the kernel messages from a successful boot:

Copyright (c) 1992-1996 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California.  All rights reserved.

FreeBSD 2.2-RELEASE #2: Sun Mar 16 20:10:44 GMT 1997
    jkh@time.cdrom.com:/usr/src/sys/compile/BOOTMFS
CPU: Pentium (133.16-MHz 586-class CPU)
  Origin = "GenuineIntel"  Id = 0x52b  Stepping=11
  Features=0x1bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8>
real memory  = 16777216 (16384K bytes)

FreeBSD Kernel Configuration Utility - Version 1.1
 Type "help" for help or "visual" to go to the visual
 configuration interface (requires MGA/VGA display or
 serial terminal capable of displaying ANSI graphics).
config> intro
config> flags npx0 7
config> quit
avail memory = 13131776 (12824K bytes)
Probing for devices on PCI bus 0:
chip0 <generic PCI bridge (vendor=1045 device=c557 subclass=0)> rev 17 on pci0:0
chip1 <generic PCI bridge (vendor=1045 device=c558 subclass=1)> rev 17 on pci0:1
vga0 <VGA-compatible display device> rev 211 int a irq ?? on pci0:2
pci0:20:    OPTI, device=0xc621, class=storage (ide) [no driver assigned]
Probing for devices on the ISA bus:
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color <4 virtual consoles, flags=0x0>
ed0 not found at 0x280
ed1 not found at 0x300
fe0 not found at 0x300
sio0 not found at 0x3f8
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
sio2: disabled, not probed.
sio3: disabled, not probed.
lpt0 at 0x3bc-0x3c3 irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
lpt1 not found at 0xffffffff
mse0 not found at 0x23c
psm0: disabled, not probed.
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: NEC 72065B
fd0: 1.44MB 3.5in
ft0: IOMega tape
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: unit 0 (wd0): <IBM-DJAA-31700>
wd0: 1628MB (3334464 sectors), 3308 cyls, 16 heads, 63 S/T, 512 B/S
wdc0: unit 1 (wd1): <WDC AC31200F>
wd1: 1222MB (2503872 sectors), 2484 cyls, 16 heads, 63 S/T, 512 B/S
wdc1 at 0x170-0x177 irq 15 on isa
wdc1: unit 0 (atapi): <FX400/G05C>, removable, intr, iordis
wcd0: 689Kb/sec, 256Kb cache, audio play, 255 volume levels, ejectable tray
wcd0: 120mm data disc loaded, unlocked
bt0 not found at 0x330
uha0 not found at 0x330
aha0 not found at 0x330
aic0 not found at 0x340
nca0 not found at 0x1f88
nca1 not found at 0x350
sea0 not found
wt0 not found at 0x300
mcd0 not found at 0x300
matcdc0 not found at 0x230
scd0 not found at 0x230
ie0 not found at 0x360
ep0 not found at 0x300
ex0 not found at 0x300
ix0 not found at 0x300
le0 not found at 0x300
lnc0 not found at 0x280
ze0 not found at 0x300
zp0 not found at 0x300
npx0 flags 0x7 on motherboard
npx0: INT 16 interface
apm0: disabled, not probed.
changing root device to fd0c
rootfs is 1440 Kbyte compiled in MFS

>How-To-Repeat:
See the full problem description.

Comment:  I have tried the same boot floppy on a 486 class machine
and a 686 class machine, without this problem.

>Fix:
A fix has not been identified, but the full problem description
includes an effective workaround.  At very least it might be worth
augmenting the release notes or hardware guide with the symptom and
suggested workaround.

I suppose it's possible there's something wrong with my hardware, but
the same machine runs a variety of NetBSD and Windows 95 applications
without apparent problem.

I suspect there's something not entirely correct with the floating
point fast memory copy optimizations that seem to have been added to
2.2 for 586 class machines.

If desired, I may be able to help diagnose this further, but only by
assisting someone intimately familiar with the floating point fast
memory copy optimizations.

>Audit-Trail:
>Unformatted:



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