커널 가상메모리맵을 온라인에서 바꿀 수 있나요?
글쓴이: 송지석 / 작성시간: 수, 2007/12/19 - 12:53오후
간단한 드라이버를 짜면서 테스트할 일이 있는데요
리눅스 드라이버 짜본적이 거의 없어서 삽질이네요..
커널에
static struct map_desc my_io_desc[] __initdata = { { .virtual = IO_ADDRESS(MY_SYS_BASE), .pfn = __phys_to_pfn(MY_SYS_BASE), .length = SZ_4K, .type = MT_DEVICE, }, { ....
맵이 이런식으로 되어있는데
여기서 MY_SYS_BASE + 20K 지점을 억세스하려니까 커널 에러가 나는군요(당연, 4K만 열려있으니...)
그래서 이걸 늘리거나 영역을 추가하고 싶은데요
커널을 고쳐서 맵을 추가하면 되겠지만, 혹시 런타임에 이 맵을 추가하거나 바꿀 수 있나요?
아니면 커널레벨에서 Virtual memory가 아닌 physical에 직접 억세스 되나요?
Forums:
ioremap(), iounmap() 과
ioremap(), iounmap()
과 형제자매들.
OTL
댓글 달기