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

Kernel\arch\arm\kernel\head.s의  ARM(add pc, r10, #PROCINFO_INITFUNC)이부분이 head-common.s의 __mmap_switched:로 분기해야하는데 분기가 되지 않네요.

 

간단히 설명 드리겠습니다.

head.s의 내용 입니다.

 TRACE_LINE(r8,r11,r12);   @1111까지는 문제없이 출력 됩니다.

 

 bl __create_page_tables

 /*
  * The following calls CPU specific code in a position independent
  * manner.  See arch/arm/mm/proc-*.S for details.  r10 = base of
  * xxx_proc_info structure selected by __lookup_machine_type
  * above.  On return, the CPU will be ready for the MMU to be
  * turned on, and r0 will hold the CPU control register value.
  */
 ldr r13, __switch_data  @ address to jump to after
                                 @ mmu has been enabled
 adr lr, BSYM(__enable_mmu)  @ return (PIC) address
 TRACE_LINE(r8,r11,r12);   @11111
 ARM(add pc, r10, #PROCINFO_INITFUNC)
 TRACE_LINE(r8,r11,r12);  @22222
 THUMB(add r12, r10, #PROCINFO_INITFUNC)
 TRACE_LINE(r8,r11,r12);   @333333
 THUMB(mov pc, r12)

 

 

head-common.s의 내용

__map_switched:

TRACE_LINE(r8,r11,r12);   @44444

 adr r3, __switch_data + 4

 ldmia r3!, {r4, r5, r6, r7}
 cmp r4, r5    @ Copy data segment if needed
1: cmpne r5, r6
 ldrne fp, [r4], #4
 strne fp, [r5], #4
 bne 1b

 

head-common.s의 TRACE_LINE(r8,r11,r12);   @44444풀력되지 않네요.

 

 

결론을 얘기하면 head-common.S의  __mmap_switched로 안간다는 말입니다.

 

수고하세요


관리자

2013.01.16 10:49:12
*.111.12.170

음....오래되어서 예전 자료를 찾아봐야 하겠지만요...


일단 TRACE_LINE이란 함수의 내부 구성을 봐야할 듯 하네요....


serial로 글자를 찍는 매크로 같은데...virtual인지 physical인지를 따져봐야할 듯도 하고요.


황원일

2013.01.16 21:47:35
*.7.236.194

TRACE_LINE 매크로 입니다

 arch/arm/include/asm/ptrace.h 에 추가한 상태입니다.

 

구굴링 해본결과  head-common.S에서도 serial로 글자가 잘나온다고 합니다

 

#define STRINGIFY(x)                    #x
#define TOSTRING(x)                     STRINGIFY(x)

#define TRACE_LINE(ra,rb,rc)            mov     ra,r0;                  \
                                        mov     rb,r1;                  \
                                        mov     rc,r2;                 \
                                                                        \
                                        adr     r0,9998f;               \
                                        bl      printascii ;            \
                                                                        \
                                        mov     r2,rc;                 \
                                        mov     r1,rb;                  \
                                        mov     r0,ra;                  \
                                                                        \
                                        b       9999f;                  \
                                9998: ;                                 \
                                        .ascii  "\n>>TRACE:";           \
                                        .ascii  __FILE__;               \
                                        .ascii  ":";                    \
                                        .asciz  TOSTRING(__LINE__);     \
                                        .align;                         \
                                9999: ;

List of Articles
번호 제목 글쓴이 날짜 조회 수
5688 iperf 로 측정한 결과가 이상해요 ㅜㅜ 옹치킨붐붐 2013-01-23 1154
5687 [arndale boardHost OS선택? [1] 바라마79 2013-01-22 1187
5686 iperf 크로스컴파일 질문입니다. [3] 옹치킨붐붐 2013-01-22 1931
5685 갤3 엘티이 빌드해보신분? [2] 옹치킨붐붐 2013-01-19 1481
5684 임베디드 병렬처리 질문드립니다. [4] Supsupi 2013-01-19 1462
5683 iperf 질문입니다. [2] 옹치킨붐붐 2013-01-17 1361
5682 kernel에서 이벤트 받아오기 [5] 손성원 2013-01-17 1228
5681 카메라 데이터시트에 대해서 질문입니다. [2] rubio 2013-01-17 1310
5680 [arndaleboard] mmc write (Linaro EnterpriseUbuntServer) [7] monad 2013-01-17 2099
» head.s 질문 하나 드려봅니다. [2] 황원일 2013-01-16 1346
5678 안드로이드 HID Profile로 사용해보신분 계신가요? 신종원 2013-01-15 1032
5677 nfs로 root 로그인이 안됩니다. [4] Supsupi 2013-01-15 1351
5676 카메라 디바이스 드라이버 공부해보려는 학생입니다..(댓글답변해주세요... [4] rubio 2013-01-15 1460
5675 [origen4412] 내부저장공간 질문 [2] 루트요 2013-01-14 1875
5674 [arndaleboard]SD카드를 이용하지 않는 방법 [4] monad 2013-01-14 1397
5673 리눅스에서 USB 통신시 드라이버 문의입니다. [1] seuny 2013-01-11 1475
5672 [arndaleboard] 이더넷 카드 활성화 여부 [3] monad 2013-01-11 1381
5671 PM 에러 출력문이 왜 나오는지 모르겠습니다. [1] 손성원 2013-01-10 1497
5670 [arndaleboard]EnterpriseUbuntuServer [7] monad 2013-01-10 1474
5669 [arndaleboard]일반 리눅스 포팅 [2] monad 2013-01-10 1371

사용자 로그인