Based on the original RTAI layer for PPC and the RTAI/x86 rewrite over ADEOS.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139, USA; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
Defines |
#define | __RTAI_HAL__ |
#define | RTAI_NR_IRQS (RTAI_TIMER_DECR_IRQ + 1) |
#define | BEGIN_PIC() |
#define | END_PIC() |
#define | adeos_pend_irq(irq) |
#define | rtai_critical_sync NULL |
#define | rt_free_apic_timers() rt_free_timer() |
#define | RTAI_SCHED_ISR_LOCK() |
#define | RTAI_SCHED_ISR_UNLOCK() |
#define | RT_PRINTK_SRQ 1 |
#define | PRINTK_BUF_SIZE (10000) |
#define | TEMP_BUF_SIZE (500) |
Functions |
| MODULE_LICENSE ("GPL") |
| MODULE_PARM (rtai_cpufreq_arg,"i") |
unsigned long | rtai_critical_enter (void(*synch)(void)) |
void | rtai_critical_exit (unsigned long flags) |
int | rt_request_irq (unsigned irq, int(*handler)(unsigned irq, void *cookie), void *cookie, int retmode) |
int | rt_release_irq (unsigned irq) |
void | rt_set_irq_cookie (unsigned irq, void *cookie) |
void | rt_set_irq_retmode (unsigned irq, int retmode) |
| rtai_save_and_lock_preempt_count () |
| start and initialize the PIC to accept interrupt request irq.
|
void | rt_shutdown_irq (unsigned irq) |
| Shut down an IRQ source.
|
void | _rt_enable_irq (unsigned irq) |
| Enable an IRQ source.
|
void | rt_enable_irq (unsigned irq) |
void | rt_disable_irq (unsigned irq) |
| Disable an IRQ source.
|
void | rt_mask_and_ack_irq (unsigned irq) |
| Mask and acknowledge and IRQ source.
|
void | _rt_end_irq (unsigned irq) |
| Unmask and IRQ source.
|
void | rt_unmask_irq (unsigned irq) |
void | rt_ack_irq (unsigned irq) |
| Acknowledge an IRQ source.
|
int | rt_request_linux_irq (unsigned irq, irqreturn_t(*handler)(int irq, void *dev_id, struct pt_regs *regs), char *name, void *dev_id) |
| Install shared Linux interrupt handler.
|
int | rt_free_linux_irq (unsigned irq, void *dev_id) |
| Uninstall shared Linux interrupt handler.
|
void | rt_pend_linux_irq (unsigned irq) |
| Pend an IRQ to Linux.
|
int | rt_request_srq (unsigned label, void(*k_handler)(void), long long(*u_handler)(unsigned)) |
| Install a system request handler.
|
int | rt_free_srq (unsigned srq) |
| Uninstall a system request handler.
|
void | rt_pend_linux_srq (unsigned srq) |
| Append a Linux IRQ.
|
void | rtai_broadcast_to_timers (int irq, void *dev_id, struct pt_regs *regs) |
void | rt_request_apic_timers (void(*handler)(void), struct apic_timer_setup_data *tmdata) |
int | rt_assign_irq_to_cpu (int irq, unsigned long cpus_mask) |
int | rt_reset_irq_to_sym_mode (int irq) |
void | rt_request_timer_cpuid (void(*handler)(void), unsigned tick, int cpuid) |
int | rt_request_timer (void(*handler)(void), unsigned tick, int use_apic) |
| Install a timer interrupt handler.
|
void | rt_free_timer (void) |
| Uninstall a timer interrupt handler.
|
| rtai_isr_hook (cpuid) |
| while (0) |
void | rtai_ssrq_trampoline (unsigned virq) |
long long | rtai_usrq_trampoline (unsigned srq, unsigned label) |
asmlinkage int | rtai_syscall_entry (struct pt_regs *regs) |
void | rtai_install_archdep (void) |
void | rtai_uninstall_archdep (void) |
void(*)(int) | rt_set_ihook (void(*hookfn)(int)) |
void | rtai_domain_entry (int iflag) |
void | rt_printk_srq_handler (void) |
int | __rtai_hal_init (void) |
void | __rtai_hal_exit (void) |
| module_init (__rtai_hal_init) |
| module_exit (__rtai_hal_exit) |
int | rt_printk (const char *fmt,...) |
void * | ll2a (long long ll, char *s) |
| EXPORT_SYMBOL (rtai_realtime_irq) |
| EXPORT_SYMBOL (rt_request_irq) |
| EXPORT_SYMBOL (rt_release_irq) |
| EXPORT_SYMBOL (rt_set_irq_cookie) |
| EXPORT_SYMBOL (rt_set_irq_retmode) |
| EXPORT_SYMBOL (rt_startup_irq) |
| EXPORT_SYMBOL (rt_shutdown_irq) |
| EXPORT_SYMBOL (rt_enable_irq) |
| EXPORT_SYMBOL (rt_disable_irq) |
| EXPORT_SYMBOL (rt_mask_and_ack_irq) |
| EXPORT_SYMBOL (rt_unmask_irq) |
| EXPORT_SYMBOL (rt_ack_irq) |
| EXPORT_SYMBOL (rt_request_linux_irq) |
| EXPORT_SYMBOL (rt_free_linux_irq) |
| EXPORT_SYMBOL (rt_pend_linux_irq) |
| EXPORT_SYMBOL (rt_request_srq) |
| EXPORT_SYMBOL (rt_free_srq) |
| EXPORT_SYMBOL (rt_pend_linux_srq) |
| EXPORT_SYMBOL (rt_assign_irq_to_cpu) |
| EXPORT_SYMBOL (rt_reset_irq_to_sym_mode) |
| EXPORT_SYMBOL (rt_request_apic_timers) |
| EXPORT_SYMBOL (rt_request_timer) |
| EXPORT_SYMBOL (rt_free_timer) |
| EXPORT_SYMBOL (rt_set_ihook) |
| EXPORT_SYMBOL (rtai_critical_enter) |
| EXPORT_SYMBOL (rtai_critical_exit) |
| EXPORT_SYMBOL (rtai_set_linux_task_priority) |
| EXPORT_SYMBOL (rtai_linux_context) |
| EXPORT_SYMBOL (rtai_domain) |
| EXPORT_SYMBOL (rtai_proc_root) |
| EXPORT_SYMBOL (rtai_tunables) |
| EXPORT_SYMBOL (rtai_cpu_lock) |
| EXPORT_SYMBOL (rtai_cpu_realtime) |
| EXPORT_SYMBOL (rt_times) |
| EXPORT_SYMBOL (rt_smp_times) |
| EXPORT_SYMBOL (rt_printk) |
| EXPORT_SYMBOL (ll2a) |
| EXPORT_SYMBOL (rtai_lxrt_invoke_entry) |
| EXPORT_SYMBOL (rt_scheduling) |
Variables |
unsigned long | rtai_cpufreq_arg = RTAI_CALIBRATED_CPU_FREQ |
struct { |
volatile int locked |
volatile int rqsted |
} | rt_scheduling [RTAI_NR_CPUS] |
void(* | rtai_isr_hook )(int cpuid) |
desc_struct | idt_table [] |
adomain_t | rtai_domain |
struct { |
int(* handler )(unsigned irq, void *cookie) |
void * cookie |
int retmode |
} | rtai_realtime_irq [RTAI_NR_IRQS] |
struct { |
unsigned long flags |
int count |
} | rtai_linux_irq [NR_IRQS] |
struct { |
void(* k_handler )(void) |
long long(* u_handler )(unsigned) |
unsigned label |
} | rtai_sysreq_table [RTAI_NR_SRQS] |
unsigned | rtai_sysreq_virq |
unsigned long | rtai_sysreq_map = 3 |
unsigned long | rtai_sysreq_pending |
unsigned long | rtai_sysreq_running |
spinlock_t | rtai_ssrq_lock = SPIN_LOCK_UNLOCKED |
volatile int | rtai_sync_level |
atomic_t | rtai_sync_count = ATOMIC_INIT(1) |
rt_times | rt_times = { 0 } |
rt_times | rt_smp_times [RTAI_NR_CPUS] = { { 0 } } |
rtai_switch_data | rtai_linux_context [RTAI_NR_CPUS] = { { 0 } } |
calibration_data | rtai_tunables = { 0 } |
volatile unsigned long | rtai_cpu_realtime = 0 |
volatile unsigned long | rtai_cpu_lock = 0 |
int | rtai_adeos_ptdbase = -1 |
hw_interrupt_type | __adeos_std_irq_dtype [] |
unsigned long | adeos_pended |
long long(* | rtai_lxrt_invoke_entry )(unsigned long, unsigned long) |
void * | adeos_extern_irq_handler |
char | rt_printk_buf [PRINTK_BUF_SIZE] |
int | buf_front |
int | buf_back |
char | buf [TEMP_BUF_SIZE] |