В моей системе с установленным ядром 3.13.0-32-generic (Ubuntu Server 14.04.1 LTS) на одной из плат PCIe в системе (06: 00.0) игнорируются области памяти:
Interrupt: pin A routed to IRQ 10
Region 0: Memory at <ignored> (32-bit, non-prefetchable)
Region 2: Memory at <ignored> (32-bit, non-prefetchable)
В dmesg:
me@system:~$ dmesg | grep 06:00.0
[ 1.326963] pci 0000:06:00.0: [ad00:0122] type 00 class 0x000000
[ 1.326979] pci 0000:06:00.0: reg 0x10: [mem 0xf7400000-0xf74001ff]
[ 1.327000] pci 0000:06:00.0: reg 0x18: [mem 0xf7200000-0xf73fffff]
Когда я впоследствии пытаюсь получить доступ к плате через модуль ядра, это, конечно, не работает.
Если я установлю Debian 7.5 или 7.8 в систему, ничего не меняя, все будет работать нормально:
Debian:
Interrupt: pin A routed to IRQ 17
Region 0: Memory at f7400000 (32-bit, non-prefetchable)
Region 2: Memory at f7200000 (32-bit, non-prefetchable)
me@system:~$ dmesg | grep 06:00.0
[ 1.438114] pci 0000:06:00.0: [ad00:0122] type 0 class 0x000000
[ 1.438130] pci 0000:06:00.0: reg 10: [mem 0xf7400000-0xf74001ff]
[ 1.438151] pci 0000:06:00.0: reg 18: [mem 0xf7200000-0xf73fffff]
Итак, с оборудованием все в порядке, и проблема заключается в комбинации версии ядра и оборудования.
Ядро Ubuntu: 3.13.0-32-generic
Ядро Debian: 3.2.0-4-amd64 /
Что я могу сделать, чтобы это работало под 3.13.0-32-generic, т.е. чтобы области памяти не игнорировались?
Я безуспешно пробовал следующее:
Большое спасибо!