MASTER(4) MASTER(4)
НАЗВАНИЕ
master - основной файл с информацией об устройствах
ОПИСАНИЕ
Файл master используется утилитой config(1M) для полу-
чения информации об устройствах, на основаниии которой
генерируются конфигурационные файлы low.s и conf.c.
Утилита config читает dfile и помещает информацию из
каждого элемента первой части в массивы, заготовленные
по основному файлу master. Для получения информации о
получаемых файлах см. config(1M), а о значении полей в
первой части поддерживаемого пользователем файла dfile
см. dfile(4). Файл master состоит из пяти частей, раз-
деленных символом $ в первой колонке. Любая строка, со-
держащая звездочку в первой колонке или звездочку, пе-
ред которой находятся только пробелы и табуляции, счи-
тается строкой комментария.
Часть 1 содержит информацию об устройствах; в части 2
задаются дополнительные имена устройств; часть 3 содер-
жит информацию о настраиваемых параметрах. В частях 4 и
5 располагается информация, относящаяся к конфигурации
систем только для семейства M68000. Часть 4 (специфика-
ция микропроцессора) должна присутствовать в файле
master и не должна присутствовать в файле dfile. Часть
5 содержит строки в точности того же формата, что и
специфическая для M68000 часть в dfile(4).
Ниже описываются пять частей файла master. В качестве
примера используется дисковый контроллер.
Первая часть
Часть 1 содержит строки по 10 полей в каждой. Поля раз-
деляются пробелами.
Поле 1 - имя устройства (не более 8 символов).
Поле 2 - размер (десятичный) векторов прерываний; раз-
мер есть количество векторов, умноженное на четыре.
Поле 3 - спецификация программ выполнения управляющих
действий (более кратко - обработчика) устройства. Для
каждого нужного обработчика следует задать соответству-
ющую букву; если обработчик не существует, вместо буквы
указывается символ -. Допустимы следующие спецификации:
s Самостоятельные программы открытия и закрытия для
блочных и символьных устройств. Так, комбинация
букв sO означает, что для диска программа открытия
его как блочного устройства будет называться hdbo-
pen, а как символьного - hdcopen.
t Устройство имеет структуру терминала.
i Обработка (выполнение) инициализации.
p Обработка ошибки питания.
O Обработка открытия.
C Обработка закрытия.
R Обработка чтения.
W Обработка записи.
I Обработка управляющих действий.
S Драйвер потока. Других обработчиков у него быть не
должно.
Поле 4 - индикатор типа устройства. Для каждого нужного
индикатора следует задать соответствующую букву; если
индикатор не существует, вместо буквы указывается сим-
вол -. Допустимы следующие спецификации:
v Создать массив векторов прерывания, например,
hd_ivec [ ]. Для каждого вектора, описанного в
файле dfile, в массив помещается (шестнадцатерич-
ный) адрес вектора (номер вектора умножается на
4).
m Создать для устройства символьный старший номер и
блочный старший номер (например, hd_cmaj и
hd_bmaj).
l Создать массив уровней прерываний, например,
hd_ilev [ ]; уровни прерывания указаны в четвертом
поле, уровень, каждой строки в первой части файла
dfile.
o Разрешить только одно данное устройство.
c Не вставлять счетчик в файл conf.c.
i Не вставлять вектор прерываний.
R Требуемое устройство.
B Блочное устройство.
C Символьное устройство.
I Устройство, управляемое прерываниями, не блочное и
не символьное.
a Разрешить определения одного вектора с многими ад-
ресами.
Поле 5 - префикс обработчика (не более 4 символов),
например hd.
Поле 6 - размер страницы регистров (десятичный), то
есть размер области памяти для всех регистров устройст-
ва, начинающейся по адресу, указанному в файле dfile.
Поле 7 - старший номер блочного устройства; символ
-, если такового нет.
Поле 8 - старший номер символьного устройства; символ
-, если такового нет.
Поле 9 - максимальное количество устройств на контрол-
лер (десятичное); например, 32. Значение необязательно-
го поля число (пятое поле в строках первой части файла
dfile) замещает значение, указанное в поле 9 файла
master.
Поле 10 - максимальный уровень запроса шины (от 1 до
7); символ -, если такового нет.
Для устройств, которые не управляются прерываниями,
размер вектора прерываний (поле 2) должен быть нулевым.
Буква v в поле 4 приводит к тому, что config(1M) запи-
сывает вектора прерываний, хотя в первой части програм-
мы low.s не окажется присваиваний соответствующим эле-
ментам вектора (прерывания в таком случае будут класси-
фицироваться как случайные).
Вторая часть
Часть 2 содержит строки, состоящие из двух полей:
Поле 1 - дополнительное имя устройства (не более 8 сим-
волов).
Поле 2 - соответствующее основное имя устройства (не
более 8 символов; устройство описано в части 1).
Третья часть
Часть 3 составляют строки, состоящие из одного или двух
полей:
Поле 1 - имя параметра (не более 30 символов).
Поле 2 - подразумеваемое значение параметра (не более
30 символов; если это поле пустое, то предполагается,
что параметр определяется в файле dfile).
Четвертая часть
Часть 4 содержит одну строку, состоящую из 2 полей и
содержащую спецификацию микропроцессора.
Поле 1 записывается как mpu.
Поле 2 - одно из чисел: 68000, 68010, 68020 или 68030.
Пятая часть
Часть 5 содержит специфическую для M68000 информацию,
имеющую в точности тот же формат, что и специфическая
для M68000 часть в файле dfile. Смысл этой информации
описан в dfile(4).
ФАЙЛЫ
/usr/src/uts/dfile
/usr/src/uts/master
/usr/src/uts/low.s
/usr/src/uts/conf.c
/usr/include/sys/conf.h
СМ. ТАКЖЕ
dfile(4).
config(1M) в Справочнике администратора.
|