[Armadillo:03456] Re: [Armadillo-500] 外部拡張バスについて

Yasushi SHOJI email@hidden
2008年 9月 30日 (火) 16:01:54 JST


At Sun, 14 Sep 2008 22:16:10 +0900,
Hiroki Sugano wrote:
> 
> $ sudo ./test_mem 0xb8002000 0x60
> mmap: start=B8002000 len=00000060 page_offset=00000000
> mapped address = 0x40016000
> zsh: bus error  sudo ./test_mem 0xb8002000 0x60

bus errorの場合は alignmentがあやしいはず。

> $ dmesg|tail -1
> Unhandled fault: external abort on non-linefetch (0x008) at 0x40016000
> 
> というエラーメッセージが出てプログラムが終了します.
[...test_mem.c...]
>     mmaped=mmap(NULL, len+poff, PROT_READ, MAP_SHARED, fd, st-poff);

man mmapによると

> offset must be a multiple of the page size as returned by sysconf(_SC_PAGE_SIZE).

ということなので、mmapの最後の引数が PAGE_SIZEで alignされていないから
じゃないですか?
-- 
          yashi



armadillo メーリングリストの案内