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

안녕하세요? 오랜만에 들어와서 질문드립니다.

원하는 내용은  
exception vector table 영역이 cache내에 계속 존재하도록 하고 싶습니다.
----------------------------------------------------------------------

환경 - ARM926EJS, linux kernel 2.6.21

질문 1) arch/arm/mm/mmu.c에 있는 MT_HIGH_VECTORS의 memory type에 있는 L_PTE_YOUNG과 L_PTE_DIRTY의 의미는 무엇일까요? (googling해봐도 안나오네요 --;)


질문 2) MT_HIGH_VECTORS의 memory type으로 0xFFFF0000으로 mapping된 exception vector table은 cache내에 지속적으로 존재하나요?

질문 3) linux에서 arm core의 cache lock-down을 제공하는 함수가 있습니까?
이게 없다면 혹시 cache내의 내용을 지속적으로 유지하기 위한 방법은 뭐가 있을까요?

답변주시면 감사하겠습니다.



고현철

2008.04.03 10:14:02
*.187.44.115

1. 일단 L_PTE_YOUNG의 definition이 있는 /include/asm-arm/pgtable.h
의 내용을 참조하시고요. 문맥상의 의미로는 파악하기 힘든 말이고요...^^

실제로는 paging out될 넘이 L_PTE_DIRTY로 표시가 될겁니다. 제 생각엔 swap을 쓰겠다는 얘기가 된다고 보여집니다(가능할 경우)

2. 정확하게는 자료를 찾아봐야겠지만요...아마 caching이 안되는 영역일겁니다.

[MT_HIGH_VECTORS] = {
219 .prot_pte = L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_DIRTY |
220 L_PTE_USER | L_PTE_EXEC,
221 .prot_l1 = PMD_TYPE_TABLE,
222 .domain = DOMAIN_USER,
223 },

소스를 보니깐.....uncached.일 듯 싶네요....prot_sect 영역이 없으니 아마도 0으로 세팅될겁니다. cache랑 write buffer가 아마도 0일 듯...^^

3. 잘 모르는 내용이라 pass요...^^, 제가 cache쪽은 꽝이라서요...ㅎㅎ
꺼야하는 경우랑 켜야하는 경우랑 외엔 그다지 신경을 안 써서요...^^

김광준

2008.04.03 16:17:53
*.94.41.89

2. TCM을 사용하면 보통 캐슁할 필요가 없습니다. 캐슁여부는 MMU table에서 이 주소영영을 설정했는지 확인하면 알 수 있습니다. MMU table을 protection한 경우는 소스코드를 확인해야 합니다.
3. 코프로세서에 설정하는 기능이 있습니다. 따라서 어셈블리 언어로 작성되어야만 기능 구현이 가능합니다. linux에서 사용하는지는 제가 커널코드를 안봐서 잘 모르겠습니다.

김정호

2008.04.03 16:31:39
*.241.151.50

답변 감사합니다.
좀 더 연구해보겠습니다.
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
5108 [질문]SRCPND에 대해서 [2] 손성원 2008-03-29 712
5107 [완료]DNW관련 에러 [5] 이태간 2008-03-29 679
5106 새로운 워크큐 생성시 [2] 정원 2008-03-31 794
5105 [완료]MBOOT이 작동하지 않는문제... [5] 김인상 2008-03-31 902
5104 2.6 kernel에서 4.3"(480x272) 모드로 사용하기 위한 질문입니다. [2] 배장규 2008-03-31 657
5103 [질문]I/O Memory를 이용한 device 접근 version-2 [1] 한기태 2008-04-01 714
5102 bdi2000 사용시 질문 [3] 강승철 2008-04-01 780
5101 [질문]usb to parallel ?? [1] 손성원 2008-04-01 709
5100 난드 플래쉬 동작이 안됩니다. [3] 박준홍 2008-04-01 592
5099 [질문]arm에서의 mmu setting을 이용한 메모리 설정 [1] 한기태 2008-04-01 972
5098 [re] [질문]arm에서의 mmu setting을 이용한 메모리 설정 장석원 2008-04-02 737
5097 [완료]Freescale MC9328MX1 포팅 질문 [2] 이태간 2008-04-02 732
5096 [완료]컴파일시 error발생하는 경우 [4] 김진희 2008-04-02 652
5095 LCD패널 연결방법이 궁금합니다. [4] 현도익 2008-04-03 1028
» [완료] exception vector table과 cache관련 문의 [3] 김정호 2008-04-03 773
5093 [완료] mp2530 wince 에서 bootlogo.bin인가 만드는 방법? 조영택 2008-04-03 591
5092 [re] [질문] mp2530 wince 에서 bootlogo.bin인가 만드는 방법? [1] 한영민 2008-04-03 810
5091 [완료]이솝보드에 관한건 아니지만.. ㅠ.ㅜ (uC/TCP 관련) [2] 이경준 2008-04-03 728
5090 [질문] S3C2410 에서 uda1341 코덱문제 [4] 김형영 2008-04-03 926
5089 [질문]파일생성일자 읽어오는법좀~~ [1] 김우겸 2008-04-03 707

사용자 로그인