Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Jan 1997 15:04:10 -0700
From:      Steve Passe <smp@csn.net>
To:        Keith Mitchell <kmitch@weenix.guru.org>
Cc:        smp@freebsd.org
Subject:   Re: Tomcat III and APIC_IO 
Message-ID:  <199701142204.PAA28385@clem.systemsix.com>
In-Reply-To: Your message of "Tue, 14 Jan 1997 15:29:21 EST." <199701142029.PAA02896@weenix.guru.org> 

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

> Has anyone been able to get the Tomcat III MB to work with APIC_IO??
> 
> I tried the following combinations:
> 
> 	APIC_IO and SMP_INVLTLB
> 	APIC_IO
> 	SMP_INVLTLB
> 	<none> (just SMP)
> 
> Under the first two conditions, the kernel booted but then hung right before
> passing control to init (I think).  It showed all of the usual kernel lines
> and then just sat there.  In the third situation it booted, but when I turned
> on the second processor it panic'd.  The last condition appears to work ok.

case #1 is the preferred situation, if it doesn't work you (or my code)
have a fundimental problem.

case #2 should work, but as stated above, should be used with SMP_INVLTLB.

case #3 (SMP_INVLTLB) NEEDS APIC_IO to work, hence the panic.
I suppose I should add code somewhere that:

#if defined( SMP_INVLTLB ) && !defined( APIC_IO )
#error you MUST use option APIC_IO to use option SMP_INVLTLB
#endif

case #4 obviously NEEDs to work, but #1 SHOULD have.
you need to detrermine where exactly it is hanging.  A copy of all output
leading up to the hang would be helpful.

---
> Here is my kernel config:
>  ...

alot of extras here, start out with a GENERIC config file, strip it of
everything you dont need, then add the SMP specific stuff (APIC_IO &
SMP_INVLTLB).  See if this works.

---
> ------------------------------
> mptable -verbose -dmesg output
> ------------------------------
> ...
> 		INT	active-lo       level	     1	20:A	      2	  16
> 		INT	active-lo       level	     1	19:A	      2	  17
> 		INT	active-lo       level	     1	18:A	      2	  18
> 		INT	active-lo       level	     1	17:A	      2	  19
> ...
> dmesg output:
> ...
> Probing for devices on PCI bus 1:
> ahc0 <Adaptec 3940 Ultra SCSI host adapter> rev 0 int a irq 10 on pci1:4
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^                        ^^^^

my guess is that my APIC code might not be correctly handling the 3940.
Specifically I see that it is on pci bus #1, NOT #0, I don't know how well
I handle that right now.  The basic problem is that it isn't clear to
me how I'm suppossed to translate pci bus #s from the MP table entries...
In most cases there is just bus #0 so there is no ambiguity.  Again I
need to see all the output from the boot preceeding the hang to be able
to help.  To get this without a LOT of retyping you will want to setup a
serial console boot.  I posted a quickie document on doing this awhile back,
look with the search engine in SMP mail for "debugging SMP kernels".  If that
doesn't work let me know and I'll mail it to you.

--
Steve Passe	| powered by
smp@csn.net	|            FreeBSD




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