The website "dmilvdv.narod.ru." is not registered with uCoz.
If you are absolutely sure your website must be here,
please contact our Support Team.
If you were searching for something on the Internet and ended up here, try again:

About uCoz web-service

Community

Legal information

Распечатка 10.3 Реализация mmap в uClinux

Распечатка 10.3 Реализация mmap в uClinux

Предыдущая  Содержание  Следующая V*D*V

Распечатка 10.3

 

do_mmap_pgoff() {

 

    …

    …

 

  if (file) {

    error = file->f_op->mmap(file, &vma);

    if (!error)

      return vma.vm_start;

    …

  }

 

    …

 

  tblock = (struct mm_tblock_struct *)

  kmalloc(sizeof(struct mm_tblock_struct),GFP_KERNEL);

    …

    …

  tblock->rblock = (struct mm_rblock_struct *)

  kmalloc(sizeof(struct mm_rblock_struct), GFP_KERNEL);

 

    …

    …

  result = kmalloc(len, GFP_KERNEL);

    …

    …

 

  /* Подсчёт ссылок */

  tblock->rblock->refcount = 1;

  tblock->rblock->kblock = result;

  tblock->rblock->size = len;

    …

    …

  /* Подключаем блок к списку блоков структуры задачи */

  tblock->next = current->mm->context.tblock.next;

  current->mm->context.tblock.next = tblock;

  current->mm->total_vm += len >> PAGE_SHIFT;

 

  return (unsigned long)result;

}

Предыдущая  Содержание  Следующая