Subversion Repositories HelenOS-historic

Rev

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

Rev 1381 Rev 1478
Line 26... Line 26...
26
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
#
27
#
28
 
28
 
29
#include "asm.h"
29
#include "asm.h"
30
#include "regname.h"
30
#include "regname.h"
-
 
31
#include "debug.inc"
31
 
32
 
32
.text
33
.text
33
 
34
 
34
.global halt
35
.global halt
35
.global memcpy
36
.global memcpy
Line 106... Line 107...
106
	# r3 = bootinfo (pa)
107
	# r3 = bootinfo (pa)
107
	# r4 = bootinfo_size
108
	# r4 = bootinfo_size
108
	# r5 = trans (pa)
109
	# r5 = trans (pa)
109
	# r6 = bytes to copy
110
	# r6 = bytes to copy
110
	# r7 = real_mode (pa)
111
	# r7 = real_mode (pa)
-
 
112
	# r8 = framebuffer (pa)
-
 
113
	# r9 = scanline
111
	
114
	
112
	# disable interrupts
115
	# disable interrupts
113
	
116
	
114
	mfmsr r31
117
	mfmsr r31
115
	rlwinm r31, r31, 0, 17, 15
118
	rlwinm r31, r31, 0, 17, 15
Line 121... Line 124...
121
	
124
	
122
	# jumps to real_mode
125
	# jumps to real_mode
123
	
126
	
124
	mfmsr r31
127
	mfmsr r31
125
	lis r30, ~0@h
128
	lis r30, ~0@h
126
	ori r30, r30, ~(msr_ir | msr_dr)@l
129
	ori r30, r30, ~(msr_ir | msr_dr | msr_ee)@l
127
	and r31, r31, r30
130
	and r31, r31, r30
128
	mtspr srr1, r31
131
	mtspr srr1, r31
129
	
132
	
130
	sync
133
	sync
131
	isync
134
	isync
Line 134... Line 137...
134
.section REALMODE, "ax"
137
.section REALMODE, "ax"
135
.align PAGE_WIDTH
138
.align PAGE_WIDTH
136
.global real_mode
139
.global real_mode
137
 
140
 
138
real_mode:
141
real_mode:
-
 
142
 
-
 
143
	DEBUG_real_mode
139
	
144
	
140
	# copy kernel to proper location
145
	# copy kernel to proper location
141
	#
146
	#
142
	# r5 = trans (pa)
147
	# r5 = trans (pa)
143
	# r6 = bytes to copy
148
	# r6 = bytes to copy
-
 
149
	# r8 = framebuffer (pa)
-
 
150
	# r9 = scanline
144
	
151
	
145
	li r31, PAGE_SIZE >> 2
152
	li r31, PAGE_SIZE >> 2
146
	li r30, 0
153
	li r30, 0
147
	
154
	
148
	page_copy:
155
	page_copy:
Line 249... Line 256...
249
	ori r31, r31, (msr_ir | msr_dr)@l
256
	ori r31, r31, (msr_ir | msr_dr)@l
250
	mtspr srr1, r31
257
	mtspr srr1, r31
251
	
258
	
252
	sync
259
	sync
253
	isync
260
	isync
-
 
261
	
-
 
262
	DEBUG_rfi
254
	rfi
263
	rfi
255
 
264
 
256
.align PAGE_WIDTH
265
.align PAGE_WIDTH
257
.global trans
266
.global trans
258
trans:
267
trans: