~jakub/helenos/ia64-revival

« back to all changes in this revision

Viewing changes to boot/arch/arm32/src/asm.S

  • Committer: Jakub Jermar
  • Date: 2011-04-13 14:45:41 UTC
  • mfrom: (527.1.397 main-clone)
  • Revision ID: jakub@jermar.eu-20110413144541-x0j3r1zxqhsljx1o
MergeĀ mainlineĀ changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
.global boot_pt
35
35
.global boot_stack
36
36
.global halt
37
 
.global memcpy
38
37
.global jump_to_kernel
39
38
 
40
39
start:
54
53
halt:
55
54
        b halt
56
55
 
57
 
memcpy:
58
 
        add r3, r1, #3
59
 
        bic r3, r3, #3
60
 
        cmp r1, r3
61
 
        stmdb sp!, {r4, r5, lr}
62
 
        mov r5, r0
63
 
        beq 4f
64
 
        
65
 
        1:
66
 
                cmp r2, #0
67
 
                movne ip, #0
68
 
                beq 3f
69
 
        
70
 
        2:
71
 
                ldrb r3, [ip, r1]
72
 
                strb r3, [ip, r0]
73
 
                add ip, ip, #1
74
 
                cmp ip, r2
75
 
                bne 2b
76
 
        
77
 
        3:
78
 
                mov r0, r5
79
 
                ldmia sp!, {r4, r5, pc}
80
 
        
81
 
        4:
82
 
                add r3, r0, #3
83
 
                bic r3, r3, #3
84
 
                cmp r0, r3
85
 
                bne 1b
86
 
                movs r4, r2, lsr #2
87
 
                moveq lr, r4
88
 
                beq 6f
89
 
                mov lr, #0
90
 
                mov ip, lr
91
 
        
92
 
        5:
93
 
                ldr r3, [ip, r1]
94
 
                add lr, lr, #1
95
 
                cmp lr, r4
96
 
                str r3, [ip, r0]
97
 
                add ip, ip, #4
98
 
                bne 5b
99
 
        
100
 
        6:
101
 
                ands r4, r2, #3
102
 
                beq 3b
103
 
                mov r3, lr, lsl #2
104
 
                add r0, r3, r0
105
 
                add ip, r3, r1
106
 
                mov r2, #0
107
 
        
108
 
        7:
109
 
                ldrb r3, [r2, ip]
110
 
                strb r3, [r2, r0]
111
 
                add r2, r2, #1
112
 
                cmp r2, r4
113
 
                bne 7b
114
 
                b 3b
115
 
 
116
56
jump_to_kernel:
117
57
        #
118
58
        # TODO