| Форум программистов «Весельчак У» |
|
|||
| Начало | Помощь | Поиск | Календарь | Почта | Войти | Регистрация |
|
71
: 01-01-2025 15:32
|
||
| Автор Assol - Последний ответ от Люсь | ||
|
Интересный дискусс.
|
||
|
72
: 25-12-2024 14:08
|
||
| Автор WWX - Последний ответ от WWX | ||
|
Согласен.
Хотя, на мой взгляд, под Linux драйвера легче пишутся (несколько лет, правда, не писал таких...) А вот под user space лично мне кодить больше прёт именно под Windows. |
||
|
73
: 24-12-2024 16:18
|
||
| Автор WWX - Последний ответ от Ochkarik | ||
|
WWX, и я не линуксоид) каждый раз когда сталкиваюсь чисто пользовательски, на принтер прошивку поставить - меня в ужас приводит каждое действие, легко неделями разбираться надо каждым необходимым действием... один раз делал простейшие действия по инструкции, а она оказалась от другой версии ядра)
PS и да, иногда простейшее действия вызывают массу сложностей))) но зато документация все таки есть и подходит как правило начиная от 98-го до 10тки) |
||
|
74
: 24-12-2024 09:15
|
||
| Автор WWX - Последний ответ от WWX | ||
|
Похоже, что да – в Windows'е это делается только напрямую через конфигурационное пространство (просто в Linux'е для этой конкретной операции сделали отдельную ф-цию).
Спасибо за подсказку, будем выкручиваться... (PS: Я ни разу не линуксоид, и многие вещи мне больше нравятся как они сделаны в Windows'е, нежели в Linux'е. Но справедливости ради тот же доступ к конфигурационному пространству на Linux'е занимает несколько строк, а на Windows'е у меня в своё время занял несколько экранов кода... (Если не путаю, использовал метод "The BUS_INTERFACE_STANDARD bus interface", правда рабочую ссылку на статью, где это (на мой взгляд) более подробно разжёвано чё-то не могу найти, а то бы скинул; могла бы кому-нибудь пригодиться.)) |
||
|
75
: 23-12-2024 15:00
|
||
| Автор WWX - Последний ответ от Ochkarik | ||
|
WWX, ну так "отключение прерываний в линуксе" - не то же самое, как если вы сами в обработчике просто обрабатывать перестанете?
кроме того... ну вот возникнет в линуксе необработанное прерывание от замаскированного устрйосва. Завесит наглухо аппаратную линию. Отвалится другое устройство на этой линии, точнее ему все время валится чужое прерывание, система наглухо останется в обработчике аппаратного прерывания. И кто прав? ядро линукса которое такое в принципе позволяет для данной аппаратной платформы, или писатель драйвера который эту функцию применил не по делу(а почему нет, ядро же позволяет)? Я не помню, в PCI через конфиг-спейс можно прерывание маскировать? ЗЫ посмотрел, pci_intx() ставит отправляет команду в PCI регистр PCI_COMMAND устройства, в регистр конфигспейса. флаг PCI_COMMAND_INTX_DISABLE (1 << 10) /* INTx Emulation Disable */ а еще есть команда Код: static inline bool pci_intx_mask_supported(struct pci_dev *pdev) вроде можно самому https://learn.microsoft.com/en-us/windows-hardware/drivers/pci/accessing-pci-device-configuration-space |
||
|
76
: 21-12-2024 02:08
|
||
| Автор Ksereox - Последний ответ от Ksereox | ||
|
Вакансия всё ещё актуальна! Ждём ВАШИ заявки!
|
||
|
77
: 19-12-2024 13:31
|
||
| Автор WWX - Последний ответ от WWX | ||
|
Спасибо за ответ.
Я вот тоже что-то подумал, что это может быть не совсем правильно, т. к. в этом случае будут постоянно напрягаться обработчики драйверов других устройств, с которыми я разделяю линию прерывания. Про IoDisconnectInterrupt / IoConnectInterrupt тоже думал, но пришёл к выводу что это ещё более неправильно... Просто немного смущает: что иногда для того, что в Линуксе делается в 1 – 2 строки, в Винде приходится ужом вертеться... |
||
|
78
: 19-12-2024 11:16
|
||
| Автор WWX - Последний ответ от Ochkarik | ||
|
Доброго!
Давно этим не занимался, но по-моему не встречал такого способа... Линии ж аппаратные, к тому же могут быть расшарены между слотами/устройствами... Если мне не изменяет память. Если прерывание кто то выставил, то какой то зарегенный драйвер должен определить, что прерывание от его устройства и сказать целевой плате остановить выставление флага на этой линии, иначе кто ее остановит? там же LevelSensitive прерывания на PCI вроде были. может через регистры PCI config-space что то есть, но это наверное будет то же самое что вы уже делаете. ЗЫ ну можно обработчик отрегистрировать попробовать но вроде это только при загрузке/выкгрузке делается... и помоему оно упадет или зависнет, если обработчика не будет а прерывание возникнет. но могу ошибаться. |
||
|
79
: 18-12-2024 09:30
|
||
| Автор WWX - Последний ответ от WWX | ||
|
Доброго времени суток.
Есть ли ф-ция для оключения / включения обработки legacy прерываний от PCIe платы? (Аналог линуксовой ф-ции pci_intx) (Можно конечно отключать генерацию прерываний на самом устройстве (как я сейчас и делаю). Но хотелось бы понять, можно ли корректным способом "замаскировать" вызов обработчика в драйвере, не трогая устройство.) |
||
|
80
: 10-12-2024 18:18
|
||
| Автор NikVE - Последний ответ от NikVE | ||
|
Добрый день.
Обнаружил сильное замедление Ютуба оператором Мегафон - еще месяц назад свободно можно было смотреть ролики, а сейчас закачивает 5 секунд видео за 5 минут. Позвонил в службу поддержки, там сообщили, что "Ютуб сам себя замедляет". Следовательно - есть замедление со стороны Мегафона. На сообщение, что буду разрывать договор - сообщили, что болт клали на всех пользователей. Посему хочу спросить: есть ли такой мобильный оператор в РФ, кто еще не замедляет Ютуб? |
||