NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PR/47648 CVS commit: src/sys/arch/x86



The following reply was made to PR kern/47648; it has been noted by GNATS.

From: Lars Heidieker <lars%heidieker.de@localhost>
To: Chuck Silvers <chuq%chuq.com@localhost>
Cc: gnats-bugs%NetBSD.org@localhost, gnats-admin%netbsd.org@localhost, 
 netbsd-bugs%netbsd.org@localhost, reinoud%NetBSD.org@localhost
Subject: Re: PR/47648 CVS commit: src/sys/arch/x86
Date: Sat, 30 Mar 2013 11:22:38 +0100

 On 2013-03-29 18:09, Chuck Silvers wrote:
 > On Thu, Mar 28, 2013 at 10:29:12PM +0100, Lars Heidieker wrote:
 >> Since these changes I see an interrupt storm in int 9 for !DIAGNOSTICS
 >> and !DEBUG or DIAGNOSTICS & DEBUG kernels.
 >> It goes away if I put the ioapic_reenable back into mpacpi_find_interrupts.
 >>
 >> I think the problem has been there before as well but the
 >> ioapic_reenable fixes it.
 >>
 >> I've attached two dmesg print (same config but one with DIAGNOSTICS
 >> enabled and the other one with DIAGNOISTICS & DEBUG)
 >>
 >> In case of no interrupt storm
 >> ioapic0: int9 0x8060<vector=0x60,delmode=0x0,level,dest=0x0> 0x0<target=0x0>
 >>
 >> In case of interrupt storm
 >> ioapic0: int9
 >> 0xb060<vector=0x60,delmode=0x0,pending,actlo,level,dest=0x0> 0x0<target=0x0>
 > 
 > 
 > ok, apparently my new code in acpi_md_OsInstallInterruptHandler() gets the 
 > polarity wrong,
 > but mpacpi_nonpci_intr() which is called later gets it right, and call to 
 > ioapic_reenable()
 > pushes the corrected info into the hardware.  could you add some printfs to 
 > both of these
 > to see why they are coming to different conclusions about what "redir" 
 > should be?
 > 
 > -Chuck
 > 
 
 Ok, I think I know what is going wrong, the memory for interrupt maps
 gets allocated in mpacpi_config_irouting and
 acpi_md_OsInstallInterruptHandler uses that memory to store config if
 allocated and to a tmpmap if not (dropping that info).
 apic_set_redir uses that config if allocated and defaults otherwise
 but as mpacpi_config_irouting runs after the SCI gets installed, we
 might endup with wrong values.
 
 I tend to think that putting the ioapic_reenable back into
 mpacpi_find_interrupts should do.
 
 Lars
 
 
 -- 
 ------------------------------------
 
 Mystische Erklärungen:
 Die mystischen Erklärungen gelten für tief;
 die Wahrheit ist, dass sie noch nicht einmal oberflächlich sind.
 
    -- Friedrich Nietzsche
    [ Die Fröhliche Wissenschaft Buch 3, 126 ]
 


Home | Main Index | Thread Index | Old Index