Насколько мне известно, вы не можете использовать IRQ или DMA, если вы находитесь в пользовательском режиме из linux и это руководство (заголовок 3), кажется, подтверждает это, однако после проверки Мне удалось найти этот драйвер Linux (udmabuf) , который позволяет вам обращаться к буферам DMA через пространство пользователя; Может быть, это то, что вы ищете?
В противном случае я мог бы попытаться написать аналогичную, но более настроенную версию (udmabuf) , специфичную для вашей цели.
Я не совсем уверен, для чего вы планируете его использовать, но первое, что я искал, это создание драйвера для того, что вы хотели сделать ( вот как начать работу с ALSA просто в качестве примера). По крайней мере, для общения на этом уровне, если вы не хотели заниматься разработкой собственной ОС? (Я думаю, что в конце концов так и будет, если вы действительно не сможете использовать драйверы для каких-либо целей)