Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Jun 2004 12:25:51 -0400
From:      Gerrit Nagelhout <gnagelhout@sandvine.com>
To:        'John Baldwin' <jhb@FreeBSD.org>, freebsd-current@FreeBSD.org
Cc:        Julian Elischer <julian@elischer.org>
Subject:   RE: STI, HLT in acpi_cpu_idle_c1
Message-ID:  <FE045D4D9F7AED4CBFF1B3B813C85337054EC4CF@mail.sandvine.com>

next in thread | raw e-mail | index | archive | help
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
> @@ -184,6 +184,10 @@
>  		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
> @@ -202,7 +206,11 @@
>  			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@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



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