Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пн сен 25, 2017 7:51 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 261 сообщение ]  На страницу 1 2 3 4 518 След.
Автор Сообщение
 Заголовок сообщения: SATA в режиме IDE - полная поддержка
СообщениеДобавлено: Вт июн 25, 2013 6:52 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
SVN r.3702

1) Добавлена поддержка режима SATA IDE для HDD и ATAPI устройств.
Имейте ввиду, что если в BIOS стоят режимы RAID или AHCI, для SATA контроллера, то вы получите по прежнему дырку от бублика. Также имейте ввиду, что если вы для работы с Колибри таки переключили режим контроллера SATA и BIOS (называется либо IDE, либо ATA, возможны и другие варианты - у меня только эти), то перед загрузкой в другие ОС верните прежний режим - особенно если там стоял режим AHCI. В противном случае другие ОС (Linux, Windows и др.) будут сильно "удивлены", особенно если вы пользуетесь гибернацией.

2) Добавлено LBA48 чтение для PIO режима. Запись по прежнему только LBA28. Будет исправлено несколько позже.
SATA IDE работают пока в PIO режиме, поскольку я еще не разобрался можно ли повесить SATA контроллер в режиме IDE на "стандартные" прерывания 14 и 15. Как выяснилось порты отнюдь не стандартные используются, так что хз насчет прерываний. SATA в режиме AHCI повешены на прерывания выше 15-го.

Для стандартного IDE (настоящий) контроллера активируется DMA режим, если он есть, со старым LBA28. Не знаю встречались ли в природе жесткие диски более 128 Гб с PATA разъемом - я лично не встречал. Если у вас такой есть в наличие просьба здесь отписаться.

Также имейте ввиду, что несмотря на наличие LBA48 (который поддерживает очень большие диски до 128 ПиБ), в настоящее время поддерживаются только диски объемом до 2 Тб, по причине использования старого кэша с адресацией до 2 в 32 степени.

Диски /bd по умолчанию отключены. Включать их имеет смысл, лишь когда у вас BIOS стоит режим AHCI и соответственно /hd диски не видны вообще. Для SATA в режиме IDE - включенные /bd диски могут вызывать разнообразные по симптомам проблемы. Не включайте их для SATA в режиме IDE.

И последняя просьба - не пишите багрепорты в стиле озвученном в крике отчаяния:
Спойлер: Показать
Цитата:
Дмитрий Переверзев
Павел, из-за чего? Ёлки, почему все (поголовно) рассказывают об ошибках примерно так:
"Машина сломалась! Совсем-совсем сломалась!". И даже не говорят о видимых неполадках - двигатель глохнет на высоких оборотах, или зеркало заднего вида отвалилось

Подробно описывайте свое железо, настройки BIOS и обязательно прилагайте лог BOARD и лог PCIDEV. Текст, фотография - не важно в каком формате, лишь бы был.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Вт июн 25, 2013 9:37 am 
Не в сети

Зарегистрирован: Пн июн 17, 2013 3:17 pm
Сообщения: 17
Имеется PATA диск обьёмом около 300 гиг. Стоит в старом компе на i815 чипсете+. К сожалению комп подключен к телевизору через HDMI и в VESA режиме ничего не видно будет.

_________________
UnКайF - это некоторое число такого же размера, как указатель. Что оно означает, знает только ядро. Драйвер может только передавать его ядру, когда хочет что-нибудь сделать. (c) CleverMouse


Вернуться к началу
СообщениеДобавлено: Вт июн 25, 2013 9:48 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
Mario_r4
Не используй sti.
pushfd
cli
...
...
popfd


Вернуться к началу
СообщениеДобавлено: Ср июн 26, 2013 1:46 am 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
eBox-3310MX с подключенным SATA SSD диском на 16GB (KingSpec KSD-SU25.1-016MJ) стал зависать при определённых настройках BIOS. До этого изменения, при всех настройках работало. Прилагаю boardlog + pcidev + фото BIOS при тех настройках, при которых работает. А если поменять одну строчку (IDE Operate Mode) с Legacy Mode на Native Mode, то через несколько секунд после загрузки зависает (лог снять не хватает времени). Но как раз именно с Native Mode работает Windows.
Спойлер: Показать
Вложение:
2013-06-26_01.19.56.jpg
2013-06-26_01.19.56.jpg [ 139.03 КБ | 9291 просмотр ]

Вложение:
2013-06-26_01.20.14.jpg
2013-06-26_01.20.14.jpg [ 124 КБ | 9291 просмотр ]
Для тех, кто не в курсе, замечу, что на самом деле eBox имеет только PATA контроллер, но так как PATA-диски ушли в прошлое, производитель eBox добавил ещё и PATA->SATA bridge, через который, собственно, и подключаются SATA диски.


Вложения:
ebox_sata_pcidev.txt [1.63 КБ]
135 скачиваний
ebox_sata_test.txt [6.07 КБ]
113 скачиваний
Вернуться к началу
СообщениеДобавлено: Ср июн 26, 2013 2:07 am 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
eBox-3310MX: Лог board + pcidev при тех настройках BIOS, при которых зависает после загрузки если вставить SATA диск. Логи были сняты, естественно, без диска.


Вложения:
ebox_native_mode_pcidev.txt [1.62 КБ]
111 скачиваний
ebox_native_mode_log.txt [5.93 КБ]
93 скачивания
Вернуться к началу
СообщениеДобавлено: Ср июн 26, 2013 2:26 am 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 30, 2013 2:35 am
Сообщения: 47
award 6.00pg
mb sapphire am2rd790fx (790fx/sb600)
hdd0 wd 80 gb ide
hdd1 samsung 80 gb sata
hdd2 samsung 200 gb sata
dvdrw samsung sata

Настроек на sata-контроллер лишь три - native ide/legacy ide/raid
В native видны только sata устройства,в legacy лишь ide hdd


Вложения:
LEGACY.rar [1.79 КБ]
112 скачиваний
NATIVE.rar [1.82 КБ]
107 скачиваний

_________________
Кристофер Робин сел в «Форд» и взмахнул кнутом…
Вернуться к началу
СообщениеДобавлено: Ср июн 26, 2013 2:39 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
X-Ray писал(а):
award 6.00pg
mb sapphire am2rd790fx (790fx/sb600)
hdd0 wd 80 gb ide
hdd1 samsung 80 gb sata
hdd2 samsung 200 gb sata
dvdrw samsung sata

Настроек на sata-контроллер лишь три - native ide/legacy ide/raid
В native видны только sata устройства,в legacy лишь ide hdd

А какая из больших ОС используется и при какой настройке есть доступ ко всем дискам в большой ОС?

З.Ы. Забавно, что собственно AHCI контроллера ни в каком режиме не видно, и похоже что это два IDE контроллера, которые на шине PCI меняются местами в зависимости от настройки. Похоже придется таки вводить таблицу на минимум два контроллера, а так не хотелось. Ведь еще и HD диски выше 4-го придется делать.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Ср июн 26, 2013 2:49 am 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 30, 2013 2:35 am
Сообщения: 47
Win XP. В режиме native видно все диски,в legacy сейчас проверю (если смогу снова подключиться к соседскому роутеру,карта лагает,гребанный ralink)

_________________
Кристофер Робин сел в «Форд» и взмахнул кнутом…


Вернуться к началу
СообщениеДобавлено: Ср июн 26, 2013 5:45 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
SVN r.3706
1) Добавлена LBA48 запись для PIO режима.
DMA по прежнему только для контролеров 0180 (т.е. исходных PATA IDE) и до 128 Гб.

2)
Serge писал(а):
Mario_r4
Не используй sti.
pushfd
cli
...
...
popfd

Сделано.

3)
Цитата:
hidnplayr « Tue Jun 25, 2013 9:00 am » Mario_r4: Just so you know,
Код:
movzx eax,[IDE_BAR0_val]
DEBUGF 1, "K : BAR0 %x \n", eax

can also be written as
Код:
DEBUGF 1, "K : BAR0 %x \n", [IDE_BAR0_val]:1

