Page 1 of 1

Рефакторинг IDE драйвера

Posted: Mon Jul 22, 2024 11:12 pm
by Doczom
Продолжение рефакторинга файловой подсистемы ОС. Данные изменения происходят в "rewrite_ide_drv" ветке основного репозитория.
На данный момент уже изменена инициализация flp_drv, и флоппи диски не видны через системную функцию 18.11.

Причина внесения дальнейших изменений: Унификация интерфейсов для работы с дисковыми устройствами и очистка кода ядра. Удаление устаревших системных функций и структур ядра.

План:
  • Изменение процесса инициализации IDE устройств:
    • Удаление DRIVE_DATA
    • Добавление дисков по окончанию инициализации каждого IDE контроллера
    • Изменение структуры IDE_DATA, Добавление новой структуры IDE_CHANNEL, включающую в себя поля из IDE_DATA и IDE_DEVICE
  • Изменения в hd_drv:
    • Расширение структуры HD_DATA
  • По cd_drv:
    • Написание нового драйвера на базе существующего кода(То что есть сейчас читается и выявляется команды к железу, а остальное всё новое)
    • Создание структуры СD_DATA, совместимой с HD_DATA (чтобы второй статический массив структур не добавлять)
    • Перевод обработки событий извлечения/загрузки носителя на таймер(один atapi привод на один обработчик таймера, знаю - много, но и так сойдёт)
    • Продолжение использования PIO для ATAPI дисководов.
  • По iso9660:
    • Полное удаление старого драйвера
    • Очистка кода fs/fs_lfn.inc
  • По системным функциям:
    • Добавление системной функции для извлечения/загрузки носителя по имени диска
    • Удаление системной функции 18.11
Если есть возражения, пожелания или ещё что-то, то пишите. Патч будет готов не раньше чем через месяц. За это время можно переписать все действующие программы использующие 18.11.