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)
{
/*
* INTx masking is supported if PCI_COMMAND_INTX_DISABLE is
* writable and no quirk has marked the feature broken.
*/
return !pdev->broken_intx_masking;
}
вроде можно самому
https://learn.microsoft.com/en-us/windows-hardware/drivers/pci/accessing-pci-device-configuration-space