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] |