]> oss.titaniummirror.com Git - msp430-libc.git/blobdiff - include/signal.h
Imported msp430-libc-20100207
[msp430-libc.git] / include / signal.h
index 40a91f874ab313a5cef983fcee3078ec8290f18f..6d1d786f6f842e64399b64c5ed2aa70e78fb043f 100644 (file)
@@ -24,7 +24,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: signal.h,v 1.15 2006/11/15 14:34:57 coppice Exp $
+ * $Id: signal.h,v 1.17 2009/06/04 21:55:18 cliechti Exp $
  */
 
 #if !defined(__SIGNAL_H_)
 #if defined(__MSP430X__)
 #define INTERRUPT_VECTOR_SLOTS      32
 #define RESET_VECTOR                62
+#elif defined(__MSP430X2__)
+#warning X2 ist da
+#define INTERRUPT_VECTOR_SLOTS      64
+#define RESET_VECTOR                126
 #else
 #define INTERRUPT_VECTOR_SLOTS      16
 #define RESET_VECTOR               30
 #endif
 
-#if !defined(_GNU_ASSEMBLER_)
+#if !defined(__ASSEMBLER__)
 
 #define Interrupt(x) void __attribute__((interrupt (x)))
 #define INTERRUPT(x) void __attribute__((interrupt (x)))
@@ -74,7 +78,7 @@
 
 #define UNEXPECTED() interrupt (NOVECTOR) _unexpected_(void)
 
-#else   /*_GNU_ASSEMBLER_ / assember definitions*/
+#else   /*__ASSEMBLER__ / assember definitions*/
 
 /* Double macro trick to achieve that the x gets expanded*/
 #define interrupt(x) xinterrupt(x)
 
 /* Direct generation of the labels is impossible, so just replace the dummy ones
    with the real ones through those defs:*/
-#if INTERRUPT_VECTOR_SLOTS == 32
+#if INTERRUPT_VECTOR_SLOTS == 64
+#define vector_0   vector_ff80
+#define vector_2   vector_ff82
+#define vector_4   vector_ff84
+#define vector_6   vector_ff86
+#define vector_8   vector_ff88
+#define vector_10  vector_ff8a
+#define vector_12  vector_ff8c
+#define vector_14  vector_ff8e
+#define vector_16  vector_ff90
+#define vector_18  vector_ff92
+#define vector_20  vector_ff94
+#define vector_22  vector_ff96
+#define vector_24  vector_ff98
+#define vector_26  vector_ff9a
+#define vector_28  vector_ff9c
+#define vector_30  vector_ff9e
+#define vector_32  vector_ffa0
+#define vector_34  vector_ffa2
+#define vector_36  vector_ffa4
+#define vector_38  vector_ffa6
+#define vector_40  vector_ffa8
+#define vector_42  vector_ffaa
+#define vector_44  vector_ffac
+#define vector_46  vector_ffae
+#define vector_48  vector_ffb0
+#define vector_50  vector_ffb2
+#define vector_52  vector_ffb4
+#define vector_54  vector_ffb6
+#define vector_56  vector_ffb8
+#define vector_58  vector_ffba
+#define vector_60  vector_ffbc
+#define vector_62  vector_ffbe
+#define vector_64  vector_ffc0
+#define vector_66  vector_ffc2
+#define vector_68  vector_ffc4
+#define vector_70  vector_ffc6
+#define vector_72  vector_ffc8
+#define vector_74  vector_ffca
+#define vector_76  vector_ffcc
+#define vector_78  vector_ffce
+#define vector_80  vector_ffd0
+#define vector_82  vector_ffd2
+#define vector_84  vector_ffd4
+#define vector_86  vector_ffd6
+#define vector_88  vector_ffd8
+#define vector_90  vector_ffda
+#define vector_92  vector_ffdc
+#define vector_94  vector_ffde
+#define vector_96  vector_ffe0
+#define vector_98  vector_ffe2
+#define vector_100 vector_ffe4
+#define vector_102 vector_ffe6
+#define vector_104 vector_ffe8
+#define vector_106 vector_ffea
+#define vector_108 vector_ffec
+#define vector_110 vector_ffee
+#define vector_112 vector_fff0
+#define vector_114 vector_fff2
+#define vector_116 vector_fff4
+#define vector_118 vector_fff6
+#define vector_120 vector_fff8
+#define vector_122 vector_fffa
+#define vector_124 vector_fffc
+#define vector_126 vector_fffe
+#elif INTERRUPT_VECTOR_SLOTS == 32
 #define vector_0  vector_ffc0
 #define vector_2  vector_ffc2
 #define vector_4  vector_ffc4
 #define vector_30 vector_fffe
 #endif
 
-#endif /*_GNU_ASSEMBLER_*/
+#endif /*__ASSEMBLER__*/
 
 #endif