Re: STI, HLT in acpi_cpu_idle_c1

From: Scott Long <scottl_at_freebsd.org>
Date: Fri, 25 Jun 2004 10:52:47 -0600
Gerrit Nagelhout wrote:

> John Baldwin wrote:
> 
>>This is why it isn't receiving interrupts.  It thinks one is 
>>still being 
>>serviced and is waiting on the EOI.   That is IPI_HARDCLOCK again.
>>Hmm, try this hack (you can turn idle_hlt back on if you want 
>>since it doesn't 
>>seem to have an effect):
>>
>>Index: intr_machdep.c
>>===================================================================
>>RCS file: /usr/cvs/src/sys/i386/i386/intr_machdep.c,v
>>retrieving revision 1.6
>>diff -u -r1.6 intr_machdep.c
>>--- intr_machdep.c	28 May 2004 17:50:07 -0000	1.6
>>+++ intr_machdep.c	25 Jun 2004 15:42:00 -0000
>>_at__at_ -184,6 +184,10 _at__at_
>> 		clkintr_pending = 1;
>> 
>> 	if (ih != NULL && ih->ih_flags & IH_FAST) {
>>+#if 1
>>+		isrc->is_pic->pic_disable_source(isrc);
>>+		isrc->is_pic->pic_eoi_source(isrc);
>>+#endif
>> 		/*
>> 		 * Execute fast interrupt handlers directly.
>> 		 * To support clock handlers, if a handler registers
>>_at__at_ -202,7 +206,11 _at__at_
>> 			else
>> 				ih->ih_handler(ih->ih_argument);
>> 		}
>>+#if 0
>> 		isrc->is_pic->pic_eoi_source(isrc);
>>+#else
>>+		isrc->is_pic->pic_disable_source(isrc);
>>+#endif
>> 		error = 0;
>> 		critical_exit();
>> 	} else {
>>
>>-- 
>>John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
>>"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
>>
> 
> 
> This patch seems to have broken something with the aac driver.
> I get the following message over and over on bootup:
> 
> aac0: COMMAND 0xca593a14 TIMEOUT AFTER 40 SECONDS
> aac0: COMMAND 0xca593a8c TIMEOUT AFTER 40 SECONDS
> aac0: COMMAND 0xca593b04 TIMEOUT AFTER 40 SECONDS
> aac0: COMMAND 0xca593b7c TIMEOUT AFTER 40 SECONDS
> aac0: COMMAND 0xca593bf4 TIMEOUT AFTER 40 SECONDS
> aac0: COMMAND 0xca593c6c TIMEOUT AFTER 40 SECONDS
> aac0: COMMAND 0xca593ce4 TIMEOUT AFTER 40 SECONDS
> aac0: COMMAND 0xca593d5c TIMEOUT AFTER 40 SECONDS
> aac0: COMMAND 0xca593dd4 TIMEOUT AFTER 40 SECONDS
> aac0: COMMAND 0xca593e4c TIMEOUT AFTER 40 SECONDS
> aac0: COMMAND 0xca593ec4 TIMEOUT AFTER 40 SECONDS
> 
> Thanks,
> 
> Gerrit

This likely means that you're no longer getting any interrupts at all.
Btw, is the aac driver running it MPSAFE or FAST mode?  I'm not sure if
changing it to MPSAFE mode will make a difference, and it certainly will
change the timings in our system.

Scott
Received on Fri Jun 25 2004 - 14:54:14 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:59 UTC