summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc64/shared/start/trap_table.S
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/sparc64/shared/start/trap_table.S')
-rw-r--r--c/src/lib/libbsp/sparc64/shared/start/trap_table.S204
1 files changed, 204 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/sparc64/shared/start/trap_table.S b/c/src/lib/libbsp/sparc64/shared/start/trap_table.S
new file mode 100644
index 0000000000..4490e7e2f7
--- /dev/null
+++ b/c/src/lib/libbsp/sparc64/shared/start/trap_table.S
@@ -0,0 +1,204 @@
+/*
+ * trap_table.S
+ *
+ * trap code for Sparc64 RTEMS.
+ *
+ * COPYRIGHT (c) 2010 Gedare Bloom.
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * This code defines the space for the trap table used by sun4u.
+ *
+ * This file is currently unused.
+ *
+ * $Id$
+ */
+
+
+#include <rtems/asm.h>
+#include <rtems/score/cpu.h>
+#include <traptable.h>
+
+#define BAD_TRAP \
+ ta 0; \
+ nop; \
+ nop; \
+ nop; \
+ nop; \
+ nop; \
+ nop; \
+ nop;
+
+.section .ttable
+ .align (TABLE_SIZE)
+PUBLIC(trap_table)
+ SYM(trap_table):
+ .space TABLE_SIZE
+
+/* These are just bogus traps that aren't used ever
+
+.org trap_table + 8*32
+ BAD_TRAP; ! 8 IAE
+.org trap_table + 9*32
+ BAD_TRAP; ! 9
+.org trap_table + 10*32
+ BAD_TRAP; ! A
+
+.org trap_table + 11*32
+ BAD_TRAP; ! B
+.org trap_table + 12*32
+ BAD_TRAP; ! C
+
+.org trap_table + 16*32
+ BAD_TRAP; ! 10 illegal instruction
+.org trap_table + 17*32
+ BAD_TRAP; ! 11 privileged op_code
+
+.org trap_table + 18*32
+ BAD_TRAP; ! 12 unimplemented LDD
+.org trap_table + 19*32
+ BAD_TRAP; ! 13 unimplemented std
+.org trap_table + 20*32
+ BAD_TRAP; ! 14 dae invalid asi
+.org trap_table + 21*32
+ BAD_TRAP; ! 15 dae priv violation
+.org trap_table + 22*32
+ BAD_TRAP; ! 16 dae nc page
+.org trap_table + 23*32
+ BAD_TRAP; ! 17 dae nfo page
+
+.org trap_table + 32*32
+ BAD_TRAP; ! 20 fp_disabled
+.org trap_table + 33*32
+ BAD_TRAP; ! 21 fp_exception_ieee_754
+.org trap_table + 34*32
+ BAD_TRAP; ! 22 fp_exception_other
+
+.org trap_table + 35*32
+ BAD_TRAP; ! 23 tag_overflow
+
+.org trap_table + 36*32
+ BAD_TRAP; ! 24-27 clean_window
+
+
+.org trap_table + 40*32
+ BAD_TRAP; ! 28 div by zero
+
+.org trap_table + 48*32
+ BAD_TRAP; ! 30 data access exception
+
+.org trap_table + 49*32
+ BAD_TRAP; ! 31 data mmu miss
+.org trap_table + 50*32
+ BAD_TRAP; ! 32 data access error
+
+.org trap_table + 52*32
+ BAD_TRAP; ! 34 mem address not aligned
+.org trap_table + 53*32
+ BAD_TRAP; ! 35 LDDF mem address not aligned
+.org trap_table + 54*32
+ BAD_TRAP; ! 36 STDF mem addr not aligned
+.org trap_table + 55*32
+ BAD_TRAP; ! 37 privileged action
+.org trap_table + 56*32
+ BAD_TRAP; ! 38 LDQF mem addr not aligned
+.org trap_table + 57*32
+ BAD_TRAP; ! 39 STQF mem addr not aligned
+
+
+.org trap_table + 65*32
+ BAD_TRAP; ! 41-4F
+ ! interrupt_level_n (1-15)
+.org trap_table + 66*32
+ BAD_TRAP; !
+.org trap_table + 67*32
+ BAD_TRAP; !
+.org trap_table + 68*32
+ BAD_TRAP; !
+.org trap_table + 69*32
+ BAD_TRAP; !
+.org trap_table + 70*32
+ BAD_TRAP; !
+.org trap_table + 71*32
+ BAD_TRAP; !
+.org trap_table + 72*32
+ BAD_TRAP; !
+.org trap_table + 73*32
+ BAD_TRAP; !
+.org trap_table + 74*32
+ BAD_TRAP; !
+.org trap_table + 75*32
+ BAD_TRAP; !
+.org trap_table + 76*32
+ BAD_TRAP; !
+.org trap_table + 77*32
+ BAD_TRAP; !
+.org trap_table + 78*32
+ BAD_TRAP; !
+.org trap_table + 79*32
+ BAD_TRAP; !
+
+.org trap_table + 124*32
+ BAD_TRAP; ! 7C cpu mondo
+
+.org trap_table + 125*32
+ BAD_TRAP; ! 7D dev mondo
+
+.org trap_table + 128*32
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! 80-83 spill_0_normal
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! 84-87 spill_1_normal
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! 88-8B spill_2_normal
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! 8C-8F spill_3_normal
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! 90-93 spill_4_normal
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! 94-97 spill_5_normal
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! 98-9B spill_6_normal
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! 9C-9F spill_7_normal
+
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! A0-A3 spill_0_other
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! A4-A7 spill_1_other
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! A8-AB spill_2_other
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! AC-AF spill_3_other
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! B0-B3 spill_4_other
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! B4-B7 spill_5_other
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! B8-BB spill_6_other
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! BC-BF spill_7_other
+
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! C0-C3 fill_0_normal
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! C4-C7 fill_1_normal
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! C8-CB fill_2_normal
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! CC-CF fill_3_normal
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! D0-D3 fill_4_normal
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! D4-D7 fill_5_normal
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! D8-DB fill_6_normal
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! DC-DF fill_7_normal
+
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! E0-E3 fill_0_other
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! E4-E7 fill_1_other
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! E8-EB fill_2_other
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! EC-EF fill_3_other
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! F0-F3 fill_4_other
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! F4-F7 fill_5_other
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! F8-FB fill_6_other
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP; ! FC-FF fill_7_other
+
+ BAD_TRAP;BAD_TRAP;BAD_TRAP; ! 100-17F trap instruction
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+ BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;BAD_TRAP;
+*/
+