[Bug 342926] Re: No PCI IOMEM space available below 4GB

TJ ubuntu at tjworld.net
Sat Mar 14 21:26:24 UTC 2009


** Description changed:

  Binary package hint: nvidia-glx-180
  
  This can affect almost all releases (6.10 7.04, 7.10, 8.04, 8.10, 9.04+)
  
  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)
+ b) have 64-bit CPUs on 32-bit north-bridge 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.
  
+ Recently I've seen several users in IRC #ubuntu asking for help but
+ without solving the issue. When I saw Keith Dewitt asking the same
+ question on 2009-03-14 I arranged with him to access his system via SSH
+ and a multiuser screen session to diagnose the issue. Keith was very
+ patient and supportive and his assistance led directly to this
+ discovery.
+ 
+ There are also threads on the nvidia forums with the same issues.
+ 
  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.
+ range of reports that don't immediately pin-point 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.
+ Also check /var/log/Xorg.0.log for this tell-tale:
+ 
+ (--) PCI:*(0 at 2:0:0) nVidia Corporation GeForce 8400 GS rev 161, Mem @ 0xfd000000
+ /16777216, 0x130000000/268435456, 0xfa000000/33554432, I/O @ 0x0000ec00/128, BIO
+ S @ 0x????????/131072
+ 
+ Notice that the video card's IOMEM allocation is at 0x300000000 (5GB).
+ 
+ The reason for the failure is that the video chipset's PCI IOMEM RAM (in
+ this case 256MB) cannot be allocated in the PCI IOMEM region below $GB
+ (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