Операционная система ЗОСРВ «Нейтрино» > Описание базовых компонентов целевой системы > Драйверы > Дисковая подсистема > Блочные устройства > devb-eide, devb-eide-vm8



devb-eide, devb-eide-vm8

Драйверы дискового интерфейса ATA/IDE и интерфейса CD-ROM ATAPI

Синтаксис:

devb-eide [blk опция[,опция]...] [cam опция[,опция]...] [cdrom опция[,опция]...] [disk опция[,опция]...] [eide опция[,опция]...] & 
devb-eide-vm8 [blk опция[,опция]...] [cam опция[,опция]...] [cdrom опция[,опция]...] [disk опция[,опция]...] [eide опция[,опция]...] &

Опции:

...
Все опции драйвера сгруппированы по принадлежности к отдельным модулям. Для разделения опций используется запятая (,). Опции модулей cam, disk, cdrom, eide и blk могут располагаться в любом порядке.

Опции модуля blk:

Поддерживаемые опции можно найти в описании модуля io-blk.so. Указываемые опции должны следовать за ключевым словом blk.

Опции модуля cam:

quiet
Вывести краткую информацию; не отображать информацию при запуске.
verbose
Вывести расширенную информацию: отображать всю информацию о SCSI-модулях (устройствах) при запуске.

Опции модуля cdrom:

Опции модуля cdrom обеспечивают управление интерфейсом драйвера к cam-cdrom.so. Указываемые опции должны следовать за ключевым словом cdrom.

Опции модуля disk:

Опции модуля disk обеспечивают управление интерфейсом драйвера к cam-disk.so. Указываемые опции должны следовать за ключевым словом disk.

Опции модуля eide:

Опции модуля eide обеспечивают управление интерфейсом драйвера к контроллеру EIDE. При установке нескольких контроллеров эти опции можно повторить для каждого из них. Перед набором опций каждого контроллера обязательно указывается ключевое слово eide.

Опции, относящиеся к интерфейсам:

chnl=канал
Номер канала контроллера (0 или 1).
bs=опция
Девайс-специфичные опции.
decode=xor
Выполнение операции исключающего ИЛИ для смещений регистров ввода/вывода со значением xor. Значение xor по умолчанию – 0.
did=идентификатор_устройства
Идентификатор устройства контроллера.
ioport=первичный[:вторичный]
Шестнадцатеричный адрес порта ввода-вывода для интерфейса. По умолчанию определяется автоматически.
ioportsz=размер
Размер порта ввода-вывода для интерфейса. По умолчанию определяется автоматически.
irq=прерывание
Номер прерывания, используемого контроллером.
iwaitnbsy=мс
Количество времени в миллисекундах, в течение которого ожидается состояние не-BSY после прерывания. По умолчанию 20 мс.
master=устройство
Указать опции для ведущего устройства. Информацию о специфичных для устройства опциях см. ниже.
nobios
Не использовать установки BIOS для режима передачи. По умолчанию эти установки используются.
nobmstr
Не использовать режим управления шиной. Эту опцию следует указать при необходимости деактивации прямого доступа к памяти.
noconcurrent
Запретить параллельный доступ к обоим каналам.
nolegacy
Не сканировать традиционные адреса (0x1f0, 0x170).
nomaster
Не сканировать ведущие устройства.
noreset
Не выполнять сброс устройств при инициализации.
noslave
Не сканировать ведомые устройства.
pccard
Сканирование устройств pccard.
pci=индекс
PCI-индекс контроллера в компьютере; аргумент индекс может иметь значение от 0 до числа адаптеров.
priority=приоритет
Установить приоритет потока обработки. Значение по умолчанию – 21.
resets=число
Установить количество итераций сброса котроллера. Значение по умолчанию – 5.
rtime=таймаут
Установить время ожидания сброса в секундах. Значение по умолчанию – 40.
slave=устройство
Указать опции для ведомого устройства. Информацию о специфичных для устройства опциях см. ниже.
stride=выравнивание
Установить значение выравнивания портов ввода/вывода (регистров команд IDE). Например, если порты выравнены по 4-байта, следует установить выравнивание равным 4. Значение по умолчанию – 1.
supported
Вывести поддерживаемые чипсеты.
timeout=таймаут
Установить таймаут для запросов ввода-вывода в секундах. Значение по умолчанию – 10.
vid=идентификатор_вендора
Идентификатор вендора контроллера.

