Re: >=3G installed crashes X server due to simplistic PCI allocation by kernel
Ok, this was my very first linux kernel hack.
I went to arch/i386/pci/i386.c and hacked the PCI address allocation code as suggested in the other thread. I polled for the wrong address range B0000000-BFFFFFFF and replaced it by C0000000-CFFFFFFF. The other devices that come later on the bus list fail to allocate, but are properly reallocated by the code that cares about unassigned PCI devices.
My X server now starts properly with 4GB installed and I have MemTotal=3021M in proc/meminfo.
The lesson to be learned probably is that the kernel's PCI assignment code should care even more than it already does about wrong BIOS settings in the case that much main memory is installed.
To those of you who are more familiar with the usual way of doing things than me: What would be the best way to make kernel developers aware of the issue ? I'm sure a lot of folks will run into it, given the low DRAM prices.
It would also be nice if further nvidia drivers could at least catch the issue with addresses >4G getting assigned to the PCI device, and print a suitable message.
Thanks for reading this :-)