[Bug 342926] Re: No PCI IOMEM space available below 4GB
TJ
ubuntu at tjworld.net
Sat Mar 14 21:10:23 UTC 2009
** Summary changed:
- failed to load the nvidia kernel module
+ No PCI IOMEM space available below 4GB
** Description changed:
Binary package hint: nvidia-glx-180
+
+ "failed to load the nvidia kernel module"
This issue could affect all versions of the Nvidia proprietary drivers.
The symptoms are that users report that systems with Nvidia-based
graphics cards won't start the X server successfully. There are a wide
range of symptoms that don't immediately lead to the cause.
The fact the nvidia kernel module failed to load is the biggest clue.
Check dmesg and /var/log/kern.log for something along these lines:
[ 20.137717] nvidia: module license 'NVIDIA' taints kernel.
[ 20.412849] ACPI: PCI Interrupt Link [LNEB] enabled at IRQ 18
[ 20.412858] nvidia 0000:02:00.0: PCI INT A -> Link[LNEB] -> GSI 18 (level, low) -> IRQ 18
[ 20.412862] NVRM: This PCI I/O region assigned to your NVIDIA device is invalid:
[ 20.412862] NVRM: BAR1 is 256M @ 0x30000000 (PCI:0002:00.0)
[ 20.412865] NVRM: This is a 64-bit BAR mapped above 4GB by the system BIOS or
[ 20.412865] NVRM: Linux kernel. The NVIDIA Linux graphics driver and other
[ 20.412866] NVRM: system software do not currently support this configuration
[ 20.412867] NVRM: reliably.
[ 20.412872] nvidia: probe of 0000:02:00.0 failed with error -1
[ 20.412887] NVRM: The NVIDIA probe routine failed for 1 device(s).
[ 20.412889] NVRM: None of the NVIDIA graphics adapters were initialized!
The reason is that the video chipset's PCI IOMEM RAM (in this case
256MB) cannot be allocated in the PCI IOMEM region from 3GB-4GB since
other devices have already been given assignments that mean there isn't
a 256MB gap available on a 256MB boundary - in other words, either at
3GB or 3.25GB.
The host system has 4GB of system RAM which causes the kernel to prevent
the use of the 3GB-3.25GB range, and other allocations prevent the use
other ranges.
A temporary work-around is to alter the BIOS video IOMEM position to
below 4GB (on 64-bit architectures) or reduce the system's RAM to 2GB to
leave sufficient free space.
+
+ For the last year I've had an ongoing project to write a completely new
+ PCI IOMEM system for the Linux kernel. I've added the mainline bug
+ report that triggered the development to this report. Additionally, here
+ is a link to my Wiki describing the issue and solutions.
+
+ http://tjworld.net/wiki/Linux/PCIDynamicResourceAllocationManagement
** Also affects: linux (Ubuntu)
Importance: Undecided
Status: New
** Bug watch added: Linux Kernel Bug Tracker #10461
http://bugzilla.kernel.org/show_bug.cgi?id=10461
** Also affects: linux via
http://bugzilla.kernel.org/show_bug.cgi?id=10461
Importance: Unknown
Status: Unknown
** Description changed:
Binary package hint: nvidia-glx-180
- "failed to load the nvidia kernel module"
+ This can affect almost all releases (6.10 7.04, 7.10, 8.04, 8.10, 9.04+)
- This issue could affect all versions of the Nvidia proprietary drivers.
+ It usually only shows up dramatically with video cards that have large
+ memory (e.g. 256MB) and on systems that
+
+ a) have 3GB or more RAM and/or
+ b) have 64-bit CPUs on 32-bit northbridge chipsets (e.g. Intel 945)
+
+ Typical symptom: "failed to load the nvidia kernel module"
+
+ This issue could affect all versions of the Nvidia proprietary drivers
+ and others.
The symptoms are that users report that systems with Nvidia-based
graphics cards won't start the X server successfully. There are a wide
range of symptoms that don't immediately lead to the cause.
The fact the nvidia kernel module failed to load is the biggest clue.
Check dmesg and /var/log/kern.log for something along these lines:
[ 20.137717] nvidia: module license 'NVIDIA' taints kernel.
[ 20.412849] ACPI: PCI Interrupt Link [LNEB] enabled at IRQ 18
[ 20.412858] nvidia 0000:02:00.0: PCI INT A -> Link[LNEB] -> GSI 18 (level, low) -> IRQ 18
[ 20.412862] NVRM: This PCI I/O region assigned to your NVIDIA device is invalid:
[ 20.412862] NVRM: BAR1 is 256M @ 0x30000000 (PCI:0002:00.0)
[ 20.412865] NVRM: This is a 64-bit BAR mapped above 4GB by the system BIOS or
[ 20.412865] NVRM: Linux kernel. The NVIDIA Linux graphics driver and other
[ 20.412866] NVRM: system software do not currently support this configuration
[ 20.412867] NVRM: reliably.
[ 20.412872] nvidia: probe of 0000:02:00.0 failed with error -1
[ 20.412887] NVRM: The NVIDIA probe routine failed for 1 device(s).
[ 20.412889] NVRM: None of the NVIDIA graphics adapters were initialized!
The reason is that the video chipset's PCI IOMEM RAM (in this case
256MB) cannot be allocated in the PCI IOMEM region from 3GB-4GB since
other devices have already been given assignments that mean there isn't
a 256MB gap available on a 256MB boundary - in other words, either at
3GB or 3.25GB.
The host system has 4GB of system RAM which causes the kernel to prevent
the use of the 3GB-3.25GB range, and other allocations prevent the use
other ranges.
A temporary work-around is to alter the BIOS video IOMEM position to
below 4GB (on 64-bit architectures) or reduce the system's RAM to 2GB to
leave sufficient free space.
For the last year I've had an ongoing project to write a completely new
PCI IOMEM system for the Linux kernel. I've added the mainline bug
report that triggered the development to this report. Additionally, here
is a link to my Wiki describing the issue and solutions.
http://tjworld.net/wiki/Linux/PCIDynamicResourceAllocationManagement
--
No PCI IOMEM space available below 4GB
https://bugs.launchpad.net/bugs/342926
You received this bug notification because you are a member of Kernel
Bugs, which is subscribed to Linux.
More information about the kernel-bugs
mailing list