Subversion Repositories HelenOS-historic

Rev

Rev 1160 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1160 Rev 1398
Line 32... Line 32...
32
.section K_TEXT_START, "ax"
32
.section K_TEXT_START, "ax"
33
 
33
 
34
.global kernel_image_start
34
.global kernel_image_start
35
kernel_image_start:
35
kernel_image_start:
36
 
36
 
37
	# load temporary stack
37
	# load temporal kernel stack
38
	
38
	
39
	lis sp, end_stack@ha
39
	lis sp, kernel_stack@ha
40
	addi sp, sp, end_stack@l
40
	addi sp, sp, kernel_stack@l
-
 
41
	
-
 
42
	# set kernel stack for interrupt handling
-
 
43
	
-
 
44
	mr r31, sp
-
 
45
	subis r31, r31, 0x8000
-
 
46
	mtsprg0 r31
41
	
47
	
42
	# r3 contains physical address of bootinfo_t
48
	# r3 contains physical address of bootinfo_t
43
	# r4 contains size of bootinfo_t
49
	# r4 contains size of bootinfo_t
44
	
50
	
45
	lis r31, 0x80000000@ha
-
 
46
	addi r31, r31, 0x80000000@l
51
	addis r3, r3, 0x8000
47
	
-
 
48
	add r3, r3, r31
-
 
49
 
52
 
50
	lis r31, bootinfo@ha
53
	lis r31, bootinfo@ha
51
	addi r31, r31, bootinfo@l  # r31 = bootinfo
54
	addi r31, r31, bootinfo@l  # r31 = bootinfo
52
	
55
	
53
	cmpwi r4, 0
56
	cmpwi r4, 0
Line 65... Line 68...
65
		cmpwi r4, 0
68
		cmpwi r4, 0
66
		bgt bootinfo_loop
69
		bgt bootinfo_loop
67
		
70
		
68
	bootinfo_end:
71
	bootinfo_end:
69
	
72
	
-
 
73
	bl arch_pre_main
70
	b main_bsp
74
	b main_bsp
71
 
75
 
72
.section K_DATA_START, "aw", @progbits
76
.section K_DATA_START, "aw", @progbits
73
 
77
 
-
 
78
.align 12
-
 
79
kernel_stack_bottom:
74
	.space TEMP_STACK_SIZE
80
	.space TEMP_STACK_SIZE
75
end_stack:
81
kernel_stack: