Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Сб ноя 18, 2017 5:51 am

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




Начать новую тему  Ответить на тему  [ 147 сообщений ]  На страницу Пред. 16 7 8 9 10 След.
Автор Сообщение
 Заголовок сообщения: Re: Скорость работы с IDE дисками
СообщениеДобавлено: Пн июл 20, 2015 6:14 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1600
Serge, сделай под VMWare вывод Identity от жёсткого диска, типа
Код:
Index: dev_hdcd.inc
===================================================================
--- dev_hdcd.inc   (revision 5575)
+++ dev_hdcd.inc   (working copy)
@@ -73,6 +73,8 @@
         cmp     [DevErrorCode], 0
         jne     .FindCD
 
+        DEBUGF 1,'K : HD flags = %x\n',[Sector512+0xA6]:4
+
         cmp     [Sector512+6], word 16
         ja      .FindCD
 

Поддержка LBA48 - 10-й бит в этом слове.

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Скорость работы с IDE дисками
СообщениеДобавлено: Пн июл 20, 2015 6:41 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1194
Leency писал(а):
У меня система зависает с включенным пунктом b на голубом экране.
Ещё веселее, там я вообще только переменные переместил. К тому же у меня работает, правда диск дублируется. Похоже, зависает v86. То-есть ей посылаются неправильные данные...?


Вернуться к началу
 Заголовок сообщения: Re: Скорость работы с IDE дисками
СообщениеДобавлено: Пн июл 20, 2015 10:40 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
лог VMware
Спойлер: Показать
K : kernel SVN r5584
K : 1 CPU detected
K : Attach Interrupt 6 Handler 80031509
K : Set IDE IRQ6 return code 8005BFD0
K : IDE controller programming interface 0001018A
K : BAR0 IDE base addr 01F0
K : BAR1 IDE base addr 03F4
K : BAR2 IDE base addr 0170
K : BAR3 IDE base addr 0374
K : BAR4 IDE controller register base addr 10C0
K : IDE Interrupt FF
K : Channel 1 Disk 0
K : HD flags = 4008
K : Dev: VMware Virtual IDE Hard Drive
K : PIO possible modes 03
K : PIO set mode 01
K : Multiword DMA possible modes 07
K : Multiword DMA set mode 00
K : Ultra DMA possible modes 07
K : Ultra DMA set mode 02
K : Channel 1 Disk 1
K : Device not found
K : Channel 2 Disk 0
K : Device not found
K : Channel 2 Disk 1
K : Device not found
K : FS - HD timeout
K : FS - HD read error
K : IDE CH1 DMA enabled
K : IDE CH2 PIO because no devices
K : Attach Interrupt 14 Handler 800320A4
K : Set IDE IRQ14 return code 8005BFE4
K : Attach Interrupt 15 Handler 800320A4
K : Set IDE IRQ15 return code 8005BFF8
K : clear_pci_ide_interrupts: port[10C2] = 20 -> 20; port[10CA] = 00 -> 00
K : driver /rd/1/drivers/vidintel.sys mapped to 80A88000
K : Attach Interrupt 1 Handler 80033180
K : IRQ1 return code 8005C00C
K : driver /rd/1/drivers/PS2MOUSE.SYS mapped to 80B94000
K : Attach Interrupt 12 Handler 80B94546
L: /SYS/LOADDRV Param: RDC
K : driver /sys/drivers/RDC.sys mapped to 80BA1000
L: /SYS/NETWORK/NETCFG Param: A
L: /SYS/NETWORK/@ZEROCONF Param:
L: /SYS/MEDIA/PALITRA Param: H 007DCEDF 003C427F
Zero-config service loaded
L: /SYS/@VOLUME Param:
K : driver /sys/drivers/SOUND.sys mapped to 80BB8000
Detecting hardware...
No compatible PCI soundcard found!
Loading SB16
K : driver /sys/drivers/SB16.sys mapped to 80BB9000
detecting hardware...
exiting... May be some problems found?
K : destroy app object
L: /SYS/@TASKBAR Param:
L: /SYS/@DOCKY Param:
L: /SYS/SETUP Param: BOOT
L: /SYS/@ICON Param:
L: /SYS/@SS Param: ASSM
L: /SYS/TMPDISK Param: A0
K : driver /sys/drivers/tmpdisk.sys mapped to 80BF4000
Їа®Ўго ¤®Ў ўЁвм ўЁавг «м­л© ¤ЁбЄ
ҐЈ® а §¬Ґа ­Ґ гЄ § ­, 10% бў®Ў®¤­®© Ћ‡“ Ўг¤Ґв ЁбЇ®«м§®ў ­®
а §¬Ґа ¤ЁбЄ  Ўг¤Ґв: 101 MB
®ЇҐа жЁп гбЇҐи­® § ўҐа襭 
L: /SYS/SEARCHAP Param:
Searchap: additional partition is not found!
L: AUTORUN.DAT processed


Вернуться к началу
 Заголовок сообщения: Re: Скорость работы с IDE дисками
СообщениеДобавлено: Вт июл 21, 2015 2:00 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1600
Ага, LBA48 отсутствует.

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Скорость работы с IDE дисками
СообщениеДобавлено: Сб авг 29, 2015 7:57 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1194
У меня нет диска без LBA48, так что тестируйте.


Вернуться к началу
 Заголовок сообщения: Re: Скорость работы с IDE дисками
СообщениеДобавлено: Чт сен 03, 2015 1:29 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4226
У меня в QEMU и на реальном железе просто постоянный ребут после синего экрана.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Скорость работы с IDE дисками
СообщениеДобавлено: Чт сен 03, 2015 8:10 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1194
У тебя реальное железо без LBA48?
... а ты сжимал ядро? Оно теперь несжатое слишком большое для загрузки.


Вернуться к началу
 Заголовок сообщения: Re: Скорость работы с IDE дисками
СообщениеДобавлено: Чт сен 03, 2015 11:20 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4226
Не сжимал. Как определить с LBA48 или без? (в любом случае ребут не ок)

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Скорость работы с IDE дисками
СообщениеДобавлено: Пт сен 04, 2015 3:20 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1194
Ага, Serge дал пинка загрузчику, теперь можно не сжимать. Без LBA48 древние диски, максимум 120 Гб, меньше 20 Гб — точно.


Вернуться к началу
 Заголовок сообщения: Re: Скорость работы с IDE дисками
СообщениеДобавлено: Пт сен 04, 2015 10:04 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
Теперь работает.
PS. Упаковка ни чем не помогала. Данные затирались стеком после распаковки ядра.


Вернуться к началу
 Заголовок сообщения: Re: Скорость работы с IDE дисками
СообщениеДобавлено: Сб сен 05, 2015 3:17 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4226
У меня не грузится ни на VBox http://prntscr.com/8cpsir ни на QEMU http://prntscr.com/8cptn4
На реальном железе не увидел смысла проверять.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Скорость работы с IDE дисками
СообщениеДобавлено: Сб сен 05, 2015 5:36 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1194
Ошибка загрузки с дискеты? Я редактировал код, который касается IDE (HDD и CD)... :? Serge, можешь что-то подсказать?


Вернуться к началу
 Заголовок сообщения: Re: Скорость работы с IDE дисками
СообщениеДобавлено: Сб сен 05, 2015 7:40 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
Скажу, что меня смущает ревизия ядра на скриншотах. Я исправил проблему со стеком в 5786, но неправильно. Поэтому лучше брать 5790+.


Вернуться к началу
 Заголовок сообщения: Re: Скорость работы с IDE дисками
СообщениеДобавлено: Сб сен 05, 2015 11:57 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
В ревизии 5578 поломали чтение файлов маленькими блоками.
Тестовый код
Спойлер: Показать
Код:
int main()
{
    char *cache_path, *bin_path;
    uint32_t crc;
    int count;
    int offset;
    int i;

    cache_path = "/kolibrios/kpm/cache/mesa-9.2.5.7z";
    bin_path = "/kolibrios/kpm/test.bin";

    write_file(bin_path, buf, 0, 32, &count);

    offset = 32;
    for(i=0; i< 16; i++)
    {
        read_file(cache_path, &buf[i*1024], offset, 1024, &count);
        printf("read offset %d count %d\n",offset, count);
        offset+=count;
    }
    crc = crc32buf(buf,16384);
    printf("offset 32 size %d crc32 %x\n", 16384, crc);
    write_file(bin_path, buf, 32, 16384, &count);

    read_file(cache_path, buf, 32, 16384, &count);
    crc = crc32buf(buf,count);
    printf("offset 32 size %d crc32 %x\n", count, crc);

    return 0;
}
В первом случае из файла читается 16Кб блоками по 1Кб с начальным смещением 32 байта. Во втором чтение выполняется одним блоком со смещением 32 байта от начала файла. Анализ показал, что в первом случае при пересечении границы в 4096 байт последние 32 байта содержат мусор. Исходный файл http://ftp.kolibrios.org/users/Serge/ne ... a-9.2.5.7z
Ошибка возможно связана с фрагментацией файла, потому что после изменения файла сбой происходит в другом месте.


Вложения:
Комментарий к файлу: дамп буфера
test-bin [16.03 КБ]
28 скачиваний
Вернуться к началу
 Заголовок сообщения: Re: Скорость работы с IDE дисками
СообщениеДобавлено: Пн сен 07, 2015 1:42 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1194
Как страшно жить...
Да, я не учёл вариант, когда в конце кусочек меньше сектора принадлежит другому фрагменту.
Собрал новое ядро.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 147 сообщений ]  На страницу Пред. 16 7 8 9 10 След.

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


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

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


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

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