기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

memcpy();

조회 수 791 추천 수 0 2012.03.31 04:58:26

커널 2.6.18에서 작업 중인데여 ..

 

 

아래 소스가 memcpy() 에서 include 되서

 

arch/arm/lib/ copy_template.S 소스 입니다.

 

디버깅 메시지를 찍어 본 결과

103번째 줄이 실행이 안되고 죽습니다.;;

 

메모리를 크게 복사하는 것도 아니고요,,

 

의문이네여 ,,;;

 

조언을 구합니다.

 

 

  71                enter   r4, lr
72
73                subs    r2, r2, #4
74                blt     8f
75                ands    ip, r0, #3
76        PLD(    pld     [r1, #0]                )
77                bne     9f
78                ands    ip, r1, #3
79                bne     10f
80
811:              subs    r2, r2, #(28)
82                stmfd   sp!, {r5 - r8}
83                blt     5f
84
85        CALGN(  ands    ip, r1, #31             )
86        CALGN(  rsb     r3, ip, #32             )
87        CALGN(  sbcnes  r4, r3, r2              )  @ C is always set here
88        CALGN(  bcs     2f                      )
89        CALGN(  adr     r4, 6f                  )
90        CALGN(  subs    r2, r2, r3              )  @ C gets set
91        CALGN(  add     pc, r4, ip              )
92
93        PLD(    pld     [r1, #0]                )
942:      PLD(    subs    r2, r2, #96             )
95        PLD(    pld     [r1, #28]               )
96        PLD(    blt     4f                      )
97        PLD(    pld     [r1, #60]               )
98        PLD(    pld     [r1, #92]               )
99
1003:      PLD(    pld     [r1, #124]              )
1014:              ldr8w   r1, r3, r4, r5, r6, r7, r8, ip, lr, abort=20f
102                subs    r2, r2, #32
103                str8w   r0, r3, r4, r5, r6, r7, r8, ip, lr, abort=20f
104                bge     3b
105        PLD(    cmn     r2, #96                 )
106        PLD(    bge     4b                      )
107
1085:              ands    ip, r2, #28
109                rsb     ip, ip, #32
110                addne   pc, pc, ip              @ C is always clear here
111                b       7f
1126:              nop
113                ldr1w   r1, r3, abort=20f
114                ldr1w   r1, r4, abort=20f
115                ldr1w   r1, r5, abort=20f
116                ldr1w   r1, r6, abort=20f
117                ldr1w   r1, r7, abort=20f
118                ldr1w   r1, r8, abort=20f
119                ldr1w   r1, lr, abort=20f
120
121                add     pc, pc, ip
122                nop
123                nop
124                str1w   r0, r3, abort=20f
125                str1w   r0, r4, abort=20f
126                str1w   r0, r5, abort=20f
127                str1w   r0, r6, abort=20f
128                str1w   r0, r7, abort=20f
129                str1w   r0, r8, abort=20f
130                str1w   r0, lr, abort=20f
131
132        CALGN(  bcs     2b                      )
133
1347:              ldmfd   sp!, {r5 - r8}
135
1368:              movs    r2, r2, lsl #31
137                ldr1b   r1, r3, ne, abort=21f
138                ldr1b   r1, r4, cs, abort=21f
139                ldr1b   r1, ip, cs, abort=21f
140                str1b   r0, r3, ne, abort=21f
141                str1b   r0, r4, cs, abort=21f
142                str1b   r0, ip, cs, abort=21f
143
144                exit    r4, pc
145
1469:              rsb     ip, ip, #4
147                cmp     ip, #2
148                ldr1b   r1, r3, gt, abort=21f
149                ldr1b   r1, r4, ge, abort=21f
150                ldr1b   r1, lr, abort=21f
151                str1b   r0, r3, gt, abort=21f
152                str1b   r0, r4, ge, abort=21f
153                subs    r2, r2, ip
154                str1b   r0, lr, abort=21f
155                blt     8b
156                ands    ip, r1, #3
157                beq     1b
158
15910:             bic     r1, r1, #3
160                cmp     ip, #2
161                ldr1w   r1, lr, abort=21f
162                beq     17f
163                bgt     18f
164
165
166                .macro  forward_copy_shift pull push
167
168                subs    r2, r2, #28
169                blt     14f
170
171        CALGN(  ands    ip, r1, #31             )
172        CALGN(  rsb     ip, ip, #32             )
173        CALGN(  sbcnes  r4, ip, r2              )  @ C is always set here
174        CALGN(  subcc   r2, r2, ip              )
175        CALGN(  bcc     15f                     )
176
17711:             stmfd   sp!, {r5 - r9}
178
179        PLD(    pld     [r1, #0]                )
180        PLD(    subs    r2, r2, #96             )
181        PLD(    pld     [r1, #28]               )
182        PLD(    blt     13f                     )
183        PLD(    pld     [r1, #60]               )
184        PLD(    pld     [r1, #92]               )
185
18612:     PLD(    pld     [r1, #124]              )
18713:             ldr4w   r1, r4, r5, r6, r7, abort=19f
188                mov     r3, lr, pull #\pull
189                subs    r2, r2, #32
190                ldr4w   r1, r8, r9, ip, lr, abort=19f
191                orr     r3, r3, r4, push #\push
192                mov     r4, r4, pull #\pull
193                orr     r4, r4, r5, push #\push
194                mov     r5, r5, pull #\pull
195                orr     r5, r5, r6, push #\push
196                mov     r6, r6, pull #\pull
197                orr     r6, r6, r7, push #\push
198                mov     r7, r7, pull #\pull
199                orr     r7, r7, r8, push #\push
200                mov     r8, r8, pull #\pull
201                orr     r8, r8, r9, push #\push
202                mov     r9, r9, pull #\pull
203                orr     r9, r9, ip, push #\push
204                mov     ip, ip, pull #\pull
205                orr     ip, ip, lr, push #\push
206                str8w   r0, r3, r4, r5, r6, r7, r8, r9, ip, , abort=19f
207                bge     12b
208        PLD(    cmn     r2, #96                 )
209        PLD(    bge     13b                     )
210
211                ldmfd   sp!, {r5 - r9}
212
21314:             ands    ip, r2, #28
214                beq     16f
215
21615:             mov     r3, lr, pull #\pull
217                ldr1w   r1, lr, abort=21f
218                subs    ip, ip, #4
219                orr     r3, r3, lr, push #\push
220                str1w   r0, r3, abort=21f
221                bgt     15b
222        CALGN(  cmp     r2, #0                  )
223        CALGN(  bge     11b                     )
224
22516:             sub     r1, r1, #(\push / 8)
226                b       8b
227
228                .endm
229
230
231                forward_copy_shift      pull=8  push=24
232
23317:             forward_copy_shift      pull=16 push=16
234
23518:             forward_copy_shift      pull=24 push=8
236
237
238/*
239 * Abort preamble and completion macros.
240 * If a fixup handler is required then those macros must surround it.
241 * It is assumed that the fixup code will handle the private part of
242 * the exit macro.
243 */
244
245        .macro  copy_abort_preamble
24619:     ldmfd   sp!, {r5 - r9}
247        b       21f
24820:     ldmfd   sp!, {r5 - r8}
24921:
250        .endm
251
252        .macro  copy_abort_end
253        ldmfd   sp!, {r4, pc}
254        .endm

List of Articles
번호 제목 글쓴이 날짜 조회 수
5288 S3C6410 삼성 2.6.29 kernel 구하는 곳이 없을까요? [7] Supsupi 2012-04-05 1333
5287 WIFI 인증 테스트 하려고 하는데요... 명령어가 [3] 현쓰 2012-04-05 2405
5286 android USB 질문 입니다. [3] kingdomy 2012-04-05 1276
5285 USB : Bulk In callback 호출 문제 다콩 2012-04-05 844
5284 uboot에서 멈추는 현상에 대해서 문의 드립니다. [2] 혜민아빠 2012-04-04 1352
5283 u-boot가 다음 메세지까지만 출력하고 멈추게 되면 뭘 의심해야 할까... file [3] 혜민아빠 2012-04-03 1281
5282 uboot에서 sdram메모리 설정은 어디서 해야 할까요? [1] 혜민아빠 2012-04-03 1149
5281 uboot설정을 sdram memory와 맞추기 위해서는 어떻게 해야하는 것일까... file [1] 혜민아빠 2012-04-03 1205
5280 [s5pc110] SsbSipMfcEncAPI.c 사용하여 H264 인코딩 file [4] 차차호드 2012-04-03 2026
5279 WIFI 인증 관련 궁금한점 있습니다. [5] 현쓰 2012-04-03 1454
5278 ramdisk 땜시 허덕이고 있습니다. ㅠㅠ(help me) [2] 혜민아빠 2012-04-03 1182
5277 u-boot의 mtdpart 환경변수값의 의미가 궁금합니다. [2] Supsupi 2012-04-02 1724
5276 안드로이드 자바로 멀티코어 사용 문의 [7] 김장균 2012-04-02 1338
» memcpy(); 해황 2012-03-31 791
5274 tftp 이거 가능한건가요?[초보자] file [2] 웅탱곰탱 2012-03-31 1327
5273 memcpy() [1] 해황 2012-03-30 1002
5272 nexus-S에 ics 올리기 [2] 박수민 2012-03-29 1273
5271 스위치관련 질문입니다. sonbong 2012-03-28 704
5270 Origen 리나로 우분투 HDMI 문의 [2] 김장균 2012-03-28 1277
5269 회로도 관련 질문이 있습니다. [7] sonbong 2012-03-27 1514

사용자 로그인