Опции, относящиеся к устройствам:

apm_level=уровень
Установить уровень APM (0x7f0xfe), если устройство поддерживает расширенное управление энергопотреблением APM (Advanced Power Management).
Уровень APM определяет степень активности:
0x7f
минимальное потребление
0xfe
максимальная производительность

По умолчанию установлено максимальное значение (0xfe).
ata
Установить для устройства тип ATA.
atapi
Установить для устройства тип ATAPI.
chs
Установить режим "цилиндр-головка-сектор" (Cylinder-Head-Sector, CHS) вместо режима логической адресации блоков (Logical Block Addressing, LBA). По умолчанию используется LBA.
drdy=on/off
Установить режим готовности устройства для чтения/записи (Device Ready): off – отключает DRDY, on – включает.
geometry=головки:цилиндры:секторы
Определить геометрию накопителя.
mdma=режим
Установить режим "Multi-word DMA". Аргумент режим может принимать значения 02 (или off для отключения).
multiblk=число_блоков
Установить число блоков на каждое прерывание для режима multiblk.
nobios
Не использовать установки BIOS для режима передачи. По умолчанию эти установки используются.
nobmstr
Не использовать режим управления шиной. Эту опцию следует указать при необходимости деактивации прямого доступа к памяти.
nonremovable
Определить устройство как несъемное.
pio=режим
Установить режим PIO. Аргумент режим может принимать значения 04 (или off для отключения режима PIO).
sdma=режим
Установить режим "Single-word DMA". Аргумент режим может принимать значения 02 (или off для отключения).
smart
Активировать мониторинг SMART.
spinup=время
Задать время ожидания в секундах (spinup) до готовности устройства.

Note: Также необходимо указать тип устройства (например, master=ata).

udma=режим
Установить режим прямого доступа к памяти (ultra DMA). Аргумент режим может принимать значения 06 (или off для отключения).
vaddr=ioport
Порт, указанный в ioport, является виртуальным адресом. По умолчанию это физический адрес.
verbose=уровень
Задать уровень отладочной информации.
wcache
Активировать кэш-память записи для устройства.
xfer=формат
Установить формат доступа для ввода-вывода (8, 16 или 32 разряда).

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

arm, armv7, e2k, mips, ppc, x86

Описание:


Caution: Для запуска этих драйверов необходимо войти в систему с учетной записью root.

Драйверы devb-eide, devb-eide-vm8 предназначены для интерфейсов жестких дисков IDE (Integrated Drive Electronics), EIDE (Enhanced IDE) и ATA (AT Attachment), а также для интерфейса CD-ROM ATAPI (ATA Packet Interface). Эти драйверы автоматически обнаруживает все типы интерфейсов. Драйвер devb-eide-vm8 предназначен для поддержки микропроцессоров KOMDIV-64 серии 1890vm8.


Note: Если на накопителе установлено несколько операционных систем, то необходимо обеспечить использование совместимого режима для всех систем. Например, если емкость накопителя ≥ 528 Мб и дополнительно должна быть установлена система DOS, в конфигурации драйвера следует задать использование режима LBA.

Эти драйверы по умолчанию используют режим прямого доступа к памяти. Для отключения режима прямого доступа к памяти следует указать опцию командной строки nobmstr.

По умолчанию драйверы использует режимы LBA (Logical Block Addressing; логическая адресация блоков), если они поддерживаются накопителем. При необходимости программирования устройства для работы в режиме CHS (Cylinder-Head-Sector; "цилиндр-головка-сектор"), следует указать опцию chs.

После завершения инициализации драйверы немедленно закрывают свои стандартные потоки ввода, потоки вывода и потоки ошибок. Все сообщения об ошибках на этапе инициализации записываются в стандартный поток ошибок.

Примеры:

Поиск всех IDE-контроллеров, вывод списка всех подключенных устройств:

devb-eide &

Поиск IDE-контроллера по конкретному адресу порта ввода/вывода и конкретному номеру запроса прерывания; вывод списка всех подключенных устройств:

devb-eide eide ioport=0x1f0,irq=14

Поиск диска PCMCIA, который сконфигурирован с отображением на непрерывную область адресов ввода/вывода для конкретного адреса порта ввода/вывода и номера запроса прерывания:

devb-eide eide ioport=0x320:0x32c,irq=7,noslave


Note: Для устройств PCMCIA, сконфигурированных с отображением на непрерывную область адресов ввода/вывода, всегда следует указывать адрес управляющего блока интерфейса путем добавления смещения (обычно 12) к базовому адресу порта. Этого не требуется при использовании старой адресации портов (0x1f0 или 0x170). В этом случае драйвер автоматически добавляет стандартное смещение для управляющего блока (0x200).

Поиск IDE-контроллера конкретного вендора с заданным идентификатором устройства и вывод списка всех подключенных устройств:

devb-eide eide vid=0x8086,did=0x2411,pci=0,chnl=0

Поиск IDE-контроллера конкретного вендора с заданным идентификатором устройства и номером канала и деактивация режима Ultra DMA на ведущем устройстве:

devb-eide eide vid=0x8086,did=0x2411,pci=0,chnl=1,master=udma=off

Передача в io-blk.so опций cache и delwri, в fs-cd.so – опций uid и gid и в fs-dos.so – опции vollabel:

devb-eide blk cache=2m,delwri=2s cd uid=234,gid=120 dos\ vollabel=ignore &

Опции cd и dos применяются к любым монтируемым файловым системам этих типов (как при автоматическом монтировании, так и при дальнейшем явном монтировании).

Также можно передать общие опции монтирования (см. описание io-blk.so) следующим образом:

devb-eide blk noatime dos hidden=show,noexec qnx4 ro &

В этом случае для всех файловых систем устанавливается бит монтирования ST_NOATIME, для любой файловой системы QNX4 устанавливается бит ST_RDONLY, а для любой файловой системы DOS – бит ST_NOEXEC. В сообщении о монтировании также присутствуют эти биты, которые относятся только к этой точке монтирования.

Запуск в составе BSP для семейства микропроцессоров KOMDIV-64 серии 1890vm8 драйвера devb-eide-vm8:

devb-eide-vm8 cam cache=on mem name=/dmasafe\ blk memory=/dmasafe,cache=8M\ eide ioport=0x1a800000:0x1a800020,irq=0xb\ eide ioport=0x1a800040:0x1a800060,irq=0xb

Файлы:

Драйверы devb-eide, devb-eide-vm8 обеспечивают взаимодействие io-blk.so с различными блок-ориентированными специальными устройствами, присутствующими в каталоге /dev. Эти устройства обычно имеют имена hdn (или cdn для устройств CD-ROM), где n – номер физического устройства. Для работы этих драйверов могут потребоваться следующие разделяемые объекты:

Двоичный файл Обязательно
cam-cdrom.so Для доступа к CD-ROM
cam-disk.so Для доступа к жесткому диску
libcam.so Всегда

Возвращаемое значение:

0
Драйверы devb-eide, devb-eide-vm8 не были запущены в фоновом режиме, поэтому была запущена копия их процессов. Исходный процесс завершился с нулевым статусом, выполняется копия процесса.
>0
При начальном запуске возникла ошибка.

Драйверы devb-eide, devb-eide-vm8 завершают работу лишь при возникновении ошибки во время начального запуска или в случае, если во время начального запуска драйверы не были запущены в фоновом режиме и, следовательно, были успешно запущены копии процессов.

Предостережения:

При отсутствии переопределения с использованием опции blk automount=... (см. io-blk.so) устройства монтируются следующим образом:

Устройство Точка монтирования Тип файловой системы
/dev/hd0t77 /hd qnx4
/dev/cd0 /cd cd
/dev/hd0t6 /dos dos
/dev/hd0t11 /dos dos

Ограничения размера диска или раздела отсутствуют; тем не менее, объем ввода/вывода (например, для функций lseek(), read() и write()) в настоящее время ограничен размером в 2 Гб на раздел (или диск). Это ограничение по вводу/выводу не относится к размеру раздела монтируемых файловых систем.

Поддерживаются следующие известные функции: chmod(), chown(), close(), closedir(), creat(), devctl(), dup(), dup2(), fcntl(), fpathconf(), fstat(), lseek(), mkdir(), mkfifo(), mknod(), open(), opendir(), pathconf(), read(), readdir(), readlink(), rewinddir(), rmdir(), stat(), symlink(), unlink() (не поддерживается для каталогов), utime(), write()

Следует отметить, что для определенных вызовов (таких как pipe(), а также read() и write() для FIFO) может требоваться наличие менеджера pipe.

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино», Драйверы

Тематические ссылки:

cam-*, devb-*, io-blk.so




Предыдущий раздел: Драйверы