On my system, with kernel 3.13.0-32-generic (Ubuntu Server 14.04.1 LTS) installed, one of the PCIe boards in the system (06:00.0) is having it's memory regions ignored:
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)
In 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]
When I subsequently try and access the board via it's kernel module, it doesn't work of course.
If I install Debian 7.5 or 7.8 on the system without changing anything else, everything works fine:
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]
So, the hardware is fine and the issue is a combination of kernel version and the hardware.
Ubuntu kernel: 3.13.0-32-generic
Debian kernel: 3.2.0-4-amd64/
What can I do to get this working under 3.13.0-32-generic i.e. make the memory regions not be ignored?
I've tried the following with no success:
- kernel versions 3.13.11-03131111-generic and 3.16
- setting the kernel parameter mem=2048M
Many thanks!