Subversion Repositories HelenOS

Rev

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

Rev 4647 Rev 4666
Line 33... Line 33...
33
.global kernel_image_start
33
.global kernel_image_start
34
.global exc_stack
34
.global exc_stack
35
.global supervisor_sp
35
.global supervisor_sp
36
 
36
 
37
kernel_image_start:
37
kernel_image_start:
-
 
38
 
-
 
39
	# initialize Stack pointer for exception modes
-
 
40
	mrs r4, cpsr
-
 
41
	bic r4, r4, #0x1f
38
	
42
 
-
 
43
	#FIQ Mode
-
 
44
	orr r3, r4, #0x11
-
 
45
	msr cpsr_c, r3
-
 
46
	ldr sp, =exc_stack
-
 
47
 
-
 
48
	#IRQ Mode
-
 
49
	orr r3, r4, #0x12
-
 
50
	msr cpsr_c, r3
-
 
51
	ldr sp, =exc_stack
-
 
52
 
-
 
53
	#ABORT Mode
-
 
54
	orr r3, r4, #0x17
-
 
55
	msr cpsr_c, r3
-
 
56
	ldr sp, =exc_stack
-
 
57
 
-
 
58
	#UNDEFINED Mode
-
 
59
	orr r3, r4, #0x1b
-
 
60
	msr cpsr_c, r3
-
 
61
	ldr sp, =exc_stack
-
 
62
 
39
	# switch to supervisor mode
63
	# switch to supervisor mode
40
	mrs r3, cpsr
-
 
41
	bic r3, r3, #0x1f
-
 
42
	orr r3, r3, #0x13
64
	orr r3, r4, #0x13
43
	msr cpsr_c, r3
65
	msr cpsr_c, r3
44
	
66
	
45
	ldr sp, =temp_stack
67
	ldr sp, =temp_stack
46
	
68
	
47
	bl arch_pre_main
69
	bl arch_pre_main