Также сделано с некоторыми коррекциями.
Done! Thanks!

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Ср июн 26, 2013 2:24 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 30, 2013 2:35 am
Сообщения: 47
Интернет-таки отвалился(
В режиме legacy win xp заново нашел дисковод dvd-rw (sata) и два ide-контроллера,изменений никаких нет.

_________________
Кристофер Робин сел в «Форд» и взмахнул кнутом…


Вернуться к началу
СообщениеДобавлено: Ср июн 26, 2013 2:39 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
X-Ray писал(а):
Интернет-таки отвалился(
В режиме legacy win xp заново нашел дисковод dvd-rw (sata) и два ide-контроллера,изменений никаких нет.

Тогда мои размышления были правильные и два контроллера просто меняются местами на шине PCI. Я буду заниматься доработкой поддерживающей одновременно более одного контроллера немного позже.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Ср июн 26, 2013 10:36 pm 
Не в сети

Зарегистрирован: Вс фев 18, 2007 8:34 pm
Сообщения: 158
Скорее контроллеры меняются функциями, а не местами. А то что второй переключается в режим совместимости при использовании настройки NATIVE, так это скорее всего как раз ради экономии IRQ-линий, чтобы можно было использовать IRQ14/15. Задействовать IRQ14/15 под что-либо еще сложно, а часто и невозможно. На моем компе второй контроллер не может работать в режиме совместимости (байт интерфейса 85h), поэтому он при любых настройках работает в нативном режиме и забирает под себя доп. IRQ-линию. Хотя в принципе можно разделять одну IRQ-линию между несколькими контроллерами, работающими в нативном режиме.


Вернуться к началу
СообщениеДобавлено: Чт июн 27, 2013 2:01 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
Phantom-84 абсолютно прав.

По крайней мере во всех AMD-чипсетах один контроллер SATA, но в зависимости от BIOS-настройки он представляется системе как IDE, AHCI или RAID.
Спойлер: Показать
The SB800 SATA will have different device IDs for different drivers, because they are
totally different devices from the driver point of view. It’s not sufficient for the OS to know
whether to load IDE, AHCI, or RAID driver. In a non-fresh installed condition, Windows
will match the 4 IDs (vendor ID, device ID, sub-system ID and sub-vendor ID) first, and if
they are matched, it will load the driver and will not check the sub-class code. This will
cause blue screen in WinXP if SATA RAID driver is loaded, SATA controller is in IDE
mode, and device ID is shared.

кстати, BIOS-настройка может быть очень легко изменена при старте ядра.
Спойлер: Показать
1. Enable the subclass code register (PCI config register 0Ah) and the program interface register (PCI config register 09h) to be programmable
SATA_PCI_config 0x40 [0] = 1

2.Program SATA Controller mode in
a) IDE mode, or
SATA_PCI_config 0x09 = 0x8F (default)
SATA_PCI_config 0x0A = 0x01
b) AHCI mode, or
SATA_PCI_config 0x09 = 0x01
SATA_PCI_config 0x0A = 0x06
c) RAID mode
SATA_PCI_config 0x09 = 0x00
SATA_PCI_config 0x0A = 0x04

3. Clear the bit to convert the subclass code register to be a read-only register.
SATA_PCI_config 0x40 [0] = 0

Поскольку 9-й и 10-й байты конфигспейса просто отображают функцию устройства, такой финт может сработать и в других чипсетах (а вот регистр 0х40 в PCI-стандарте не определен, так что на интелах выключатель может сидеть где-то в другом месте).


Вернуться к началу
СообщениеДобавлено: Чт июн 27, 2013 9:30 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
SVN r.3712
1) Поддержка LBA48 для чтения и записи в режиме DMA, для жестких дисков.
2) Чистка и оптимизация кода

Промежуточные итоги:
1) Теперь стандартные PATA контроллеры 0180 и 018A поддерживают LBA48 в режимах PIO и DMA.
2) Также SATA контроллеры 0185 и 018F в режиме эмуляции IDE поддерживают LBA48 в режиме PIO.

Задачи на будущее:
1) Система пока не умеет работать с прерываниями отличающимися от 14 и 15, потому собственно только PIO для SATA IDE. Собственно в этом сама задача - написать код работы с нестандартными прерываниями.
2) Система пока не умеет работать с более чем одним физическим контроллером на шине PCI. Соответственно задача реализовать таблицу контроллеров и написать весь прочий код.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Чт июн 27, 2013 3:41 pm 
Не в сети

Зарегистрирован: Вс фев 18, 2007 8:34 pm
Сообщения: 158
art_zh писал(а):
но в зависимости от BIOS-настройки он представляется системе как IDE, AHCI или RAID.
Это само собой. Правда, я имел в виду немного другое, а именно изменения, происходящие с двумя PCI IDE-контроллерами в логах X-Ray при изменении настройки LEGACY/NATIVE.

Mario_r4 прав, SATA-контроллер может отображаться в виде двух PCI IDE-, хотя на данной материнке есть IDE-порт, а значит наверняка и обычный PCI IDE-контроллер, который может быть одним из двух видимых PCI IDE-.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 261 сообщение ]  На страницу 1 2 3 4 518 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB