Board.KolibriOS.org

Official KolibriOS board
It is currently Sat May 25, 2019 12:26 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 147 posts ]  Go to page Previous 16 7 8 9 10 Next
Author Message
PostPosted: Mon Jul 20, 2015 6:14 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1619
Serge, сделай под VMWare вывод Identity от жёсткого диска, типа
Code:
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-й бит в этом слове.

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


Top
   
PostPosted: Mon Jul 20, 2015 6:41 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1262
Leency wrote:
У меня система зависает с включенным пунктом b на голубом экране.
Ещё веселее, там я вообще только переменные переместил. К тому же у меня работает, правда диск дублируется. Похоже, зависает v86. То-есть ей посылаются неправильные данные...?


Top
   
PostPosted: Mon Jul 20, 2015 10:40 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
лог VMware
Spoiler: Show
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


Top
   
PostPosted: Tue Jul 21, 2015 2:00 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1619
Ага, LBA48 отсутствует.

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


Top
   
PostPosted: Sat Aug 29, 2015 7:57 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1262
У меня нет диска без LBA48, так что тестируйте.


Top
   
PostPosted: Thu Sep 03, 2015 1:29 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
У меня в QEMU и на реальном железе просто постоянный ребут после синего экрана.

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


Top
   
PostPosted: Thu Sep 03, 2015 8:10 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1262
У тебя реальное железо без LBA48?
... а ты сжимал ядро? Оно теперь несжатое слишком большое для загрузки.


Top
   
PostPosted: Thu Sep 03, 2015 11:20 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
Не сжимал. Как определить с LBA48 или без? (в любом случае ребут не ок)

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


Top
   
PostPosted: Fri Sep 04, 2015 3:20 am 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1262
Ага, Serge дал пинка загрузчику, теперь можно не сжимать. Без LBA48 древние диски, максимум 120 Гб, меньше 20 Гб — точно.


Top
   
PostPosted: Fri Sep 04, 2015 10:04 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Теперь работает.
PS. Упаковка ни чем не помогала. Данные затирались стеком после распаковки ядра.


Top
   
PostPosted: Sat Sep 05, 2015 3:17 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
У меня не грузится ни на VBox http://prntscr.com/8cpsir ни на QEMU http://prntscr.com/8cptn4
На реальном железе не увидел смысла проверять.

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


Top
   
PostPosted: Sat Sep 05, 2015 5:36 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1262
Ошибка загрузки с дискеты? Я редактировал код, который касается IDE (HDD и CD)... :? Serge, можешь что-то подсказать?


Top
   
PostPosted: Sat Sep 05, 2015 7:40 pm 
Offline
Kernel Developer

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


Top
   
PostPosted: Sat Sep 05, 2015 11:57 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
В ревизии 5578 поломали чтение файлов маленькими блоками.
Тестовый код
Spoiler: Show
Code:
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
Ошибка возможно связана с фрагментацией файла, потому что после изменения файла сбой происходит в другом месте.


Attachments:
File comment: дамп буфера
test-bin [16.03 KiB]
Downloaded 92 times
Top
   
PostPosted: Mon Sep 07, 2015 1:42 am 
Offline
Mentor/Kernel Developer
User avatar

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 147 posts ]  Go to page Previous 16 7 8 9 10 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited