Гость Опубликовано 7 июля, 2004 Жалоба Поделиться Опубликовано 7 июля, 2004 Плиз!!! Помогите!!! В драйвере PCI устройства, выделяю блок памяти функцией pci_alloc_consistent для DMA в режиме PCI bus-master. Функция возвращает два адреса: виртуальный и физический. Физический записываю в устройство и инициирую однократный ввод данных от PCI устройства в режиме PCI bus-master. Цикл завершается корректно, данные, которые (в режиме ядра) читаю по виртуальному адресу правильные. После этого, не удаляя блок, хочу этот блок памяти спроецировать в пользовательскую программу. Из приложения вызываю mmap (с параметром: fd = дескриптор моего символьного у-ва, offset = физический адрес блока памяти выделенного ранее), вызов проходит без ошибок, но данные не те. Подскажите, может я не правильно что-то делаю? Или совсем нельзя так делать для памяти выделенной pci_alloc_consistent? Хотя для этого же устройства, я проецирую регистры PCI устройства и все работает правильно. Спасибо. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.