NetBSD-Bugs archive

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

Re: port-evbppc/40288: ci_idepth{++,--} is needed in ext_intr() for ibm4xx



The following reply was made to PR port-evbppc/40288; it has been noted by 
GNATS.

From: Izumi Tsutsui <tsutsui%ceres.dti.ne.jp@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: port-evbppc-maintainer%NetBSD.org@localhost, 
gnats-admin%NetBSD.org@localhost,
        netbsd-bugs%NetBSD.org@localhost, tsutsui%ceres.dti.ne.jp@localhost
Subject: Re: port-evbppc/40288: ci_idepth{++,--} is needed in ext_intr() for
         ibm4xx
Date: Thu, 1 Jan 2009 02:00:43 +0900

 > >Synopsis:       ci_idepth{++,--} seems to be needed in ext_intr() for ibm4xx
 
 Could you try this one instead?
 (taken from powerpc/pic/intr.c:pic_handle_intr())
 
 Index: intr.c
 ===================================================================
 RCS file: /cvsroot/src/sys/arch/powerpc/ibm4xx/intr.c,v
 retrieving revision 1.20
 diff -u -r1.20 intr.c
 --- intr.c     2 Jan 2008 11:48:27 -0000       1.20
 +++ intr.c     31 Dec 2008 16:58:06 -0000
 @@ -251,6 +251,7 @@
                        ci->ci_ipending |= r_imen;
                        disable_irq(i);
                } else {
 +                      ci->ci_idepth++;
                        splraise(intrs[i].is_mask);
                        if (intrs[i].is_type == IST_LEVEL)
                                disable_irq(i);
 @@ -272,6 +273,7 @@
                        ci->ci_cpl = pcpl;
                        uvmexp.intrs++;
                        intrs[i].is_evcnt.ev_count++;
 +                      ci->ci_idepth--;
                }
        }
        mtdcr(INTR_ACK, bits_to_clear); /* Acknowledge all pending interrupts */
 
 ---
 Izumi Tsutsui
 


Home | Main Index | Thread Index | Old Index