View Single Post
Old 01-12-08, 03:42 PM   #1
cksony1
Registered User
 
Join Date: Jan 2008
Posts: 5
Default >=3G installed crashes X server due to simplistic PCI allocation by kernel

Apologies for posting this issue as a new thread while having stated it in another thread, but I felt I should bring it to the attention of nvidia and kernel developers by starting a new thread with an appropriate title.

I'm running an AMD 64bit system with 4G memory and a GeForce Go 7600 (128M onboard) installed. With any nvidia drivers, my X server keeps crashing on startup or gives a black screen. Everything works fine with 2G installed. I traced the problem down to this issue:

When 2G are installed, this is how things basically look:
00000000 - 7FFFFFFF main memory
80000000 - AFFFFFFF system components
B0000000 - BFFFFFFF GeForce (256M)
C0000000 - CFFFFFFF free or system components
D0000000 - D1FFFFFF GeForce (32M)
D2FFFFFF - DFFFFFFF free or system components
E0000000 - FFFFFFFF reserved by the BIOS, don't know why.
Everything ok here.

When 4G are installed, things get crowded:
00000000 - BFFFFFFF main memory (3G only, as usual)
C0000000 - CFFFFFFF system components
D0000000 - D1FFFFFF GeForce (32M)
D2FFFFFF - DFFFFFFF free or system components
E0000000 - FFFFFFFF reserved by the BIOS, don't know why.

Due to lack of sufficiently large free address space for the 256M chunk, PCI allocation fails (kernel log says so, too) and the kernel reprograms the chunk to start at 100000000, which is not a 32bit address anymore. That again is a problem for the X server, which attempts to correct the memory allocation in vain, and fails or crashes.

So, some questions:

- I have 128M video memory, and an AGP aperture of 256M (at least in Vista, the Notebook BIOS doesn't tell it), so why does it allocate 32M + 256M ?

- Could I patch my kernel much in the same manner as has been suggested in the related thread titled dual-channel RAMs, to allocate 256M at C0000000-CFFFFFFF, prior to allocation of other PCI devices ? This is what Vista does, as I can tell from the device resources in the hardware manager.

Best regards,
Chris
cksony1 is offline   Reply With Quote