From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14423 invoked by alias); 23 Feb 2012 09:58:51 -0000 Received: (qmail 14415 invoked by uid 22791); 23 Feb 2012 09:58:51 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 23 Feb 2012 09:58:38 +0000 Received: by mail.ecoscentric.com (Postfix, from userid 48) id 8247F2F78008; Thu, 23 Feb 2012 09:58:37 +0000 (GMT) From: bugzilla-daemon@bugs.ecos.sourceware.org To: unassigned@bugs.ecos.sourceware.org Subject: [Bug 1001456] HAL misses Interrupt Clear-Pending Registers handling: wasted processing power X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: eCos X-Bugzilla-Component: HAL X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: ilijak@siva.com.mk X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: low X-Bugzilla-Assigned-To: unassigned@bugs.ecos.sourceware.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: In-Reply-To: References: X-Bugzilla-URL: http://bugs.ecos.sourceware.org/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Thu, 23 Feb 2012 09:58:00 -0000 Message-Id: <20120223095835.532D52F78008@mail.ecoscentric.com> Mailing-List: contact ecos-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: ecos-bugs-owner@sourceware.org X-SW-Source: 2012/txt/msg00342.txt.bz2 Please do not reply to this email. Use the web interface provided at: http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001456 --- Comment #18 from Ilija Kocho 2012-02-23 09:58:31 GMT --- (In reply to comment #17) > If you have at hand "The definitive guide to the ARM Cortex-M3" by Joseph Yiu: > see chapter 7, "Interrupt Inputs and Pending Behavior" section, especially > figure 7.13, this is exactly what I observed. I guess that in context of this bug you probably mean fig 7.14. (i guess the number at the bottom of fig.). For solution I would return to cyg_drv_interrupt_acknowledge() since that's what it's supposed to do: "Perform any processing required at the interrupt controller and in the CPU to cancel the current interrupt request on the vector. An ISR may also need to program the hardware of the device to prevent an immediate re-triggering of the interrupt." Only, it should be called later than it is called now. I acknowledge your concern about generic serial driver but it has some conditional code already so adding little-bit more wouldn't harm (or IMO the impact will be lower than adding functions on Kernel level). -- Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.