Subversion Repositories HelenOS

Rev

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

Rev 51 Rev 60
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 <arch/ski/ski.h>
29
#include <arch/ski/ski.h>
30
 
30
 
-
 
31
.section K_TEXT_START
-
 
32
.global k_text_start
-
 
33
k_text_start:
-
 
34
 
-
 
35
.section K_TEXT_END
-
 
36
.global k_text_end
-
 
37
k_text_end:
-
 
38
 
-
 
39
.section K_DATA_START
-
 
40
.global k_data_start
-
 
41
k_data_start:
-
 
42
 
-
 
43
.section K_DATA_END
-
 
44
.global k_data_end
-
 
45
k_data_end:
-
 
46
 
-
 
47
 
31
.text
48
.text
32
 
49
 
33
.global kernel_image_start
50
.global kernel_image_start
34
 
51
 
35
stack0:
52
stack0:
36
kernel_image_start:
53
kernel_image_start:
37
	# initialize gp (Global Pointer) register
54
	# initialize gp (Global Pointer) register
38
	mov r1=kernel_image_start;
55
	movl r1=k_text_start;
39
 
56
 
40
	# set stack pointer to some sane value
57
	# set stack pointer to some sane value
41
	mov r12=stack0
58
	movl r12=stack0
-
 
59
 
-
 
60
	#
-
 
61
	# Initialize hardcoded_* variables.
-
 
62
	# (IA-64 port doesn't get these values from linker.)
-
 
63
	#
-
 
64
	movl r8 = k_text_start	;;
-
 
65
	movl r9 = k_text_end	;;
-
 
66
	sub r8 = r9, r8		;;
-
 
67
	addl r10 = @gprel(hardcoded_ktext_size), gp;;
-
 
68
	st4 [r10] = r8		;;
-
 
69
 
-
 
70
	movl r8 = k_data_start	;;
-
 
71
	movl r9 = k_data_end	;;
-
 
72
	sub r8 = r9, r8		;;
-
 
73
	addl r10 = @gprel(hardcoded_kdata_size), gp;;
-
 
74
	st4 [r10] = r8		;;
-
 
75
	
-
 
76
	addl r10 = @gprel(hardcoded_load_address), gp;;
-
 
77
	st8 [r10] = r1
42
	
78
	
43
	# initialize Ski console using SSC (Simulator System Call)
79
	# initialize Ski console using SSC (Simulator System Call)
44
	mov r15=SKI_CONSOLE_INIT
80
	mov r15=SKI_CONSOLE_INIT
45
	break 0x80000
81
	break 0x80000
46
 
82
 
47
	br.call.sptk.many rp=main_bsp
83
	br.call.sptk.many b0=main_bsp
48
 
84
 
49
0:
85
0:
50
	br 0b
86
	br 0b
-
 
87