2014-09-24 7 views
1

Trustzone (ARM)으로 작업 중이며 Linux에서의 메모리 액세스와 달리 신뢰할 수있는 애플릿은 가상 - 실제 메모리 매핑에 액세스 할 수 없습니다. 그것은 물리적 메모리를 엄격하게 다룹니다.가상 메모리에서 실제 메모리로

가상 주소에서 실제 주소로 변환하는 방법은 무엇입니까?

+0

왜 가상으로 변환해야합니까? – osgx

+0

원래 게시물 에서처럼 Trustzone에서 실행되는 코드는 가상 - 실제 메모리 매핑에 액세스 할 수 없습니다. trustzone이 호출되면 CPU는 처리를 중지합니다. CPU에서 실행되도록 허용 된 것은 신뢰할 수있는 애플릿뿐입니다. 호스트 OS는 문자 그대로 중지됩니다. 따라서 매핑에 액세스 할 필요가 없습니다. – MarkP

+0

어떤 매핑이 필요합니까? 모든 사용자 프로그램은 자신의 매핑을 가지고 있으며 신뢰할 수없는 커널은 자신의 매핑을 가지고 있습니다. – osgx

답변

0

그렇다면 CPU에 설정된 가상 주소 공간에서 분리되어 응용 프로그램에서 사용할 수있는 메모리 영역을 알 수 없다는 것을 알고 있습니까?

  • 은 어떻게 든 (물리적) 메모리의 섹션이 응용 프로그램에 대한 예약 된 OS를 말할 : 제 생각에는

    당신은 두 가지 선택이있다. 0xfff0에서 0xffff까지 가정 해 보겠습니다.

  • 매핑이있는 페이지 테이블은 대개 메모리의 커널 끝에 있습니다. 해당 주소를 얻으려고하면 무료 주소 공간 (메모리 블록)을 검색 할 수 있습니다.