RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Software | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

HAL_IRQClear

Hardware Abstraction Layer
HAL entry points from RISC OS
» HAL_IRQClear

HAL_IRQClear

(HAL entry #3)
void HAL_IRQClear(int device)
Entry
device Device number to clear interrupt state for
Exit
-

Use

This call has a dual purpose:

  1. To clear the interrupt state of latched interrupt sources – typically for edge-triggered interrupts and certain integrated devices such as
    1. Timers (as reported by HAL_TimerDevice)
    2. VSync (as reported by HAL_VideoFlybackDevice)
  2. To trigger the interrupt controller to start looking for new interrupt sources (required for interrupt controllers that latch the device number of the interrupt source, and thus could claim that the device is still interrupting even if it’s been successfully serviced).

Because of point 2, this means that all interrupt service routines must call this routine after servicing the device. Current versions of the kernel will not call HAL_IRQClear for you – it is your responsibility to do so yourself. This is new functionality added for the Cortex/OMAP3 port, to account for the behaviour of the OMAP3 interrupt controller.

See also

  • HAL interrupt handling API
  • HAL timer API
  • HAL Video API
Information sources: Kernel.Docs.HAL.MoreEnts, HAL.Tungsten.s.Interrupts, HAL.OMAP3.s.Interrupts in CVS
Revised on November 26, 2011 15:23:50 by Ben Avison (25)? (82.13.37.162)
Edit | Back in time (1 revision) | See changes | History | Views: Print | Source | Linked from: HAL entry points from RISC OS, HAL Device descriptor, HAL interrupt handling API, HAL TODO, HAL entry points by number, HAL_KbdScanInterrupt, PCI Overview

Search the Wiki

Commercial use

For commercial enquiries, please contact the owners of RISC OS, Castle Technology Ltd.

ROOL Store

The official C/C++ Development kit and more here.

Donate! Why?

Help ROOL make things happen – please consider donating!

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2011 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys