Subversion Repositories HelenOS-historic

Rev

Rev 1004 | Rev 1267 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1004 Rev 1215
Line 29... Line 29...
29
#include <arch/asm/regname.h>
29
#include <arch/asm/regname.h>
30
#include <arch/mm/page.h>
30
#include <arch/mm/page.h>
31
 
31
 
32
.section K_UNMAPPED_TEXT_START, "ax"
32
.section K_UNMAPPED_TEXT_START, "ax"
33
 
33
 
34
.org 0x100
-
 
35
.global exc_system_reset
-
 
36
exc_system_reset:
-
 
37
	b exc_system_reset
-
 
38
 
-
 
39
.org 0x200
-
 
40
.global exc_machine_check
-
 
41
exc_machine_check:
-
 
42
	b exc_machine_check
-
 
43
 
-
 
44
.org 0x300
-
 
45
.global exc_data_storage
-
 
46
exc_data_storage:
-
 
47
	b exc_data_storage
-
 
48
 
-
 
49
.org 0x380
-
 
50
.global exc_data_segment
-
 
51
exc_data_segment:
-
 
52
	b exc_data_segment
-
 
53
 
-
 
54
.org 0x400
-
 
55
.global exc_instruction_storage
-
 
56
exc_instruction_storage:
-
 
57
	b exc_instruction_storage
-
 
58
 
-
 
59
.org 0x480
-
 
60
.global exc_instruction_segment
-
 
61
exc_instruction_segment:
-
 
62
	b exc_instruction_segment
-
 
63
 
-
 
64
.org 0x500
-
 
65
.global exc_external
-
 
66
exc_external:
-
 
67
	b exc_external
-
 
68
 
-
 
69
.org 0x600
-
 
70
.global exc_alignment
34
.macro CONTEXT_STORE
71
exc_alignment:
-
 
72
	b exc_alignment
-
 
73
 
-
 
74
.org 0x700
-
 
75
.global exc_program
-
 
76
exc_program:
-
 
77
	b exc_program
-
 
78
 
-
 
79
.org 0x800
-
 
80
.global exc_fp_unavailable
-
 
81
exc_fp_unavailable:
-
 
82
	b exc_fp_unavailable
-
 
83
 
-
 
84
.org 0x900
-
 
85
.global exc_decrementer
-
 
86
exc_decrementer:
-
 
87
	mtspr sprg1, sp
35
	mtspr sprg1, sp
88
	
36
	
89
	subis sp, sp, 0x8000
37
	subis sp, sp, 0x8000
90
	
38
	
91
	subi sp, sp, 144
39
	subi sp, sp, 144
Line 136... Line 84...
136
	mfctr r3
84
	mfctr r3
137
	stw r3, 140(sp)
85
	stw r3, 140(sp)
138
	
86
	
139
	mfxer r3
87
	mfxer r3
140
	stw r3, 144(sp)
88
	stw r3, 144(sp)
-
 
89
.endm
-
 
90
 
-
 
91
.org 0x100
-
 
92
.global exc_system_reset
-
 
93
exc_system_reset:
-
 
94
	b exc_system_reset
-
 
95
 
-
 
96
.org 0x200
-
 
97
.global exc_machine_check
-
 
98
exc_machine_check:
-
 
99
	b exc_machine_check
-
 
100
 
-
 
101
.org 0x300
-
 
102
.global exc_data_storage
-
 
103
exc_data_storage:
-
 
104
	CONTEXT_STORE
-
 
105
 
-
 
106
	lis r3, pht_refill@ha
-
 
107
	addi r3, r3, pht_refill@l
-
 
108
	mtspr srr0, r3
-
 
109
	
-
 
110
	mfmsr r3
-
 
111
	ori r3, r3, (msr_ir | msr_dr)@l
-
 
112
	mtspr srr1, r3
-
 
113
	
-
 
114
	lis r3, iret@ha
-
 
115
	addi r3, r3, iret@l
-
 
116
	mtlr r3
-
 
117
	
-
 
118
	addis sp, sp, 0x8000
-
 
119
	rfi
-
 
120
 
-
 
121
.org 0x400
-
 
122
.global exc_instruction_storage
-
 
123
exc_instruction_storage:
-
 
124
	b exc_instruction_storage
-
 
125
 
-
 
126
.org 0x480
-
 
127
.global exc_instruction_segment
-
 
128
exc_instruction_segment:
-
 
129
	b exc_instruction_segment
-
 
130
 
-
 
131
.org 0x500
-
 
132
.global exc_external
-
 
133
exc_external:
-
 
134
	b exc_external
-
 
135
 
-
 
136
.org 0x600
-
 
137
.global exc_alignment
-
 
138
exc_alignment:
-
 
139
	b exc_alignment
-
 
140
 
-
 
141
.org 0x700
-
 
142
.global exc_program
-
 
143
exc_program:
-
 
144
	b exc_program
-
 
145
 
-
 
146
.org 0x800
-
 
147
.global exc_fp_unavailable
-
 
148
exc_fp_unavailable:
-
 
149
	b exc_fp_unavailable
-
 
150
 
-
 
151
.org 0x900
-
 
152
.global exc_decrementer
-
 
153
exc_decrementer:
-
 
154
	CONTEXT_STORE	
141
 
155
 
142
	lis r3, exc_dispatch@ha
156
	lis r3, exc_dispatch@ha
143
	addi r3, r3, exc_dispatch@l
157
	addi r3, r3, exc_dispatch@l
144
	mtspr srr0, r3
158
	mtspr srr0, r3
145
	
159