Subject: USB & MP
To: None <tech-smp@netbsd.org>
From: John Franklin <franklin@elfie.org>
List: tech-smp
Date: 05/04/2001 14:05:02
I've been tracking the i386 MP work (thanks, Bill!), and for the most part
it's been really good and stable.  However...

I've got a system set up with a USB keyboard & mouse.  I find that the
USB stuff works just fine if I build & run a SP kernel, but doesn't work
at all if I run a MP kernel.

There are five files at http://www.elfie.org/~franklin/netbsd, which I
reference below.

For the SP kernel, I use the DEATHMITTEN config file.  For the MP,
I use DEATHMITTEN.MP which includes the former.  There is a small
diff to the usb subtree.  Specifically, they set the uhcidebug to
16 by default, and adds two printfs which appear in the dmesg.boot.*
files.  The diff is in usb.diff.

I'm no expert in kernel stuff, but comparing the two dmesg.boot files,
it appears to me that the uchi device or device driver never gets the
interrupt when running a MP kernel.  All other devices work just fine.  
It's only the USB that fails under MP, and it seems the USB is the only
device on PCI INT_D.

The same machine runs SP kernels without a hitch, and the same machine
can use the USB and both processors under Win2k.

I know Bill has some interrupt processing work on his TODO list, but I'd
like to know if there's an easy fix to this.  This machine isn't
directly accessible on the net, but I'd be happy to test any patches
or provide other test data.

jf
-- 
John Franklin
franklin@elfie.org
ICBM: N37 12'54", W80 27'14" Z+2100'