Page 4 of 5

Re: Динамическое определение дисковых устройств

Posted: Thu Nov 21, 2013 9:28 pm
by Heavyiron
В виртуалбоксе перестало работать выключение

Re: Динамическое определение дисковых устройств

Posted: Thu Nov 21, 2013 9:43 pm
by 0CodErr
У меня выключение работает.

Re: Динамическое определение дисковых устройств

Posted: Thu Nov 21, 2013 9:58 pm
by yogev_ezra
Heavyiron wrote:В виртуалбоксе перестало работать выключение
Подтверждаю, у меня та же проблема в VMware:

Code: Select all

VMware® Workstation (Version 7.0.1 build-227600)
Host OS version: Windows 7 Professional, 64-bit 6.1.7601, Service Pack 1
CPU: Intel Core i5-3570 @ 3.40 GHz
RAM: 8GB
После нажатия кнопки выключения (Power Off) вылетает и END, и ядро. Так как это, возможно, связано с END, то в её теме я тоже напишу. Скриншот вылета прилагаю: download/file.php?id=5584

Re: Динамическое определение дисковых устройств

Posted: Thu Nov 21, 2013 10:01 pm
by 0CodErr
В VirtualBox при создании какого-нибудь файла на "/fd/1" он также создаётся и на "/fd2/1".

UPD:

Попробовал так:
  • Floppy Device 0:kolibri.img (1,41 MB)
    Floppy Device 1:Empty
На "/fd2/1" отображается содержимое "/fd/1".

Re: Динамическое определение дисковых устройств

Posted: Thu Nov 21, 2013 10:45 pm
by Mario_r4
0CodErr wrote:В VirtualBox при создании какого-нибудь файла на "/fd/1" он также создаётся и на "/fd2/1".

UPD:

Попробовал так:
  • Floppy Device 0:kolibri.img (1,41 MB)
    Floppy Device 1:Empty
На "/fd2/1" отображается содержимое "/fd/1".
Это и раньше так было. Он некорректно эмулирует второй привод флоппи дисков.

Re: Динамическое определение дисковых устройств

Posted: Thu Nov 21, 2013 10:46 pm
by yogev_ezra
0CodErr wrote:В VirtualBox при создании какого-нибудь файла на "/fd/1" он также создаётся и на "/fd2/1".

UPD:

Попробовал так:
  • Floppy Device 0:kolibri.img (1,41 MB)
    Floppy Device 1:Empty
На "/fd2/1" отображается содержимое "/fd/1".
Насколько я знаю, в VirtualBox это и до фикса CleverMouse так было.
В VMware Workstation /fd2 вообще не показывается, если подключить его в настройках. (Это тоже было и до фикса CleverMouse, и сейчас не изменилось).

Re: Динамическое определение дисковых устройств

Posted: Thu Nov 21, 2013 10:53 pm
by 0CodErr
yogev_ezra wrote:в VirtualBox это и до фикса CleverMouse так было
У меня раньше на fd совсем доступа не было.

Re: Динамическое определение дисковых устройств

Posted: Thu Nov 21, 2013 11:41 pm
by Mario_r4
CleverMouse wrote:r4273: я перевела на новую схему рамдиск, дискеты и объединила код FAT12 с остальными вариантами FAT. Могут появиться глюки. Жёсткие нерасширяемые зависимости остаются только у CD с собственным кэшем и iso-сколько-то-там-fs.
Последовательность списка в директории "/" изменилась, теперь первым идет "/cdX/X". Не смертельно, но неудобно.

Re: Динамическое определение дисковых устройств

Posted: Fri Nov 22, 2013 2:32 pm
by CleverMouse
Я переместила /cdX в конец листинга корневой псевдопапки в r4277.

Re: Динамическое определение дисковых устройств

Posted: Fri Nov 22, 2013 4:09 pm
by CleverMouse
Я устранила проблему с падением при выключении в r4278.

Re: Динамическое определение дисковых устройств

Posted: Wed Nov 27, 2013 12:36 am
by yogev_ezra
CleverMouse wrote:Я устранила проблему с падением при выключении в r4278.
VMware Workstation - Подтверждаю, проблема исправлена.

Re: Динамическое определение дисковых устройств

Posted: Fri Jan 10, 2014 3:05 pm
by CleverMouse
В r4437 я написала новые функции fs_read64_sys/fs_read64_app и fs_write64_sys/fs_write64_app для файловых систем, которые принимают на вход 64-битный номер сектора и число секторов для чтения/записи. Старые функции fs_read32_sys/fs_read32_app и fs_write32_sys/fs_write32_app теперь следует считать устаревшими и не использовать в новом коде. Код файловых систем нужно поменять так, чтобы он объединял операции с подряд идущими секторами и кластерами в один вызов.
Пока этого не произошло, fs_read32_sys/fs_read32_app теперь при промахе кэша внутри себя читают CACHE_LEGACY_READ_SIZE секторов вместо одного, где константа CACHE_LEGACY_READ_SIZE = 16 секторов взята с потолка, в надежде - но без гарантий, - что пригодится. Если и правда пригождается - получается очень серьёзный выигрыш. Если нет - не повезло.

Re: Динамическое определение дисковых устройств

Posted: Sun Jan 12, 2014 10:41 pm
by dunkaist
В disk_cache.inc:252 push edi сдвигает структуру над esp.

Пока у себя поправил так:

Code: Select all

Index: disk_cache.inc
===================================================================
--- disk_cache.inc	(revision 4440)
+++ disk_cache.inc	(working copy)
@@ -250,7 +250,7 @@
 ; 12b. Prepare for the loop: save edi and create a local variable that
 ; stores number of sectors to be copied.
         push    edi
-        push    [.current_num_sectors]
+        push    [.current_num_sectors+4]
 .store_to_cache:
 ; 12c. For each sector, call the lookup function with adding to the cache, if not yet.
         mov     eax, [.sector_lo+.local_vars2_size+8]

Re: Динамическое определение дисковых устройств

Posted: Mon Jan 13, 2014 2:07 pm
by CleverMouse
Надо же, кто-то и правда начал использовать fs_read64_*! Да, фикс правильный, я закоммитила его в r4442.

Re: Динамическое определение дисковых устройств

Posted: Wed Feb 19, 2014 1:18 am
by Mario_r4
CleverMouse
В связи с не обсуждаемым и единоличным решением полностью выпилить документацию по ф.58.8 и ф.58.15, в SVN r. 4573, у меня возникли встречные вопросы:
1) Насколько взвешенным является решение удалять не очень востребованную, но тем не менее полезную функциональность ф.58.8 и ф.58.15 и планируется ли организация подобных сервисов в рамках ф.70 или любой другой функции?
2) Если, по второй части в.1 ответ утвердительный, то как планируется обеспечить ограничение использование доступа к записи LBA (я понимаю, что форматер вещь нужная) в случае попыток его деструктивного использования (например, если отдельные лица захотят заняться написанием вирусов)?