Subject: Re: ex0: device timeout
To: Woo-il Song <bemess@gmail.com>
From: Frank van der Linden <fvdl@netbsd.org>
List: port-amd64
Date: 01/16/2005 19:21:34
Ok.. looks like this is an nVidia-based board. Problems with nVidia
boards have been documented before: basically they don't work well when
using the IO APICs. And NetBSD/amd64 always uses those (which should
always work). But apparently there's something with the nVidia board
that makes it not work. NetBSD/i386 does not use the IO APICs by
default, so it works.

It's been reported that Linux works because it simply doesn't use the
IO APICs on the board.

You can try compiling a kernel without ioapic support (i.e. comment
it out in the kernel config file), this will probably work. But
it's actually unsupported.

One thing you could try is to use the MPACPI option (and acpi0 at mainbus?)
in the config file, and leave out MPBIOS, and then reconfigure+recompile
the kernel.

If anyone has information on what it takes to make the nVidia IO APICs
work, I'll be very happy to hear it. The only thing I can come up with
is that there are some bits in the PCI-PCI bridge that need to be set
(ex0 is the only device using interrupts behind a bridge).

- Frank