summaryrefslogtreecommitdiff
path: root/firmware/crt0.S
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/crt0.S')
-rw-r--r--firmware/crt0.S50
1 files changed, 43 insertions, 7 deletions
diff --git a/firmware/crt0.S b/firmware/crt0.S
index 4ea67ba599..339caadb56 100644
--- a/firmware/crt0.S
+++ b/firmware/crt0.S
@@ -29,20 +29,56 @@ start:
29 mov.l vbr_k,r1 29 mov.l vbr_k,r1
30 mov.l orig_vbr_k,r2 30 mov.l orig_vbr_k,r2
31 31
32 /* Move the serial Rx interrupt vector */ 32 /* Move the invalid instruction vector (4) */
33 mov #0x69,r0 33 mov #4,r0
34 shll2 r0 34 shll2 r0
35 mov.l @(r0,r2),r3 35 mov.l @(r0,r2),r3
36 mov.l r3,@(r0,r1) 36 mov.l r3,@(r0,r1)
37 37
38 /* Move the breakpoint trap vector as well (32) */ 38 /* Move the invalid slot vector (6) */
39 mov #0x20,r0 39 mov #6,r0
40 shll2 r0
41 mov.l @(r0,r2),r3
42 mov.l r3,@(r0,r1)
43
44 /* Move the bus error vector (9) */
45 mov #9,r0
46 shll2 r0
47 mov.l @(r0,r2),r3
48 mov.l r3,@(r0,r1)
49
50 /* Move the DMA bus error vector (10) */
51 mov #10,r0
52 shll2 r0
53 mov.l @(r0,r2),r3
54 mov.l r3,@(r0,r1)
55
56 /* Move the NMI vector as well (11) */
57 mov #11,r0
40 shll2 r0 58 shll2 r0
41 mov.l @(r0,r2),r3 59 mov.l @(r0,r2),r3
42 mov.l r3,@(r0,r1) 60 mov.l r3,@(r0,r1)
43 61
44 /* Move the single step trap vector as well (127) */ 62 /* Move the breakpoint trap vector (32) */
45 mov #0x7f,r0 63 mov #32,r0
64 shll2 r0
65 mov.l @(r0,r2),r3
66 mov.l r3,@(r0,r1)
67
68 /* Move the IO trap vector (33) */
69 mov #33,r0
70 shll2 r0
71 mov.l @(r0,r2),r3
72 mov.l r3,@(r0,r1)
73
74 /* Move the serial Rx interrupt vector (105) */
75 mov #105,r0
76 shll2 r0
77 mov.l @(r0,r2),r3
78 mov.l r3,@(r0,r1)
79
80 /* Move the single step trap vector (127) */
81 mov #127,r0
46 shll2 r0 82 shll2 r0
47 mov.l @(r0,r2),r3 83 mov.l @(r0,r2),r3
48 mov.l r3,@(r0,r1) 84 mov.l r3,@(r0,r1)