rtai-core/include/asm-i386/rtai_vectors.h

00001 /*
00002  *   ARTI -- RTAI-compatible Adeos-based Real-Time Interface. Based on
00003  *   the original RTAI layer for x86.
00004  *
00005  *   Original RTAI/x86 layer implementation:
00006  *   Copyright (C) 2000 Paolo Mantegazza,
00007  *   Copyright (C) 2000 Steve Papacharalambous,
00008  *   Copyright (C) 2000 Stuart Hughes,
00009  *   and others.
00010  *
00011  *   RTAI/x86 rewrite over Adeos:
00012  *   Copyright (C) 2002 Philippe Gerum.
00013  *
00014  *   This program is free software; you can redistribute it and/or modify
00015  *   it under the terms of the GNU General Public License as published by
00016  *   the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
00017  *   USA; either version 2 of the License, or (at your option) any later
00018  *   version.
00019  *
00020  *   This program is distributed in the hope that it will be useful,
00021  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
00022  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00023  *   GNU General Public License for more details.
00024  *
00025  *   You should have received a copy of the GNU General Public License
00026  *   along with this program; if not, write to the Free Software
00027  *   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00028  */
00029 
00030 #ifndef _RTAI_ASM_I386_VECTORS_H
00031 #define _RTAI_ASM_I386_VECTORS_H
00032 
00033 #include <rtai_config.h>
00034 
00035 /* On Linux x86, Adeos reserves vectors from 0xdf-0xee for domain
00036    usage. */
00037 
00038 #define RTAI_APIC1_VECTOR  0xe1
00039 #define RTAI_APIC2_VECTOR  0xe9
00040 
00041 #define RTAI_APIC1_IPI     193
00042 #define RTAI_APIC2_IPI     201
00043 
00044 #define RTAI_SYS_VECTOR    0xe2
00045 #define RTAI_LXRT_VECTOR   0xe3
00046 #define RTAI_SHM_VECTOR    0xe4
00047 
00048 #define __rtai_stringize0(_s_) #_s_
00049 #define __rtai_stringize(_s_)  __rtai_stringize0(_s_)
00050 #define __rtai_trap_call(_t_)  _t_
00051 #define __rtai_do_trap0(_t_)   __rtai_stringize(int $ _t_)
00052 #define __rtai_do_trap(_t_)    __rtai_do_trap0(__rtai_trap_call(_t_))
00053 
00054 #define RTAI_DO_TRAP(v,r,a1,a2)  __asm__ __volatile__ ( __rtai_do_trap(v) \
00055                                                        : "=A" (r) : "a" (a1), "d" (a2))
00056 
00057 #endif /* !_RTAI_ASM_I386_VECTORS_H */

Generated on Sat Jul 24 19:36:02 2004 for RTAI API by doxygen 1.3.4