Subject: Re: port-i386/35618: ioapic hangs a kernel boot
To: None <port-i386-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: Bernd Ernesti <pr200701@veego.de>
List: netbsd-bugs
Date: 03/02/2007 22:15:09
The following reply was made to PR port-i386/35618; it has been noted by GNATS.

From: Bernd Ernesti <pr200701@veego.de>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: port-i386/35618: ioapic hangs a kernel boot
Date: Fri, 2 Mar 2007 23:10:48 +0100

 The first patch in this pr worked, the second one didn't.
 Cherry send me a mail with a 3rd one which didn't work, but
 told me to remove the '(mip->sflags & MPI_OVR) &&' which brought
 it back to work.
 
 Bernd
 
 On Fri, Mar 02, 2007 at 10:42:39PM +0000, cherry@zyx.in wrote:
 > *** acpi_machdep.c.~1.13.~	Fri Mar  2 05:46:26 2007
 > --- acpi_machdep.c	Fri Mar  2 22:40:20 2007
 > ***************
 > *** 152,157 ****
 > --- 152,161 ----
 >   	for (i = 0; i < mp_nbus; i++) {
 >   		for (mip = mp_busses[i].mb_intrs; mip != NULL;
 >   		     mip = mip->next) {
 > + 			/* Check for MADT Override. */
 > + 			if ((mip->sflags & MPI_OVR) &&
 > + 			    (mip->bus_pin == InterruptNumber)) 
 > + 				InterruptNumber = mip->global_int;
 >   			if (mip->global_int == (int)InterruptNumber) {
 >   				h = mip->ioapic_ih;
 >   				if (APIC_IRQ_ISLEGACY(h)) {
 > ***************
 > *** 213,218 ****
 > --- 217,223 ----
 >   		mip->flags &= ~3;
 >   		mip->flags |= MPS_INTPO_ACTLO;
 >   		mip->redir |= IOAPIC_REDLO_ACTLO;
 > + 		pin = InterruptNumber;
 >   	}
 >   #endif
 >