RAID/SATA

Drive subsystem, filesystem drivers
  • На VMware создал FAT32 раздел и он стал видим из kolibri! Так и есть не везёт мне с sata, и многие OS не хотят его признавать...
    Что же делать...
  • Очень жаль но у меня нету совместимого режима. Был когда-то с другим железом...
  • Так как у меня нет и не было Enhanced Mode aka PATA выход нашёлся такой.
    Я вдруг вспомнил, что CDROM's сидят на IDE-шном хосте (:
    Как я вообще про это позабыл!
    Вообщем поставил IDE винт, правда этот шаг был назад в будущее ;-
    Теперь счастлив с колибри, но это не всё...
    IDE винт на IDE контролле я обычно превратил в nVidia nFoece4 RAID "массив" = adapter0 channel0 raid array stripping 128K
    Могу сказать, коллибри работает с этим хорошо!
    По прежнему v7 так же не видит SATA's винты, но да фиг с этим.
    У меня нерешён правда один вопрос...
    А как грубом запустить KolibriOS без NTLoader, напрямую?

    PS в новом релизе маус стал медленный почему-то, простая PS/2 мышь, это можно настроить?
    И ещё в KFAR (F4) - edit нельзя сделать?
  • Спасиб!!!
  • semiono wrote:PS в новом релизе маус стал медленный почему-то, простая PS/2 мышь, это можно настроить?
    Можно: в настройках (вызывается нажатием кнопки S на панели) увеличиваешь скорость мыши. Раньше там стояло 3, но в 0.7.0.0 я поставил 1 (т.е. без ускорения), а то по мелким объектам попасть довольно сложно (например, в сапёр играть неудобно).
    semiono wrote:И ещё в KFAR (F4) - edit нельзя сделать?
    Можно, но будет это не скоро.
    Ушёл к умным, знающим и культурным людям.
  • diamond
    Нужно было хотя-бы 2 выставить, а то сейчас все юзеры начнут сообщать что мышь медленная и будет считаться что это баг.

    semiono
    У меня мамка ASUS A8N5X с nVIDIA nForce4.
    SATA котроллеры есть, но нет жесткого диска с SATA, и его не будет еще месяца 3-4, так как я купил в кредит цифровую камеру.
    Как только смогу приобрести такой жесткий диск я займусь этим вопросом и заодно с 48 битной адресацией. Без самого железа сложно написать его поддержку.
    Если за это время кто-нибудь раньше меня займется проблемой, то будет хорошо, но я сомневаюсь, что таковые будут.
  • Mario79
    Да соглассен, без железа трудно писать. С SATA особых проблем нет, была одна решил. Хотя вопросы пока остались. LBA48 тоже не сложный.
    Сам я не берусь пол ядра переписовать.
    LBA48 очень прост. Вопервых скажу что используются другии команды с приставкой EXT.
    Присутствие поддержке LBA 48 определяется из информационной структуре полученной по IDENTIFY DEVICE слово 83 Бит 10.
    Запись адресса и число читаемых/записываемых секторов осуществляется в два прахода сначала младшии затем старшии. Затем выставляется команда.
    Записанные значения можно прочитать используя HOB бит.

    Control Block

    Code: Select all

    +---------------+-----+-----+-----+-----+-----+-----+-----+-----+
    |Register       |  7  |  6  |  5  |  4  |  3  |  2  |  1  |  0  |
    +---------------+-----+-----+-----+-----+-----+-----+-----+-----+
    |Device Control | HOB |  r  |  r  |  r  |  r  | SRST| nIEN|  0  |
    +---------------+-----+-----+-----+-----+-----+-----+-----+-----+
    
    HOB - (high order byte) служит для LBA48. Любая запись в регистр Command Block очищает этот бит.
    r – резерв
    SRST - программный сброс(Reset) контролера
    nIEN - управляет INTRQ сигналом


    Если у нас LBA48 то установка HOB=0 позволяет читать первичную запись. А HOB=1 вторичную запись из регистров Command Block

    HOB - High Order Bit (бит 7) в Device Control register. Напоминаю что Device Control register это порт контроля (к примеру 03F4h+2)
    Читать из этого регистра нельзя, так как из него вернуться другие данные.
    Бит устанавливается посылкой 80h (HOB=1) или 0h (HOB=0). Любая запись в Command Block приводит к сбросу HOB=0, поэтому после посылке команды HOB=0.


    А вот с SATA контролером, есть такая особенность. Он может масскироваться под IDE, RAID. Насчет указаний как работать с RAID я не нашел =( .
    Ищем контролеры IDE, RAID. Читаем из их конфигурационного пространства PCI BAR регистры.

    Code: Select all

    +-------+---------+-------------------------------------------------+
    |10h-13h| PCMD_BAR| Primary Command Block Base Address              |
    |       |         | Базовый адрес портов команд первичного канала   |
    +-------+---------+-------------------------------------------------+
    |14h-17h| PCNL_BAR| Primary Control Block Base Address              |
    |       |         | Базовый адрес порта контроля первичного канала  |
    +-------+---------+-------------------------------------------------+
    |18h-1Bh| SCMD_BAR| Secondary Command Block Base Address            |
    |       |         | Базовый адрес портов команд вторичного канала   |
    +-------+---------+-------------------------------------------------+
    |1Ch-1Fh| SCNL_BAR| Secondary Control Block Base Address            |
    |       |         | Базовый адрес порта контроля вторичного канала  |
    +-------+---------+-------------------------------------------------+
    |20h-23h| BM_BASE | Bus Master Base Address                         |
    |       |         | Базовый адрес регистров для режима захвата шины |
    +-------+---------+-------------------------------------------------+
    
    Считанные данные добовляются к стандартным портам. Напоминаю, что если в BAR лежит адрес 00 это говорит, что он отустствует.

    Первичный канал: порты команд 01F0h-01F7h
    Порт контроля 03F4h+2
    прерывание IRQ14
    Вторичный канал: порты команд 0170h-0177h
    порт контроля 0374h+2
    прерывание IRQ15

    Порт контроля базовым считается адрес 03F4h. А сам регистр находиться по смещению +2.

    Еще была особенность в определении SATA диска через EXECUTE DEVICE DIAGNOSTIC, решил через дополнительную проверку на IDENTIFY DEVICE.
    А вот если у нас контролер определяется как SATA, то это AHCI. И он уже программируется через регистры отоброженные в память. Его я еще не изучал.

    PS. Надеюсь чем то помог.
  • всем доброго времени суток!
    1) у мя новая колибритестилка - на базе ПеньД, с радеоновской видюхой, без AC'97, с сатавскими дивидюком и винтом.
    2) а)без звука грустно =( б) конкретнее ничего не скажу, ибо эвересту на этой машине еще нема =( в) собстна, есть проблемка.. а именно, как уже ясно, сатовский винт Колибрей не виделся =( но я залез сюды, узнал про компатибле моде, себе сделал.. и Колибри увидела диск hd0/1/, т.е., собстна, диск C:/ по-Виндозному. а он НФТС'ный. меня это не устроило, я скачал прогу ПартишнМэйджик, дабы сделать ФАТ32тый раздел на пару гигов (винт на 320гб, так что не жалко). скачал, попытался сие сотворить, но прога меня обрадовала своей дэмоверсионностью =(. тогда я переместил 50 гигов игр с диска D на диск С, удалил раздел D, и создал из него три штуки: D, M, и Q. последний, двухгиговый, переФАТ32рмотировал, обозвал KOLIBRI, поставил Колибри на загрузку с него (mtldr-кой), ребутнулся.. и обломался =( нет, Колибри по-счастию у меня заработала =) но вот только хард она видела в виде одного лишь C:/ =( тогда я вспомнил, что и до всяких разбиений/форматирований она видела только его =( а ведь был еще D.. потом я так примерно понял что птичке не нравится Secondary'тость всех остальных разделов =( а сделать Примарьность может только вышеупомянутый Партишн Мэйджик, коий дэмоверсен, и коий я качал через жпрс на протяжении около восьми часов, из-за чего чуть свидание не проспал =( так что.. HELP ME! ='( что делать?..
  • Проблема тут не в партишн мэджике. И primary/secondary тут тоже не причем (кроме того термины эти немного неуместны для 1 винта, тут скорее primary/logical и колибри дружит с обоими вариантами)! Все дело в 320-гиговости винта :) Как выход - попробуй создать фат32-раздел в пределах первых 120 гигов. Этот раздел по идее должен стать видимым.
  • спасибо! =) только без проги спец. это значит переустановку системы вроде как.. посоветует кто прогу?.. // извиняюсь, спутал термины =) // а.. откуда считаются "первые" гиги (=)))))) ? то есть мне от C отрезать нужно, верно я понял?..
  • P.S.: объем диска С:/ = 160 гб.. но я нигде не встречал упоминаний про подобные ограничения 0_0

    Предлагаю создать список Колибриевских ограничений.. заодно, на мой взгляд, это могло бы помочь сформировать рейтинг основных задач на данный момент для программеров.. я бы и сам взялся за что-нибудь, не слишком сложное (ибо программер пока слабый очень), но нужное для проекта (иначе не будет внутреннего стимула, и я забью на енто =( ), но не знаю собственно что нужно и при том не очень сложно (и есть доки по этому.. а то я пытался искать, еще одно свидание чуть не проспал.. да серьезно =) =( )..
    вот..
  • Тот же партишн мэджик позволяет менять размер раздела без потери данных, а значит без переустановки системы.... размер считается слева направо :) И для системного диска, если на нем ничего больше не хранить, как правило, достаточно 10 ГБ (учитывая 320 гиговость, и то, что места не жалко можно взять с запасом 15 :) ).

    PS: и поосторожнее со свиданиями ;) комп и колибри подождут!
  • Who is online

    Users browsing this forum: No registered users and 3 guests