Re[4]: Linux. Драйвер. Память.
От: unkn2000  
Дата: 22.12.03 12:42
Оценка:
Здравствуйте, vitka, Вы писали:

V>Всё правильно, т.к. remap_page_range чистит память.


Я изменил код:
    int RC = remap_page_range(vma->vm_start, 
                              __pa(KBuffer), 
                              size, 
                              vma->>vm_page_prot);

    for(i = 0; i < 256; i++) KBuffer[i] = 55;

    return RC;


Теперь remap_page_range не может повлиять на содержимое буфера, но результат тот же.
Как быть?

Я пробовал вообще выносить весь код выделения, отображение и инициализации памяти в функцию probe (она вызывается при загрузке драйвера, когда подключается устройство до вызова мной mmap). А в DrvMmap только возвращал значение возращённое remap_page_range. Но результаты те же.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.