Page 3 of 3

Re: User-accessible MMIO

Posted: Sun Apr 12, 2020 7:01 pm
by rgimad
А вот и "хакнутая" версия pci32 )) Мне показалось не очень удобным перекомпилировать ядро для разных констант bdf и сделал чтобы через pci_mmio_init можно было изменять адрес нужного устройства ) Понимаю что это нехорошо с точки зрения безопасности, это чисто для экспериментов с устройствами.

Re: User-accessible MMIO

Posted: Sun Apr 12, 2020 7:37 pm
by art_zh
ага, можно и так.
только в транк такое заливать строго противопоказано.

главной причиной хардкодинга mmio_pci_addr в закомментированной части модуля было именно это (относительное) неудобство перекомпиляции
- юзеру надо было немного поработать своей головой и ручками.

Если получилось - значит осознавал что делает (и зачем).
В случае чего - администрация ответственности за последствия не несёт

PS: ещё раньше подобный дисклаймер-подход использовал diamond в своём классическом загрузчике Колибри.
официально поддерживалась загрузка только с флешки, но если захотелось с жёсткого диска - раскомментируй одну строчку исходного кода

PS2: чуть позже я изменил дисклаймер. Весь экспериментальный и небезопасный для криворуких юзеров код был вынесен в отдельный бранч Колибри-А.
Там вся система была жёстко привязана к конкретной аппаратной платформе AMD R780, а потом и к Fusion APU с графическими видеорежимами Radeon Atom BIOS.
На Интелах она просто не запускалась, а с NVIDIA-картами не работала графика.

В Колибри-А ты можешь найти инструменты для работы с расширенным конфигурационным пространством PCI Express
и кучу утилит для отладки внутренних регистров мостов, APIC, GPU и многое другое по мелочи.