Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libgloss/hp74x/iva_table.h')
-rw-r--r--libgloss/hp74x/iva_table.h164
1 files changed, 164 insertions, 0 deletions
diff --git a/libgloss/hp74x/iva_table.h b/libgloss/hp74x/iva_table.h
new file mode 100644
index 000000000..68d6ba977
--- /dev/null
+++ b/libgloss/hp74x/iva_table.h
@@ -0,0 +1,164 @@
+/****************************************************************************
+
+ THIS SOFTWARE IS NOT COPYRIGHTED
+
+ HP offers the following for use in the public domain. HP makes no
+ warranty with regard to the software or it's performance and the
+ user accepts the software "AS IS" with all faults.
+
+ HP DISCLAIMS ANY WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD
+ TO THIS SOFTWARE INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+****************************************************************************/
+
+ /* Interrupt Vector Table entry macros */
+
+#define cstring(Len,String) .byte Len !\
+ .string String
+
+#define cstringz(Len,String) .byte Len !\
+ .stringz String
+
+AdvancePCOQ .macro
+ mtctl %r0,%pcoq ; throw away iiaoq head pointer, tail->head
+ mfctl %pcoq,%r1 ; get tail pointer
+ mtctl %r1,%pcoq ; insert tail pointer
+ ldo 4(%r1),%r1 ; advance tail pointer
+ mtctl %r1,%pcoq ; insert new tail pointer, former tail->head
+ .endm
+
+#ifdef PRINTSTRING_LED
+PrintString .macro NString,Num
+ bl put_led,%mrp
+ ldi Num+0xa0,%arg2
+ addil L%NString-$global$,%dp
+ bl puts,%rp
+ ldo R%NString-$global$(%r1),%arg0
+ b,n .
+ nop
+ .endm
+#endif
+
+#ifdef HALT
+
+PrintString .macro NString,Num
+ bl,n save_state,%r25
+ nop
+ bl print_intr,%rp
+ ldi NString-Str01,%arg0
+ bl print_state,%rp
+ nop
+ b,n halt
+ nop
+ .endm
+
+#endif
+
+#ifdef RECOVER
+
+PrintString .macro NString,Num
+ bl,n save_state,%r25
+ nop
+ bl print_intr,%rp
+ ldi NString-Str01,%arg0
+ bl print_state,%rp
+ nop
+ b,n recover
+ nop
+ .endm
+
+#endif
+
+PrintString .macro NString,Num
+ bl,n save_state,%r25
+ nop
+ bl print_intr,%rp
+ ldi NString-Str01,%arg0
+#ifdef FULL_REPORT
+ bl print_state,%rp
+#else
+ nop
+#endif
+ nop
+ b restore_to_STUB
+ ldi Num,%r1
+ .endm
+
+
+ /* IVA register array offets */
+
+#define R_sr0 0
+#define R_sr1 4
+#define R_sr2 8
+#define R_sr3 12
+#define R_sr4 16
+#define R_sr5 20
+#define R_sr6 24
+#define R_sr7 28
+
+#define R_gr0 32
+#define R_gr1 36
+#define R_gr2 40
+#define R_gr3 44
+#define R_gr4 48
+#define R_gr5 52
+#define R_gr6 56
+#define R_gr7 60
+#define R_gr8 64
+#define R_gr9 68
+#define R_gr10 72
+#define R_gr11 76
+#define R_gr12 80
+#define R_gr13 84
+#define R_gr14 88
+#define R_gr15 92
+#define R_gr16 96
+#define R_gr17 100
+#define R_gr18 104
+#define R_gr19 108
+#define R_gr20 112
+#define R_gr21 116
+#define R_gr22 120
+#define R_gr23 124
+#define R_gr24 128
+#define R_gr25 132
+#define R_gr26 136
+#define R_gr27 140
+#define R_gr28 144
+#define R_gr29 148
+#define R_gr30 152
+#define R_gr31 156
+
+#define R_rctr 160
+#define R_cpu0 164
+#define R_pidr1 168
+#define R_pidr2 172
+#define R_ccr 176
+#define R_sar 180
+#define R_pidr3 184
+#define R_pidr4 188
+#define R_iva 192
+#define R_eiem 196
+
+#define R_itmr 200
+#define R_pcsqH 204
+#define R_pcoqH 208
+#define R_iir 212
+#define R_pcsqT 216
+#define R_pcoqT 220
+#define R_isr 224
+#define R_ior 228
+#define R_ipsw 232
+#define R_eirr 236
+
+#define R_tr0 240
+#define R_tr1 244
+#define R_tr2 248
+#define R_tr3 252
+#define R_tr4 256
+#define R_tr5 260
+#define R_tr6 264
+#define R_tr7 268
+
+#define R_SIZE 272