Рефакторинг IDE драйвера
Posted: Mon Jul 22, 2024 11:12 pm
Продолжение рефакторинга файловой подсистемы ОС. Данные изменения происходят в "rewrite_ide_drv" ветке основного репозитория.
На данный момент уже изменена инициализация flp_drv, и флоппи диски не видны через системную функцию 18.11.
Причина внесения дальнейших изменений: Унификация интерфейсов для работы с дисковыми устройствами и очистка кода ядра. Удаление устаревших системных функций и структур ядра.
План:
На данный момент уже изменена инициализация 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