Subversion Repositories HelenOS-historic

Rev

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

Rev 1007 Rev 1220
Line 28... Line 28...
28
 
28
 
29
#include <arch/asm/regname.h>
29
#include <arch/asm/regname.h>
30
 
30
 
31
.text
31
.text
32
 
32
 
-
 
33
.global userspace_asm
33
.global iret
34
.global iret
34
.global memsetb
35
.global memsetb
35
.global memcpy
36
.global memcpy
36
 
37
 
-
 
38
userspace_asm:
-
 
39
 
-
 
40
	# r3 = uspace_uarg
-
 
41
	# r4 = stack
-
 
42
	# r5 = entry	
-
 
43
 
-
 
44
	mfmsr r31
-
 
45
	rlwinm r31, r31, 0, 17, 15
-
 
46
	mtmsr r31
-
 
47
	
-
 
48
	# set entry point
-
 
49
	
-
 
50
	mtsrr0 r5
-
 
51
	
-
 
52
	# set problem state, enable interrupts
-
 
53
	
-
 
54
	ori r31, r31, 1 << 14
-
 
55
	ori r31, r31, 1 << 15
-
 
56
	mtsrr1 r31
-
 
57
	
-
 
58
	# set stack
-
 
59
	
-
 
60
	mr sp, r4
-
 
61
	
-
 
62
	# jump to userspace
-
 
63
	
-
 
64
	rfi
-
 
65
 
37
iret:
66
iret:
38
	lwz r3, 144(sp)
67
	lwz r3, 144(sp)
39
	mtxer r3
68
	mtxer r3
40
	
69
	
41
	lwz r3, 140(sp)
70
	lwz r3, 140(sp)