Subversion Repositories HelenOS

Rev

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

Rev 1277 Rev 1355
Line 58... Line 58...
58
		mfsprg2 sp
58
		mfsprg2 sp
59
		subis sp, sp, 0x8000
59
		subis sp, sp, 0x8000
60
	
60
	
61
	2:
61
	2:
62
	
62
	
63
	subi sp, sp, 148
63
	subi sp, sp, 160
64
	stw r0, 0(sp)
64
	stw r0, 8(sp)
65
	stw r2, 4(sp)
65
	stw r2, 12(sp)
66
	stw r3, 8(sp)
66
	stw r3, 16(sp)
67
	stw r4, 12(sp)
67
	stw r4, 20(sp)
68
	stw r5, 16(sp)
68
	stw r5, 24(sp)
69
	stw r6, 20(sp)
69
	stw r6, 28(sp)
70
	stw r7, 24(sp)
70
	stw r7, 32(sp)
71
	stw r8, 28(sp)
71
	stw r8, 36(sp)
72
	stw r9, 32(sp)
72
	stw r9, 40(sp)
73
	stw r10, 36(sp)
73
	stw r10, 44(sp)
74
	stw r11, 40(sp)
74
	stw r11, 48(sp)
75
	stw r13, 44(sp)
75
	stw r13, 52(sp)
76
	stw r14, 48(sp)
76
	stw r14, 56(sp)
77
	stw r15, 52(sp)
77
	stw r15, 60(sp)
78
	stw r16, 56(sp)
78
	stw r16, 64(sp)
79
	stw r17, 60(sp)
79
	stw r17, 68(sp)
80
	stw r18, 64(sp)
80
	stw r18, 72(sp)
81
	stw r19, 68(sp)
81
	stw r19, 76(sp)
82
	stw r20, 72(sp)
82
	stw r20, 80(sp)
83
	stw r21, 76(sp)
83
	stw r21, 84(sp)
84
	stw r22, 80(sp)
84
	stw r22, 88(sp)
85
	stw r23, 84(sp)
85
	stw r23, 92(sp)
86
	stw r24, 88(sp)
86
	stw r24, 96(sp)
87
	stw r25, 92(sp)
87
	stw r25, 100(sp)
88
	stw r26, 96(sp)
88
	stw r26, 104(sp)
89
	stw r27, 100(sp)
89
	stw r27, 108(sp)
90
	stw r28, 104(sp)
90
	stw r28, 112(sp)
91
	stw r29, 108(sp)
91
	stw r29, 116(sp)
92
	stw r30, 112(sp)
92
	stw r30, 120(sp)
93
	stw r31, 116(sp)
93
	stw r31, 124(sp)
94
	
94
	
95
	stw r12, 120(sp)
95
	stw r12, 128(sp)
96
	
96
	
97
	mfsrr0 r12
97
	mfsrr0 r12
98
	stw r12, 124(sp)
98
	stw r12, 132(sp)
99
	
99
	
100
	mfsrr1 r12
100
	mfsrr1 r12
101
	stw r12, 128(sp)
101
	stw r12, 136(sp)
102
	
102
	
103
	mflr r12
103
	mflr r12
104
	stw r12, 132(sp)
104
	stw r12, 140(sp)
105
	
105
	
106
	mfctr r12
106
	mfctr r12
107
	stw r12, 136(sp)
107
	stw r12, 144(sp)
108
	
108
	
109
	mfxer r12
109
	mfxer r12
110
	stw r12, 140(sp)
110
	stw r12, 148(sp)
111
	
111
	
112
	mfsprg1 r12
112
	mfsprg1 r12
113
	stw r12, 144(sp)
113
	stw r12, 152(sp)
114
	
114
	
115
	mfsprg2 r12
115
	mfsprg2 r12
116
	stw r12, 148(sp)
116
	stw r12, 156(sp)
117
.endm
117
.endm
118
 
118
 
119
.org 0x060
119
.org 0x060
120
jump_to_kernel:
120
jump_to_kernel:
121
	lis r12, iret@ha
121
	lis r12, iret@ha
Line 126... Line 126...
126
	ori r12, r12, (msr_ir | msr_dr)@l
126
	ori r12, r12, (msr_ir | msr_dr)@l
127
	mtsrr1 r12
127
	mtsrr1 r12
128
	
128
	
129
	addis sp, sp, 0x8000
129
	addis sp, sp, 0x8000
130
	mr r4, sp
130
	mr r4, sp
-
 
131
	addi r4, r4, 8
-
 
132
	
131
	rfi
133
	rfi
132
 
134
 
133
jump_to_kernel_syscall:
135
jump_to_kernel_syscall:
134
	lis r12, syscall_handler@ha
136
	lis r12, syscall_handler@ha
135
	addi r12, r12, syscall_handler@l
137
	addi r12, r12, syscall_handler@l