This is the mail archive of the mailing list for the eCos project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug 1001456] HAL misses Interrupt Clear-Pending Registers handling:wasted processing power

Please do not reply to this email. Use the web interface provided at:

Bernd Edlinger <> changed:

           What    |Removed                     |Added
                 CC|                            |

--- Comment #28 from Bernd Edlinger <> 2012-09-27 13:38:45 BST ---
Hi Bernard,

just one thing...

personally I would not like to add more Kernel APIs unless it is absolutely

In the hal/arm subtree when there is an interrupt, the function
hal_IRQ_handler() gets called first. This function determines the
highest priority irq, and updates the ISR (in service register),
this would be a place to clear the interrupt pending bit for your architecture.

Suppose the clear pending is done automatically in hal_IRQ_handler()
and hal_interrupt_acknowledge is empty, then this would be a safe way
to write the isr/dsr in the driver:

  return CALL_DSR;

   now handle interrupt...


this is in fact how most drivers are already written today.

would'nt that be OK for you too?

Bernd Edlinger

Configure bugmail:
------- You are receiving this mail because: -------
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]