HAL/x86.


Detailed Description

Basic x86-dependent services used by the Xenomai nucleus.


Files

file  hal.h
 Adeos-based Real-Time Hardware Abstraction Layer for x86.
file  hal.c
 Adeos-based Real-Time Abstraction Layer for x86.

Functions

int rthal_enable_irq (unsigned irq)
 Enable an IRQ source.
int rthal_disable_irq (unsigned irq)
 Disable an IRQ source.
int rthal_request_linux_irq (unsigned irq, irqreturn_t(*handler)(int irq, void *dev_id, struct pt_regs *regs), char *name, void *dev_id)
 Install a shared Linux interrupt handler.
int rthal_release_srq (unsigned srq)
 Uninstall a system request handler.


Function Documentation

int rthal_release_srq unsigned  srq  ) 
 

Uninstall a system request handler.

rthal_release_srq uninstalls the specified system call srq, returned by installing the related handler with a previous call to rthal_request_srq().

Return values:
EINVAL if srq is invalid.

int rthal_request_linux_irq unsigned  irq,
irqreturn_t(*)(int irq, void *dev_id, struct pt_regs *regs)  handler,
char *  name,
void *  dev_id
 

Install a shared Linux interrupt handler.

rthal_request_linux_irq installs function handler as a standard Linux interrupt service routine for IRQ level irq forcing Linux to share the IRQ with other interrupt handlers. The handler is appended to any already existing Linux handler for the same irq and is run by Linux irq as any of its handler. In this way a real time application can monitor Linux interrupts handling at its will. The handler appears in /proc/interrupts.

Parameters:
irq is the IRQ level to which the handler will be associated.
handler pointer on the interrupt service routine to be installed.
name is a name for /proc/interrupts.
dev_id is to pass to the interrupt handler, in the same way as the standard Linux irq request call.
The interrupt service routine can be uninstalled using rthal_release_linux_irq().

Return values:
0 on success.
-EINVAL if irq is not a valid external IRQ number or handler is NULL.


Generated on Mon Dec 13 09:49:49 2004 for RTAI API by  doxygen 1.3.9.1