2016-09-01 1 views
0

デバイスからI mmap()、たとえば:/dev/memmmap()がfdなしで呼び出される関数はどれですか?(MAP_ANONYMOUSを使用します)?

fbfd = open("/dev/mem", O_RDWR); 
dataBuffer = (char *)mmap(0, 
          FILESIZE, 
          PROT_READ | PROT_WRITE, 
          MAP_SHARED, 
          fbfd, 
          0); 

それから私は、実際の機能はremap_pfn_rangeを行う見ることができると思い/dev/memf_op->mmapあるmmap_mem()、です。

mmap()MAP_ANONYMOUSとし、fdを指定しないと、どの関数がdoを呼び出すのでしょうかremap_pfn_range

dataBuffer = (char *)mmap(0, 
           FILESIZE, 
           PROT_READ | PROT_WRITE, 
           MAP_SHARED | MAP_ANONYMOUS, 
           0, 
           0); 

私はそれを見つけることができませんか?

ありがとうございます。

答えて

0

OK、私は答えは...

そこにはfdが行われないので、f_op->mmap見つけます。

MAP_ANONYMOUSmmap()MAP_SHARED場合、それはshmem_zero_setup()、セットアップ共有匿名マッピングにより取り扱いとなり、また、do_mmap_pgoff()ためvmaを準備します。

関連する問題