[완료] dma_alloc_writecombine 함수 질문입니다.
글쓴이: 박영만 / 작성시간: 월, 2008/06/09 - 5:25오후
dma_alloc_writecombine 함수로 memory address 를 할당하게 되면
그 과정에서 할당되는physical address 메모리 영역을 초기화 해버리던데..
이 초기화 과정을 막을 수 있는 방법이 없을까요.
상세한 사항은
현재 bootloader 에서 framebuffer 에 이미지를 뿌리는데.
Kernel 이 올라가는 과정에서도 그 bootloader 에서 뿌린 이미지를 유지하고자 하는 것입니다.
메모리의 가장 하단 1M를 고정하고 커널에서 그 1M 메모리를 제외 후
fbi->map_cpu & map_dma 값을 직접 대입하는 방법을 시도해보았는데
잘되지 않더라구요.. (부팅시 이미지 유지는 되나 부팅 후 커널에서 Framebuffer 드라이버가 정상 동작하지 않습니다.)
ioremap 으로 할당하는 방식도 이용해봤는데 실패했습니다.
dma_alloc_writecombine 끝 인자값인 gfp 플래그 값을 잘맞춰주면
되지 않을까 생각하지만 도통 어떻게 해야할지 모르겠네요.
경험있으신 분들 조언 부탁드립니다. (--)(__)
Forums:
reserve_bootmem() ioremap_noc
reserve_bootmem()
ioremap_nocache()
으로 잘 동작시키고 있습니다.
OTL
답변 감사합니다.
^^
댓글 달기