Mask

Материал из Amiga wikipedia.

Перейти к: навигация, поиск

Установка Mask для жестких дисков

Поле Mask говорит контроллеру вашего жесткого диска, что не все данные в памяти могут быть напрямую адресованы.

У корректных устройств возможно адресация любых диапазонов, так что вы можете использовать маску 0xFFFFFFFF. Но у старых и не корректных, могут быть ограничения, так что Mask используется для избежания проблем при использовании любых дисков.

Например существуют устройства, которые могут обращаться к памяти только в 24-битном диапазоне, то есть к первым 16 мегабайтам. Обычно это старые zorro-2 контроллеры, которые например не смогут обратиться к памяти находящейся на плате акселератора. Для таких устройств необходимо задать маску 0x00FFFFFF, т.е. ограничить 24-битным адресным пространством.

Устройства, которые могут напрямую обращаться к любым диапазонам памяти, например scsi контроллеры на платах акселераторов, а так же ide контроллеры для шины zorro-3, могут работать с маской 0xFFFFFFFF.

Самым корректным методом будет свериться с инструкцией производителя контроллера. Если инструкция недоступна - существует эмпирический путь:


 +----------------+           +----------------+
 | Try 0x00FFFFFF |    Yes    | Try 0xFFFFFFFF |    Yes
 |                |  ------>  |                |  ------>  done.
 |  Did it work?  |           |  Did it work?  |
 +----------------+           +----------------|
         |                         No |
      No |                            V
         |
         |                      Use 0x00FFFFFF
         V
 +----------------+           +----------------+
 | Try 0x00FFFFFE |    Yes    | Try 0xFFFFFFFE |    Yes
 |                |  ------>  |                |  ------>  done.
 |  Did it work?  |           |  Did it work?  |
 +----------------+           +----------------|
         |                         No |
      No |                            V
         |
         |                      Use 0x00FFFFFE
         V
 +----------------+           +----------------+
 | Try 0x00FFFFFC |    Yes    | Try 0xFFFFFFFC |    Yes
 |                |  ------>  |                |  ------>  done.
 |  Did it work?  |           |  Did it work?  |
 +----------------+           +----------------|
         |                            |
      No |                         No |
         V                            V

   Unknown Mask!                Use 0x00FFFFFC


Помите, что значение Mask задается индивидуально для каждого раздела, а не для всего жесткого диска, так что вам придется заходит в настройки каждого раздела, что бы поменять все значения.

Примеры для некоторых контроллерров:

                            Mask          MaxTransfer
-----------------------------------------------------
scsi.device (A4000, IDE)    0xFFFFFFFE        0x1FFFE
cybscsi.device              0xFFFFFFFF     0xFFFFFFFF
DKB 4091                    0xFFFFFFFE     0xFFFFFFFF
Личные инструменты